pi_state
if (pii->pii_phyint->pi_state != PI_OFFLINE) {
pii->pii_phyint->pi_state);
if (pii->pii_phyint->pi_state == PI_OFFLINE)
if (pii->pii_phyint->pi_state == PI_NOTARGETS)
if (pii->pii_phyint->pi_state == PI_RUNNING)
(pi->pi_state == PI_FAILED ||
pi->pi_state == PI_NOTARGETS)) {
pii->pii_phyint->pi_state == PI_FAILED)
boolean_t onlining = (pi->pi_state == PI_OFFLINE);
boolean_t initial = (pi->pi_state == PI_INIT);
if (pi->pi_state == PI_OFFLINE) {
if (pi->pi_state != PI_OFFLINE) {
if (pi2->pi_state == PI_OFFLINE) /* see comment above */
if (pi2->pi_state == PI_RUNNING)
if (pi->pi_state == PI_FAILED && LINK_UP(pi)) {
switch (pii->pii_phyint->pi_state) {
pii->pii_phyint->pi_state);
if ((pi->pi_state == PI_RUNNING) ||
(pi->pi_state != PI_FAILED && !GROUP_FAILED(pi->pi_group))) {
if ((pi2->pi_state == PI_RUNNING) &&
(pi2->pi_state == PI_RUNNING) &&
(pi2->pi_state == PI_RUNNING) &&
if (pi2->pi_state == PI_OFFLINE &&
if (pi->pi_state == PI_RUNNING)
if (pi->pi_state == PI_FAILED)
(GROUP_FAILED(pg) && pi2->pi_state != PI_OFFLINE))
if (pi->pi_state != PI_OFFLINE) {
if (pi->pi_state == PI_NOTARGETS && PROBE_CAPABLE(pii)) {
pii->pii_phyint->pi_state != PI_OFFLINE)
if (pi->pi_state == PI_RUNNING)
return (pi->pi_state == PI_NOTARGETS && !(pi->pi_flags & IFF_FAILED));
switch (pi->pi_state) {
logerr("ifstate: unknown state %d; aborting\n", pi->pi_state);
if (pi->pi_state == PI_FAILED)
pi->pi_state = PI_INIT;
phyint_chstate(struct phyint *pi, enum pi_state state)
if (pi->pi_state == state)
pi->pi_state = state;
enum pi_state pi_state; /* State of the phyint */
#define pii_state pii_phyint->pi_state
extern void phyint_chstate(struct phyint *pi, enum pi_state state);
pi->pi_state |= PI_PRESENT;
(pi->pi_state & PI_PRESENT)) {
pi->pi_state |= PI_PRESENT;
pi->pi_state = 0;
pi->pi_state |= PI_JOINED_ALLNODES;
pi->pi_state |= PI_JOINED_ALLROUTERS;
pi->pi_name, pi->pi_index, pi->pi_state, pi->pi_kernel_state,
uint_t pi_state; /* PI_* below */
pi->pi_state |= ST_MARKED;
pi->pi_state &= ~ST_MARKED;
if (pi->pi_state & ST_MARKED) {
pi->pi_state |= ST_DELETED;
if (!(pi->pi_state & ST_DELETED))
if (pi->pi_state & ST_DELETED) {
if (pi->pi_state & ST_DELETED)
pi->pi_name, pi->pi_state);
if ((!(li->li_physical->pi_state & ST_JOINED)) &&
li->li_physical->pi_state |= ST_JOINED;
assert(pi->pi_state & ST_JOINED);
li->li_physical->pi_state &= ~ST_JOINED;
pi->pi_state |= ST_JOINED;
int pi_state; /* See below */
pstate2str(int pi_state)
switch (pi_state) {
pstate2str(cpu_info.pi_state) : "unknown";
devinfo_pathinfo_state(pi.pi_state);
switch (pi.pi_state & MDI_PATHINFO_STATE_MASK) {
di_path_state_t pi_state;
if ((pi_state = di_path_state(pi_node)) == DI_PATH_STATE_OFFLINE) {
if (pi_state == DI_PATH_STATE_FAULT) {
di_path_state_t pi_state;
if (((pi_state = di_path_state(pi_node)) != DI_PATH_STATE_ONLINE) &&
(pi_state != DI_PATH_STATE_STANDBY)) {
(((pi_state = di_path_state(next_pi)) ==
pi_state == DI_PATH_STATE_STANDBY)) {
int pi_state; /* acceptable starting state */
dl_pinfo[DL_ATTACH_REQ].pi_state = DL_UNATTACHED;
dl_pinfo[DL_DETACH_REQ].pi_state = DL_UNBOUND;
dl_pinfo[DL_BIND_REQ].pi_state = DL_UNBOUND;
dl_pinfo[DL_UNBIND_REQ].pi_state = DL_IDLE;
dl_pinfo[DL_INFO_REQ].pi_state = -1; /* special handling */
dl_pinfo[DL_UNITDATA_REQ].pi_state = DL_IDLE;
dl_pinfo[DL_PROMISCON_REQ].pi_state = -1; /* special handling */
dl_pinfo[DL_PROMISCOFF_REQ].pi_state = -1; /* special handling */
dl_pinfo[DL_PHYS_ADDR_REQ].pi_state = -1; /* special handling */
} else if (dpi->pi_state != -1 &&
sps->sps_dlstate != dpi->pi_state) {
sps->sps_dlstate, dpi->pi_state, prim));
mdi_pathinfo_state_t pi_state;
(void) mdi_pi_get_state2(npip, &pi_state, &pi_ext_state);
if (pi_state == MDI_PATHINFO_STATE_STANDBY) {
if (pi_state == MDI_PATHINFO_STATE_ONLINE) {
const char *pi_state;
pi_state = cpu_get_state_str(cp->cpu_flags);
(void) strcpy(cpu_info_template.ci_state.value.c, pi_state);
cpu->cpu_type_info.pi_state = cpu_get_state(cpu);
if ((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK)
else if ((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK)
if (MDI_PI(pip)->pi_state ==
} else if (MDI_PI(pip)->pi_state ==
(MDI_PI(pip)->pi_state ==
if ((MDI_PI(pip)->pi_state == MDI_PATHINFO_STATE_INIT) ||
if ((MDI_PI(pip)->pi_state ==
cond = ((MDI_PI(pip)->pi_state ==
cond = ((MDI_PI(pip)->pi_state ==
cond = ((MDI_PI(pip)->pi_state ==
cond = (((MDI_PI(pip)->pi_state ==
(MDI_PI(pip)->pi_state ==
cond = (((MDI_PI(pip)->pi_state ==
(MDI_PI(pip)->pi_state ==
(MDI_PI(pip)->pi_state ==
(MDI_PI(pip)->pi_state ==
cond = (((MDI_PI(pip)->pi_state ==
(MDI_PI(pip)->pi_state ==
MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_INIT |
MDI_PI(pip)->pi_state = MDI_PI_OLD_STATE(pip);
MDI_PI(pip)->pi_state =
MDI_PI(pip)->pi_state = MDI_PI_OLD_STATE(pip);
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK;
MDI_PI(pip)->pi_state = state;
MDI_PI(pip)->pi_state |= ext_state;
if (cpi->cpi_pip->pi_state == MDI_PATHINFO_STATE_ONLINE)
ASSERT(MDI_PI(pip)->pi_state);
mdi_pathinfo_state_t pi_state; /* path state */
(MDI_PI((pip))->pi_state & MDI_PATHINFO_STATE_MASK)
(MDI_PI((pip))->pi_state & MDI_PATHINFO_EXT_STATE_MASK)
MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_TRANSIENT; }
MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_TRANSIENT; }
(MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_TRANSIENT)
MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_USER_DISABLE; }
MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_DRV_DISABLE; }
MDI_PI(pip)->pi_state |= MDI_PATHINFO_STATE_DRV_DISABLE_TRANSIENT; }
MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_USER_DISABLE; }
MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_DRV_DISABLE; }
MDI_PI(pip)->pi_state &= ~MDI_PATHINFO_STATE_DRV_DISABLE_TRANSIENT; }
(MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_USER_DISABLE)
(MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_DRV_DISABLE)
(MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_DRV_DISABLE_TRANSIENT)
((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
((MDI_PI(pip)->pi_state & ~MDI_PATHINFO_EXT_STATE_MASK) == \
MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_INIT; }
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = \
MDI_PI(pip)->pi_state |= ext_state; }
((MDI_PI(pip)->pi_state & ~MDI_PATHINFO_EXT_STATE_MASK) == \
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_ONLINE; \
MDI_PI(pip)->pi_state |= ext_state; }
((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = \
MDI_PI(pip)->pi_state |= ext_state; }
((MDI_PI(pip)->pi_state & ~MDI_PATHINFO_EXT_STATE_MASK) == \
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_OFFLINE; \
MDI_PI(pip)->pi_state |= ext_state; }
((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = \
MDI_PI(pip)->pi_state |= ext_state; }
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_STANDBY; \
MDI_PI(pip)->pi_state |= ext_state; }
((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = \
MDI_PI(pip)->pi_state |= ext_state; }
ext_state = MDI_PI(pip)->pi_state & MDI_PATHINFO_EXT_STATE_MASK; \
MDI_PI(pip)->pi_state = MDI_PATHINFO_STATE_FAULT; \
MDI_PI(pip)->pi_state |= ext_state; }
((MDI_PI(pip)->pi_state & MDI_PATHINFO_STATE_MASK) == \
int pi_state; /* processor state, see above */