Changeset View
Changeset View
Standalone View
Standalone View
sys/net80211/ieee80211_input.c
Show First 20 Lines • Show All 277 Lines • ▼ Show 20 Lines | ieee80211_deliver_data(struct ieee80211vap *vap, | ||||
KASSERT(vap->iv_opmode != IEEE80211_M_HOSTAP, ("gack, hostap")); | KASSERT(vap->iv_opmode != IEEE80211_M_HOSTAP, ("gack, hostap")); | ||||
/* | /* | ||||
* Do accounting. | * Do accounting. | ||||
*/ | */ | ||||
if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); | if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); | ||||
IEEE80211_NODE_STAT(ni, rx_data); | IEEE80211_NODE_STAT(ni, rx_data); | ||||
IEEE80211_NODE_STAT_ADD(ni, rx_bytes, m->m_pkthdr.len); | IEEE80211_NODE_STAT_ADD(ni, rx_bytes, m->m_pkthdr.len); | ||||
if (ETHER_IS_MULTICAST(eh->ether_dhost)) { | if (ETHER_IS_MULTICAST(eh->ether_dhost)) { | ||||
m->m_flags |= M_MCAST; /* XXX M_BCAST? */ | if (ETHER_IS_BROADCAST(eh->ether_dhost)) | ||||
m->m_flags |= M_BCAST; | |||||
else | |||||
m->m_flags |= M_MCAST; | |||||
IEEE80211_NODE_STAT(ni, rx_mcast); | IEEE80211_NODE_STAT(ni, rx_mcast); | ||||
} else | } else | ||||
IEEE80211_NODE_STAT(ni, rx_ucast); | IEEE80211_NODE_STAT(ni, rx_ucast); | ||||
m->m_pkthdr.rcvif = ifp; | m->m_pkthdr.rcvif = ifp; | ||||
if (ni->ni_vlan != 0) { | if (ni->ni_vlan != 0) { | ||||
/* attach vlan tag */ | /* attach vlan tag */ | ||||
m->m_pkthdr.ether_vtag = ni->ni_vlan; | m->m_pkthdr.ether_vtag = ni->ni_vlan; | ||||
▲ Show 20 Lines • Show All 684 Lines • Show Last 20 Lines |