Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ixgbe/if_ix.c
Show First 20 Lines • Show All 3,288 Lines • ▼ Show 20 Lines | ixgbe_if_multi_set(if_ctx_t ctx) | ||||
mta = adapter->mta; | mta = adapter->mta; | ||||
bzero(mta, sizeof(*mta) * MAX_NUM_MULTICAST_ADDRESSES); | bzero(mta, sizeof(*mta) * MAX_NUM_MULTICAST_ADDRESSES); | ||||
mcnt = if_foreach_llmaddr(iflib_get_ifp(ctx), ixgbe_mc_filter_apply, | mcnt = if_foreach_llmaddr(iflib_get_ifp(ctx), ixgbe_mc_filter_apply, | ||||
adapter); | adapter); | ||||
fctrl = IXGBE_READ_REG(&adapter->hw, IXGBE_FCTRL); | fctrl = IXGBE_READ_REG(&adapter->hw, IXGBE_FCTRL); | ||||
fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); | |||||
if (ifp->if_flags & IFF_PROMISC) | if (ifp->if_flags & IFF_PROMISC) | ||||
fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); | fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); | ||||
else if (mcnt >= MAX_NUM_MULTICAST_ADDRESSES || | else if (mcnt >= MAX_NUM_MULTICAST_ADDRESSES || | ||||
ifp->if_flags & IFF_ALLMULTI) { | ifp->if_flags & IFF_ALLMULTI) { | ||||
fctrl |= IXGBE_FCTRL_MPE; | fctrl |= IXGBE_FCTRL_MPE; | ||||
fctrl &= ~IXGBE_FCTRL_UPE; | fctrl &= ~IXGBE_FCTRL_UPE; | ||||
} else | } else | ||||
fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); | fctrl &= ~(IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); | ||||
▲ Show 20 Lines • Show All 1,298 Lines • Show Last 20 Lines |