in6m_st
--inm->in6m_st[1].iss_in;
--inm->in6m_st[1].iss_ex;
--inm->in6m_st[1].iss_in;
inm->in6m_st[1].iss_ex++;
inm->in6m_st[1].iss_in++;
if (inm->in6m_st[1].iss_ex > 0) {
inm->in6m_st[1].iss_fmode = MCAST_EXCLUDE;
} else if (inm->in6m_st[1].iss_in > 0) {
inm->in6m_st[1].iss_fmode = MCAST_INCLUDE;
inm->in6m_st[1].iss_fmode = MCAST_UNDEFINED;
--inm->in6m_st[1].iss_asm;
inm->in6m_st[1].iss_asm++;
inm->in6m_st[0] = inm->in6m_st[1];
fmode = inm->in6m_st[1].iss_fmode;
in6m_mode_str(inm->in6m_st[t].iss_fmode),
inm->in6m_st[t].iss_asm,
inm->in6m_st[t].iss_ex,
inm->in6m_st[t].iss_in,
inm->in6m_st[t].iss_rec);
inm->in6m_st[0].iss_fmode = MCAST_UNDEFINED;
inm->in6m_st[1].iss_fmode = MCAST_UNDEFINED;
--inm->in6m_st[1].iss_rec;
KASSERT(inm->in6m_st[1].iss_rec == 0,
("%s: iss_rec %d not 0", __func__, inm->in6m_st[1].iss_rec));
++inm->in6m_st[1].iss_rec;
} in6m_st[2]; /* state at t0, t1 */
if (inm->in6m_st[t].iss_ex > 0 &&
inm->in6m_st[t].iss_ex == ims->im6s_st[t].ex)
if (inm->in6m_st[1].iss_fmode != inm->in6m_st[0].iss_fmode) {
inm->in6m_st[0].iss_fmode, inm->in6m_st[1].iss_fmode);
if (inm->in6m_st[0].iss_fmode == MCAST_UNDEFINED) {
} else if (inm->in6m_st[1].iss_fmode == MCAST_UNDEFINED) {
inm->in6m_st[1].iss_fmode = MCAST_UNDEFINED;
mode = inm->in6m_st[1].iss_fmode;
if (inm->in6m_st[0].iss_asm > 0 && inm->in6m_st[1].iss_asm > 0 &&
if (mode != inm->in6m_st[0].iss_fmode) {
KASSERT(inm->in6m_st[1].iss_asm == 0,
__func__, inm, inm->in6m_st[1].iss_asm));
(inm->in6m_st[0].iss_asm > 0 && inm->in6m_st[1].iss_asm > 0))
mode = inm->in6m_st[1].iss_fmode; /* filter mode at t1 */