Index: sys/dev/re/if_re.c =================================================================== --- sys/dev/re/if_re.c +++ sys/dev/re/if_re.c @@ -1231,6 +1231,7 @@ .ifat_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST, .ifat_capabilities = IFCAP_LINKSTATE, .ifat_mediamask = MII_MEDIA_MASK, + .ifat_nrings = 1, }; u_char eaddr[ETHER_ADDR_LEN]; u_int16_t as[ETHER_ADDR_LEN / 2]; @@ -2153,6 +2154,7 @@ { struct mbuf *m; if_t ifp; + ifring_t *ifrs, ifr; int i, rxerr, total_len; struct rl_desc *cur_rx; u_int32_t rxstat, rxvlan; @@ -2161,6 +2163,8 @@ RL_LOCK_ASSERT(sc); ifp = sc->rl_ifp; + ifrs = if_getsoftc(ifp, IF_RING); + ifr = ifrs[0]; #ifdef DEV_NETMAP if (netmap_rx_irq(ifp, 0, &rx_npkts)) return 0; @@ -2322,6 +2326,7 @@ if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); if_inc_counter(ifp, IFCOUNTER_IBYTES, m->m_pkthdr.len); m->m_pkthdr.rcvif = ifp; + m->m_pkthdr.ifring = ifr; /* Do RX checksumming if enabled */