Index: sys/net/if_ethersubr.c =================================================================== --- sys/net/if_ethersubr.c +++ sys/net/if_ethersubr.c @@ -386,6 +386,8 @@ struct ether_header *eh; u_short etype; + IFRSTAT_INC(m, ifrs_ether); + if ((ifp->if_flags & IFF_UP) == 0) { m_freem(m); return; @@ -662,6 +664,7 @@ * so assert it is correct here. */ KASSERT(m->m_pkthdr.rcvif == ifp, ("%s: ifnet mismatch", __func__)); + IFRSTAT_INC(m, ifrs_ifinput); netisr_dispatch(NETISR_ETHER, m); m = mn; } Index: sys/net/netisr.c =================================================================== --- sys/net/netisr.c +++ sys/net/netisr.c @@ -761,6 +761,7 @@ local_npw.nw_len--; VNET_ASSERT(m->m_pkthdr.rcvif != NULL, ("%s:%d rcvif == NULL: m=%p", __func__, __LINE__, m)); + IFRSTAT_INC(m, ifrs_netisr); CURVNET_SET(m->m_pkthdr.rcvif->if_vnet); netisr_proto[proto].np_handler(m); CURVNET_RESTORE(); Index: sys/netinet/ip_input.c =================================================================== --- sys/netinet/ip_input.c +++ sys/netinet/ip_input.c @@ -403,6 +403,7 @@ struct in_addr odst; /* original dst address */ M_ASSERTPKTHDR(m); + IFRSTAT_INC(m, ifrs_ip); if (m->m_flags & M_FASTFWD_OURS) { m->m_flags &= ~M_FASTFWD_OURS; Index: sys/netinet/tcp_input.c =================================================================== --- sys/netinet/tcp_input.c +++ sys/netinet/tcp_input.c @@ -629,6 +629,7 @@ *mp = NULL; to.to_flags = 0; TCPSTAT_INC(tcps_rcvtotal); + IFRSTAT_INC(m, ifrs_tcp); #ifdef INET6 if (isipv6) { Index: sys/netinet/udp_usrreq.c =================================================================== --- sys/netinet/udp_usrreq.c +++ sys/netinet/udp_usrreq.c @@ -408,6 +408,7 @@ ifp = m->m_pkthdr.rcvif; *mp = NULL; UDPSTAT_INC(udps_ipackets); + IFRSTAT_INC(m, ifrs_udp); /* * Strip IP options, if any; should skip this, make available to Index: sys/netinet6/ip6_input.c =================================================================== --- sys/netinet6/ip6_input.c +++ sys/netinet6/ip6_input.c @@ -418,6 +418,8 @@ #endif /* IPSEC */ + IFRSTAT_INC(m, ifrs_ip6); + if (m->m_flags & M_FASTFWD_OURS) { /* * Firewall changed destination to local. Index: sys/netinet6/udp6_usrreq.c =================================================================== --- sys/netinet6/udp6_usrreq.c +++ sys/netinet6/udp6_usrreq.c @@ -223,6 +223,7 @@ #endif UDPSTAT_INC(udps_ipackets); + IFRSTAT_INC(m, ifrs_udp); /* * Destination port of 0 is illegal, based on RFC768.