commit 0a167b8e5f75bd9fff64f1b84e441e94b6f4a84a Author: Ryota Ozaki Date: Wed May 25 17:07:29 2016 +0900 Use m_set_rcvif and m_reset_rcvif diff --git a/sys/arch/acorn26/ioc/if_eca.c b/sys/arch/acorn26/ioc/if_eca.c index f6a8649..6d3b438 100644 --- a/sys/arch/acorn26/ioc/if_eca.c +++ b/sys/arch/acorn26/ioc/if_eca.c @@ -480,7 +480,7 @@ eca_gotframe(void *arg) m_freem(mtail->m_next); mtail->m_next = NULL; /* Set up the header of the chain. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = 0; for (n = m; n != NULL; n = n->m_next) m->m_pkthdr.len += n->m_len; diff --git a/sys/arch/acorn32/podulebus/if_ie.c b/sys/arch/acorn32/podulebus/if_ie.c index d53d988..02ecbfa 100644 --- a/sys/arch/acorn32/podulebus/if_ie.c +++ b/sys/arch/acorn32/podulebus/if_ie.c @@ -1102,7 +1102,7 @@ ieget(struct ie_softc *sc, int *to_bpf ) if ( m==0 ) return 0; - m->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m, &sc->sc_ethercom.ec_if); m->m_pkthdr.len = totlen; len = MHLEN; top = 0; diff --git a/sys/arch/amiga/dev/if_es.c b/sys/arch/amiga/dev/if_es.c index 4af3ed9..be5ada9 100644 --- a/sys/arch/amiga/dev/if_es.c +++ b/sys/arch/amiga/dev/if_es.c @@ -663,7 +663,7 @@ esrint(struct es_softc *sc) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = pktlen; len = MHLEN; top = NULL; diff --git a/sys/arch/amiga/dev/if_qn.c b/sys/arch/amiga/dev/if_qn.c index c5e90ba..d3e4339 100644 --- a/sys/arch/amiga/dev/if_qn.c +++ b/sys/arch/amiga/dev/if_qn.c @@ -540,7 +540,7 @@ qn_get_packet(struct qn_softc *sc, u_short len) if (len & 1) len++; - m->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m, &sc->sc_ethercom.ec_if); m->m_pkthdr.len = len; m->m_len = 0; head = m; diff --git a/sys/arch/arm/allwinner/awin_eth.c b/sys/arch/arm/allwinner/awin_eth.c index 1a61533..ce6a057 100644 --- a/sys/arch/arm/allwinner/awin_eth.c +++ b/sys/arch/arm/allwinner/awin_eth.c @@ -412,7 +412,7 @@ awin_eth_mgethdr(struct awin_eth_softc *sc, size_t rxlen) m->m_data += 2; m->m_len = rxlen; m->m_pkthdr.len = rxlen; - m->m_pkthdr.rcvif = &sc->sc_ec.ec_if; + m_set_rcvif(m, &sc->sc_ec.ec_if); return m; } diff --git a/sys/arch/arm/at91/at91emac.c b/sys/arch/arm/at91/at91emac.c index 201a5f2..ecbaec3 100644 --- a/sys/arch/arm/at91/at91emac.c +++ b/sys/arch/arm/at91/at91emac.c @@ -279,7 +279,7 @@ emac_intr(void *arg) MCLBYTES, BUS_DMASYNC_POSTREAD); bus_dmamap_unload(sc->sc_dmat, sc->rxq[bi].m_dmamap); - sc->rxq[bi].m->m_pkthdr.rcvif = ifp; + m_set_rcvif(sc->rxq[bi].m, ifp); sc->rxq[bi].m->m_pkthdr.len = sc->rxq[bi].m->m_len = fl; bpf_mtap(ifp, sc->rxq[bi].m); diff --git a/sys/arch/arm/broadcom/bcm53xx_eth.c b/sys/arch/arm/broadcom/bcm53xx_eth.c index c5fa281..638e99a 100644 --- a/sys/arch/arm/broadcom/bcm53xx_eth.c +++ b/sys/arch/arm/broadcom/bcm53xx_eth.c @@ -1011,7 +1011,7 @@ bcmeth_rx_input( || *(uint32_t *)&m->m_data[2] != sc->sc_macaddr[1])) { m->m_flags |= M_PROMISC; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); ifp->if_ipackets++; ifp->if_ibytes += m->m_pkthdr.len; diff --git a/sys/arch/arm/ep93xx/epe.c b/sys/arch/arm/ep93xx/epe.c index dd99154..df86105 100644 --- a/sys/arch/arm/ep93xx/epe.c +++ b/sys/arch/arm/ep93xx/epe.c @@ -227,7 +227,7 @@ begin: if (m != NULL && (m->m_flags & M_EXT)) { bus_dmamap_unload(sc->sc_dmat, sc->rxq[bi].m_dmamap); - sc->rxq[bi].m->m_pkthdr.rcvif = ifp; + m_set_rcvif(sc->rxq[bi].m, ifp); sc->rxq[bi].m->m_pkthdr.len = sc->rxq[bi].m->m_len = fl; bpf_mtap(ifp, sc->rxq[bi].m); diff --git a/sys/arch/arm/gemini/gemini_gmac.c b/sys/arch/arm/gemini/gemini_gmac.c index 82a0478..9a591c7 100644 --- a/sys/arch/arm/gemini/gemini_gmac.c +++ b/sys/arch/arm/gemini/gemini_gmac.c @@ -847,7 +847,7 @@ gmac_hwqueue_rxconsume(gmac_hwqueue_t *hwq, const gmac_desc_t *d) * Now get the whole chain. */ m = hwq->hwq_rxmbuf; - m->m_pkthdr.rcvif = ifp; /* set receive interface */ + m_set_rcvif(m, ifp); /* set receive interface */ ifp->if_ipackets++; ifp->if_ibytes += m->m_pkthdr.len; switch (DESC0_RXSTS_GET(d->d_desc0)) { diff --git a/sys/arch/arm/gemini/if_gpn.c b/sys/arch/arm/gemini/if_gpn.c index d35257b..6f10ac4 100644 --- a/sys/arch/arm/gemini/if_gpn.c +++ b/sys/arch/arm/gemini/if_gpn.c @@ -298,7 +298,7 @@ gpn_process_data(struct gpn_softc *sc, const ipm_gpn_desc_t *gd) struct mbuf *m; m = sc->sc_rxmbuf; sc->sc_rxmbuf = NULL; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); KASSERT(((m->m_pkthdr.len + 63) >> 6) == gd->gd_pktlen64); ifp->if_ipackets++; ifp->if_ibytes += m->m_pkthdr.len; diff --git a/sys/arch/arm/imx/if_enet.c b/sys/arch/arm/imx/if_enet.c index 2f09c06..15184e9 100644 --- a/sys/arch/arm/imx/if_enet.c +++ b/sys/arch/arm/imx/if_enet.c @@ -641,7 +641,7 @@ enet_rx_intr(void *arg) } else { /* packet receive ok */ ifp->if_ipackets++; - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = amount; bus_dmamap_sync(sc->sc_dmat, rxs->rxs_dmamap, 0, diff --git a/sys/arch/arm/omap/if_cpsw.c b/sys/arch/arm/omap/if_cpsw.c index d3a737c..c5f8f23 100644 --- a/sys/arch/arm/omap/if_cpsw.c +++ b/sys/arch/arm/omap/if_cpsw.c @@ -1162,7 +1162,7 @@ cpsw_rxintr(void *arg) if (ISSET(dw[3], CPDMA_BD_PASSCRC)) len -= ETHER_CRC_LEN; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; m->m_data += off; diff --git a/sys/arch/arm/omap/omapl1x_emac.c b/sys/arch/arm/omap/omapl1x_emac.c index 0c2701b..ecc6ca6 100644 --- a/sys/arch/arm/omap/omapl1x_emac.c +++ b/sys/arch/arm/omap/omapl1x_emac.c @@ -653,7 +653,7 @@ emac_rx_desc_process (struct emac_softc *sc, struct emac_channel *chan) buf_len -= ETHER_CRC_LEN; bus_dmamap_unload(sc->sc_buft, map); - mb->m_pkthdr.rcvif = ifp; + m_set_rcvif(mb, ifp); mb->m_pkthdr.len = mb->m_len = buf_len; ifp->if_ipackets++; diff --git a/sys/arch/arm/rockchip/rockchip_emac.c b/sys/arch/arm/rockchip/rockchip_emac.c index 8e79155..4ce8dd6 100644 --- a/sys/arch/arm/rockchip/rockchip_emac.c +++ b/sys/arch/arm/rockchip/rockchip_emac.c @@ -874,7 +874,7 @@ rkemac_rxintr(struct rkemac_softc *sc) rx->rx_ptr = htole32(rd->rd_map->dm_segs[0].ds_addr); m->m_pkthdr.len = m->m_len = len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_flags |= M_HASFCS; bpf_mtap(ifp, m); diff --git a/sys/arch/arm/xscale/ixp425_if_npe.c b/sys/arch/arm/xscale/ixp425_if_npe.c index b956faa..e9466cd 100644 --- a/sys/arch/arm/xscale/ixp425_if_npe.c +++ b/sys/arch/arm/xscale/ixp425_if_npe.c @@ -953,7 +953,7 @@ npe_rxdone(int qid, void *arg) /* set m_len etc. per rx frame size */ mrx->m_len = be32toh(hw->ix_ne[0].len) & 0xffff; mrx->m_pkthdr.len = mrx->m_len; - mrx->m_pkthdr.rcvif = ifp; + m_set_rcvif(mrx, ifp); /* Don't add M_HASFCS. See below */ #if 1 diff --git a/sys/arch/emips/ebus/if_le_ebus.c b/sys/arch/emips/ebus/if_le_ebus.c index 1711ddf..4e46e1f 100644 --- a/sys/arch/emips/ebus/if_le_ebus.c +++ b/sys/arch/emips/ebus/if_le_ebus.c @@ -451,7 +451,7 @@ enic_post_recv(struct enic_softc *sc, struct mbuf *m) MGETHDR(m, waitmode, MT_DATA); if (m == 0) break; - m->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m, &sc->sc_ethercom.ec_if); m->m_pkthdr.len = 0; MCLGET(m, waitmode); @@ -498,7 +498,7 @@ void enic_refill(struct enic_softc *sc) MGETHDR(m, waitmode, MT_DATA); if (m == NULL) return; - m->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m, &sc->sc_ethercom.ec_if); m->m_pkthdr.len = 0; MCLGET(m, waitmode); @@ -969,7 +969,7 @@ int enic_put(struct enic_softc *sc, struct mbuf **pm) MGETHDR(n, M_NOWAIT, MT_DATA); if (n == NULL) goto Bad; - n->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(n, &sc->sc_ethercom.ec_if); n->m_pkthdr.len = tlen; MCLGET(n, M_NOWAIT); diff --git a/sys/arch/evbppc/virtex/dev/if_temac.c b/sys/arch/evbppc/virtex/dev/if_temac.c index affec90..634189b 100644 --- a/sys/arch/evbppc/virtex/dev/if_temac.c +++ b/sys/arch/evbppc/virtex/dev/if_temac.c @@ -1190,7 +1190,7 @@ temac_rxreap(struct temac_softc *sc) BUS_DMASYNC_POSTREAD); m = sc->sc_rxsoft[sc->sc_rxreap].rxs_mbuf; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = rxsize; badframe: diff --git a/sys/arch/mac68k/dev/if_mc.c b/sys/arch/mac68k/dev/if_mc.c index e4e2d51..249fa10 100644 --- a/sys/arch/mac68k/dev/if_mc.c +++ b/sys/arch/mac68k/dev/if_mc.c @@ -604,7 +604,7 @@ mace_get(struct mc_softc *sc, void *pkt, int totlen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) return (0); - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = totlen; len = MHLEN; top = 0; diff --git a/sys/arch/mac68k/nubus/if_netdock_nubus.c b/sys/arch/mac68k/nubus/if_netdock_nubus.c index 1fbf5bb..d47046a 100644 --- a/sys/arch/mac68k/nubus/if_netdock_nubus.c +++ b/sys/arch/mac68k/nubus/if_netdock_nubus.c @@ -784,7 +784,7 @@ netdock_get(struct netdock_softc *sc, int datalen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return (NULL); - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = datalen; len = MHLEN; top = NULL; diff --git a/sys/arch/macppc/dev/am79c950.c b/sys/arch/macppc/dev/am79c950.c index 3f916aa..aaa8997 100644 --- a/sys/arch/macppc/dev/am79c950.c +++ b/sys/arch/macppc/dev/am79c950.c @@ -616,7 +616,7 @@ mace_get(struct mc_softc *sc, uint8_t *pkt, int totlen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) return (0); - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = totlen; len = MHLEN; top = 0; diff --git a/sys/arch/macppc/dev/if_bm.c b/sys/arch/macppc/dev/if_bm.c index 5009839..24cc9fb 100644 --- a/sys/arch/macppc/dev/if_bm.c +++ b/sys/arch/macppc/dev/if_bm.c @@ -645,7 +645,7 @@ bmac_get(struct bmac_softc *sc, void *pkt, int totlen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) return 0; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = totlen; len = MHLEN; top = 0; diff --git a/sys/arch/macppc/dev/if_gm.c b/sys/arch/macppc/dev/if_gm.c index 4468f32..21744f3 100644 --- a/sys/arch/macppc/dev/if_gm.c +++ b/sys/arch/macppc/dev/if_gm.c @@ -412,7 +412,7 @@ gmac_get(struct gmac_softc *sc, void *pkt, int totlen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) return 0; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = totlen; len = MHLEN; top = 0; diff --git a/sys/arch/mips/adm5120/dev/if_admsw.c b/sys/arch/mips/adm5120/dev/if_admsw.c index 4483c12..fee9bdd 100644 --- a/sys/arch/mips/adm5120/dev/if_admsw.c +++ b/sys/arch/mips/adm5120/dev/if_admsw.c @@ -991,7 +991,7 @@ admsw_rxintr(struct admsw_softc *sc, int high) continue; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; if ((stat & ADM5120_DMA_TYPE) == ADM5120_DMA_TYPE_IP) { m->m_pkthdr.csum_flags |= M_CSUM_IPv4; diff --git a/sys/arch/mips/alchemy/dev/if_aumac.c b/sys/arch/mips/alchemy/dev/if_aumac.c index 9654586..1dc39d1 100644 --- a/sys/arch/mips/alchemy/dev/if_aumac.c +++ b/sys/arch/mips/alchemy/dev/if_aumac.c @@ -712,7 +712,7 @@ aumac_rxintr(struct aumac_softc *sc) (void *)sc->sc_rxbufs[i].buf_vaddr, len); AUMAC_INIT_RXDESC(sc, i); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* Pass this up to any BPF listeners. */ diff --git a/sys/arch/mips/atheros/dev/if_ae.c b/sys/arch/mips/atheros/dev/if_ae.c index 1b74b84..42d7ab2 100644 --- a/sys/arch/mips/atheros/dev/if_ae.c +++ b/sys/arch/mips/atheros/dev/if_ae.c @@ -1129,7 +1129,7 @@ ae_rxintr(struct ae_softc *sc) #endif /* __NO_STRICT_ALIGNMENT */ ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/arch/mips/cavium/dev/if_cnmac.c b/sys/arch/mips/cavium/dev/if_cnmac.c index a5f4712..91e60d0 100644 --- a/sys/arch/mips/cavium/dev/if_cnmac.c +++ b/sys/arch/mips/cavium/dev/if_cnmac.c @@ -1330,7 +1330,7 @@ octeon_eth_recv_mbuf(struct octeon_eth_softc *sc, uint64_t *work, m->m_data = data; m->m_len = m->m_pkthdr.len = (word1 & PIP_WQE_WORD1_LEN) >> 48; - m->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m, &sc->sc_ethercom.ec_if); /* * not readonly buffer */ diff --git a/sys/arch/mips/ralink/ralink_eth.c b/sys/arch/mips/ralink/ralink_eth.c index 4a1ebe3..70a2491 100644 --- a/sys/arch/mips/ralink/ralink_eth.c +++ b/sys/arch/mips/ralink/ralink_eth.c @@ -1458,7 +1458,7 @@ ralink_eth_rxintr(ralink_eth_softc_t *sc) /* push it up the inteface */ ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); #ifdef RALINK_ETH_DEBUG { diff --git a/sys/arch/mips/sibyte/dev/sbmac.c b/sys/arch/mips/sibyte/dev/sbmac.c index d681d31..15ccdef 100644 --- a/sys/arch/mips/sibyte/dev/sbmac.c +++ b/sys/arch/mips/sibyte/dev/sbmac.c @@ -918,7 +918,7 @@ sbdma_rx_process(struct sbmac_softc *sc, sbmacdma_t *d) m->m_pkthdr.len = m->m_len = len; ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* diff --git a/sys/arch/newsmips/apbus/if_sn.c b/sys/arch/newsmips/apbus/if_sn.c index 2568985..3e66bf1 100644 --- a/sys/arch/newsmips/apbus/if_sn.c +++ b/sys/arch/newsmips/apbus/if_sn.c @@ -1075,7 +1075,7 @@ sonic_get(struct sn_softc *sc, void *pkt, int datalen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) return 0; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = datalen; len = MHLEN; top = 0; diff --git a/sys/arch/next68k/dev/if_xe.c b/sys/arch/next68k/dev/if_xe.c index 810b88d..ac88d44 100644 --- a/sys/arch/next68k/dev/if_xe.c +++ b/sys/arch/next68k/dev/if_xe.c @@ -676,7 +676,7 @@ xe_dma_rxmap_load(struct mb8795_softc *sc, bus_dmamap_t map) m->m_len = buflen; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len; error = bus_dmamap_load_mbuf(xsc->sc_rxdma->sc_dmat, diff --git a/sys/arch/next68k/dev/mb8795.c b/sys/arch/next68k/dev/mb8795.c index 1bfb675..39b47ca 100644 --- a/sys/arch/next68k/dev/mb8795.c +++ b/sys/arch/next68k/dev/mb8795.c @@ -303,7 +303,7 @@ mb8795_rint(struct mb8795_softc *sc) while ((m = MBDMA_RX_MBUF (sc))) { /* CRC is included with the packet; trim it. */ m->m_pkthdr.len = m->m_len = m->m_len - ETHER_CRC_LEN; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* Find receive length, keep crc */ /* enable DMA interrupts while we process the packet */ diff --git a/sys/arch/playstation2/dev/if_smap.c b/sys/arch/playstation2/dev/if_smap.c index 14fc774..2a7f21a 100644 --- a/sys/arch/playstation2/dev/if_smap.c +++ b/sys/arch/playstation2/dev/if_smap.c @@ -389,7 +389,7 @@ smap_rxeof(void *arg) } m->m_data += 2; /* for alignment */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = sz; memcpy(mtod(m, void *), (void *)sc->rx_buf, sz); diff --git a/sys/arch/powerpc/booke/dev/pq3etsec.c b/sys/arch/powerpc/booke/dev/pq3etsec.c index cb651dc..0ebdfb1 100644 --- a/sys/arch/powerpc/booke/dev/pq3etsec.c +++ b/sys/arch/powerpc/booke/dev/pq3etsec.c @@ -1567,7 +1567,7 @@ pq3etsec_rx_input( if (rxbd_flags & RXBD_MC) m->m_flags |= M_MCAST; m->m_flags |= M_HASFCS; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); ifp->if_ipackets++; ifp->if_ibytes += m->m_pkthdr.len; diff --git a/sys/arch/powerpc/ibm4xx/dev/if_emac.c b/sys/arch/powerpc/ibm4xx/dev/if_emac.c index 34b3aa9..8a64e8f 100644 --- a/sys/arch/powerpc/ibm4xx/dev/if_emac.c +++ b/sys/arch/powerpc/ibm4xx/dev/if_emac.c @@ -1666,7 +1666,7 @@ emac_rxeob_intr(void *arg) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/arch/sgimips/hpc/if_sq.c b/sys/arch/sgimips/hpc/if_sq.c index 67cf47f..35c2d11 100644 --- a/sys/arch/sgimips/hpc/if_sq.c +++ b/sys/arch/sgimips/hpc/if_sq.c @@ -1013,7 +1013,7 @@ sq_rxintr(struct sq_softc *sc) m->m_data += 2; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = framelen; ifp->if_ipackets++; diff --git a/sys/arch/sgimips/mace/if_mec.c b/sys/arch/sgimips/mace/if_mec.c index 249b44d..ee1e466 100644 --- a/sys/arch/sgimips/mace/if_mec.c +++ b/sys/arch/sgimips/mace/if_mec.c @@ -1725,7 +1725,7 @@ mec_rxintr(struct mec_softc *sc) MEC_RXSTATSYNC(sc, i, BUS_DMASYNC_PREREAD); bus_space_write_8(st, sh, MEC_MCL_RX_FIFO, MEC_CDRXADDR(sc, i)); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; if ((ifp->if_csum_flags_rx & (M_CSUM_TCPv4|M_CSUM_UDPv4)) != 0) mec_rxcsum(sc, m, RXSTAT_CKSUM(rxstat), crc); diff --git a/sys/arch/sun2/dev/if_ec.c b/sys/arch/sun2/dev/if_ec.c index dd3c5d1..cb20e29 100644 --- a/sys/arch/sun2/dev/if_ec.c +++ b/sys/arch/sun2/dev/if_ec.c @@ -494,7 +494,7 @@ ec_recv(struct ec_softc *sc, int intbit) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == NULL) break; - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = total_length; length = MHLEN; m = m0; diff --git a/sys/arch/sun3/dev/if_ie.c b/sys/arch/sun3/dev/if_ie.c index f327d2b..af81a40 100644 --- a/sys/arch/sun3/dev/if_ie.c +++ b/sys/arch/sun3/dev/if_ie.c @@ -830,7 +830,7 @@ ieget(struct ie_softc *sc, int *to_bpf) if (m == 0) return 0; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = totlen; len = MHLEN; top = 0; diff --git a/sys/arch/usermode/dev/if_veth.c b/sys/arch/usermode/dev/if_veth.c index 8b73598..e69486d 100644 --- a/sys/arch/usermode/dev/if_veth.c +++ b/sys/arch/usermode/dev/if_veth.c @@ -229,7 +229,7 @@ veth_softrx(void *priv) continue; } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; memcpy(mtod(m, void *), sc->sc_rx_buf, len); ++ifp->if_ipackets; diff --git a/sys/arch/x86/pci/if_vmx.c b/sys/arch/x86/pci/if_vmx.c index 9864ce1..14d565f 100644 --- a/sys/arch/x86/pci/if_vmx.c +++ b/sys/arch/x86/pci/if_vmx.c @@ -756,7 +756,7 @@ vmxnet3_rxintr(struct vmxnet3_softc *sc, struct vmxnet3_rxqueue *rq) ifp->if_ibytes += len; vmxnet3_rx_csum(rxcd, m); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; if (le32toh(rxcd->rxc_word2 & VMXNET3_RXC_VLAN)) { VLAN_INPUT_TAG(ifp, m, diff --git a/sys/arch/xen/xen/if_xennet_xenbus.c b/sys/arch/xen/xen/if_xennet_xenbus.c index c61e927..dfd39b5 100644 --- a/sys/arch/xen/xen/if_xennet_xenbus.c +++ b/sys/arch/xen/xen/if_xennet_xenbus.c @@ -1073,7 +1073,7 @@ again: } MCLAIM(m, &sc->sc_ethercom.ec_rx_mowner); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); req->rxreq_va = (vaddr_t)pool_cache_get_paddr( if_xennetrxbuf_cache, PR_NOWAIT, &req->rxreq_pa); if (__predict_false(req->rxreq_va == 0)) { diff --git a/sys/arch/xen/xen/xennetback_xenbus.c b/sys/arch/xen/xen/xennetback_xenbus.c index 847bf64..d0f02f7 100644 --- a/sys/arch/xen/xen/xennetback_xenbus.c +++ b/sys/arch/xen/xen/xennetback_xenbus.c @@ -888,7 +888,7 @@ so always copy for now. continue; } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); ifp->if_ipackets++; bpf_mtap(ifp, m); diff --git a/sys/dev/bi/if_ni.c b/sys/dev/bi/if_ni.c index b5ab65b..c28249a 100644 --- a/sys/dev/bi/if_ni.c +++ b/sys/dev/bi/if_ni.c @@ -599,7 +599,7 @@ niintr(void *arg) m = (void *)data->nd_cmdref; m->m_pkthdr.len = m->m_len = data->bufs[0]._len - ETHER_CRC_LEN; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); if (ni_add_rxbuf(sc, data, idx)) { bd->nb_len = (m->m_ext.ext_size - 2); bd->nb_pte = diff --git a/sys/dev/cadence/if_cemac.c b/sys/dev/cadence/if_cemac.c index c2248dc..5ba710c 100644 --- a/sys/dev/cadence/if_cemac.c +++ b/sys/dev/cadence/if_cemac.c @@ -336,7 +336,7 @@ cemac_intr(void *arg) MCLBYTES, BUS_DMASYNC_POSTREAD); bus_dmamap_unload(sc->sc_dmat, sc->rxq[bi].m_dmamap); - sc->rxq[bi].m->m_pkthdr.rcvif = ifp; + m_set_rcvif(sc->rxq[bi].m, ifp); sc->rxq[bi].m->m_pkthdr.len = sc->rxq[bi].m->m_len = fl; switch (nfo & ETH_RDSC_I_CHKSUM) { diff --git a/sys/dev/ic/aic6915.c b/sys/dev/ic/aic6915.c index 8df2d40..52c748c 100644 --- a/sys/dev/ic/aic6915.c +++ b/sys/dev/ic/aic6915.c @@ -782,7 +782,7 @@ sf_rxintr(struct sf_softc *sc) ds->ds_dmamap->dm_mapsize, BUS_DMASYNC_PREREAD); #endif /* __NO_STRICT_ALIGNMENT */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/ic/an.c b/sys/dev/ic/an.c index c8e423b..3defafe 100644 --- a/sys/dev/ic/an.c +++ b/sys/dev/ic/an.c @@ -1438,7 +1438,7 @@ an_rx_intr(struct an_softc *sc) len; memcpy(m->m_data, &frmhdr.an_whdr, sizeof(struct ieee80211_frame)); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); CSR_WRITE_2(sc, AN_EVENT_ACK, AN_EV_RX); if (sc->sc_drvbpf) { diff --git a/sys/dev/ic/arn5008.c b/sys/dev/ic/arn5008.c index 9efed9a..dfc4c13 100644 --- a/sys/dev/ic/arn5008.c +++ b/sys/dev/ic/arn5008.c @@ -849,7 +849,7 @@ ar5008_rx_process(struct athn_softc *sc) len = MS(ds->ds_status1, AR_RXS1_DATA_LEN); m = bf->bf_m; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; wh = mtod(m, struct ieee80211_frame *); @@ -905,7 +905,7 @@ ar5008_rx_process(struct athn_softc *sc) bf->bf_m = m1; /* Finalize mbuf. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* Grab a reference to the source node. */ diff --git a/sys/dev/ic/arn9003.c b/sys/dev/ic/arn9003.c index e539930..f56ab8a 100644 --- a/sys/dev/ic/arn9003.c +++ b/sys/dev/ic/arn9003.c @@ -982,7 +982,7 @@ ar9003_rx_process(struct athn_softc *sc, int qid) len = MS(ds->ds_status2, AR_RXS2_DATA_LEN); m = bf->bf_m; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_data = (void *)&ds[1]; m->m_pkthdr.len = m->m_len = len; wh = mtod(m, struct ieee80211_frame *); @@ -1036,7 +1036,7 @@ ar9003_rx_process(struct athn_softc *sc, int qid) bf->bf_m = m1; /* Finalize mbuf. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* Strip Rx status descriptor from head. */ m->m_data = (void *)&ds[1]; m->m_pkthdr.len = m->m_len = len; diff --git a/sys/dev/ic/ath.c b/sys/dev/ic/ath.c index 8b6dab7..93bcc04 100644 --- a/sys/dev/ic/ath.c +++ b/sys/dev/ic/ath.c @@ -3145,7 +3145,7 @@ rx_accept: bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); bf->bf_m = NULL; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); len = ds->ds_rxstat.rs_datalen; m->m_pkthdr.len = m->m_len = len; diff --git a/sys/dev/ic/atw.c b/sys/dev/ic/atw.c index c1922a8..7824f6b 100644 --- a/sys/dev/ic/atw.c +++ b/sys/dev/ic/atw.c @@ -3139,7 +3139,7 @@ atw_rxintr(struct atw_softc *sc) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = MIN(m->m_ext.ext_size, len); rate = (rate0 < __arraycount(rate_tbl)) ? rate_tbl[rate0] : 0; diff --git a/sys/dev/ic/awi.c b/sys/dev/ic/awi.c index c2ccbfd..5f263ac 100644 --- a/sys/dev/ic/awi.c +++ b/sys/dev/ic/awi.c @@ -1194,7 +1194,7 @@ awi_devget(struct awi_softc *sc, u_int32_t off, u_int16_t len) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return NULL; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; m->m_len = MHLEN; m->m_flags |= M_HASFCS; diff --git a/sys/dev/ic/bwi.c b/sys/dev/ic/bwi.c index bd50502..e29d6a1 100644 --- a/sys/dev/ic/bwi.c +++ b/sys/dev/ic/bwi.c @@ -8458,7 +8458,7 @@ bwi_rxeof(struct bwi_softc *sc, int end_idx) plcp = ((const uint8_t *)(hdr + 1) + hdr_extra); rssi = bwi_calc_rssi(sc, hdr); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_len = m->m_pkthdr.len = buflen + sizeof(*hdr); m_adj(m, sizeof(*hdr) + wh_ofs); diff --git a/sys/dev/ic/cs89x0.c b/sys/dev/ic/cs89x0.c index f7b7db1..156a9f8 100644 --- a/sys/dev/ic/cs89x0.c +++ b/sys/dev/ic/cs89x0.c @@ -1729,7 +1729,7 @@ cs_process_receive(struct cs_softc *sc) CS_READ_PACKET_PAGE(sc, PKTPG_RX_CFG) | RX_CFG_SKIP); return; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = totlen; /* number of bytes to align ip header on word boundary for ipintr */ @@ -1811,7 +1811,7 @@ cs_process_rx_early(struct cs_softc *sc) CS_READ_PACKET_PAGE(sc, PKTPG_RX_CFG) | RX_CFG_SKIP); return; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* * save processing by always using a mbuf cluster, guaranteed to fit * packet diff --git a/sys/dev/ic/dm9000.c b/sys/dev/ic/dm9000.c index 93f95c7..9d5befc 100644 --- a/sys/dev/ic/dm9000.c +++ b/sys/dev/ic/dm9000.c @@ -1220,7 +1220,7 @@ dme_alloc_receive_buffer(struct ifnet *ifp, unsigned int frame_length) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return NULL; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* Ensure that we always allocate an even number of * bytes in order to avoid writing beyond the buffer */ diff --git a/sys/dev/ic/dp8390.c b/sys/dev/ic/dp8390.c index ede4757..fa8ac03 100644 --- a/sys/dev/ic/dp8390.c +++ b/sys/dev/ic/dp8390.c @@ -1032,7 +1032,7 @@ dp8390_get(struct dp8390_softc *sc, int src, u_short total_len) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == NULL) return NULL; - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = total_len; len = MHLEN; m = m0; diff --git a/sys/dev/ic/dp83932.c b/sys/dev/ic/dp83932.c index 5f48b5c..b0e0458 100644 --- a/sys/dev/ic/dp83932.c +++ b/sys/dev/ic/dp83932.c @@ -834,7 +834,7 @@ sonic_rxintr(struct sonic_softc *sc) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/ic/dwc_gmac.c b/sys/dev/ic/dwc_gmac.c index f585b15..0d17d58 100644 --- a/sys/dev/ic/dwc_gmac.c +++ b/sys/dev/ic/dwc_gmac.c @@ -1122,7 +1122,7 @@ dwc_gmac_rx_intr(struct dwc_gmac_softc *sc) /* finalize mbuf */ m->m_pkthdr.len = m->m_len = len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_flags |= M_HASFCS; bpf_mtap(ifp, m); diff --git a/sys/dev/ic/elink3.c b/sys/dev/ic/elink3.c index d7e9ad3..1209827 100644 --- a/sys/dev/ic/elink3.c +++ b/sys/dev/ic/elink3.c @@ -1565,7 +1565,7 @@ epget(struct ep_softc *sc, int totlen) m->m_flags = M_PKTHDR; memset(&m->m_pkthdr, 0, sizeof(m->m_pkthdr)); } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = totlen; len = MHLEN; diff --git a/sys/dev/ic/elinkxl.c b/sys/dev/ic/elinkxl.c index 90f8865..077a6c8 100644 --- a/sys/dev/ic/elinkxl.c +++ b/sys/dev/ic/elinkxl.c @@ -1370,7 +1370,7 @@ ex_intr(void *arg) m_freem(m); goto rcvloop; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = total_len; bpf_mtap(ifp, m); /* diff --git a/sys/dev/ic/gem.c b/sys/dev/ic/gem.c index 84f34a3..f34f7c8 100644 --- a/sys/dev/ic/gem.c +++ b/sys/dev/ic/gem.c @@ -1848,7 +1848,7 @@ gem_rint(struct gem_softc *sc) } m->m_data += 2; /* We're already off by two */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/ic/hd64570.c b/sys/dev/ic/hd64570.c index 4563e10..115d51a 100644 --- a/sys/dev/ic/hd64570.c +++ b/sys/dev/ic/hd64570.c @@ -1583,7 +1583,7 @@ sca_frame_process(sca_port_t *scp) #ifdef INET case HDLC_PROTOCOL_IP: SCA_DPRINTF(SCA_DEBUG_RX, ("Received IP packet\n")); - m->m_pkthdr.rcvif = &scp->sp_if; + m_set_rcvif(m, &scp->sp_if); m->m_pkthdr.len -= sizeof(struct hdlc_header); m->m_data += sizeof(struct hdlc_header); m->m_len -= sizeof(struct hdlc_header); @@ -1593,7 +1593,7 @@ sca_frame_process(sca_port_t *scp) #ifdef INET6 case HDLC_PROTOCOL_IPV6: SCA_DPRINTF(SCA_DEBUG_RX, ("Received IP packet\n")); - m->m_pkthdr.rcvif = &scp->sp_if; + m_set_rcvif(m, &scp->sp_if); m->m_pkthdr.len -= sizeof(struct hdlc_header); m->m_data += sizeof(struct hdlc_header); m->m_len -= sizeof(struct hdlc_header); @@ -1620,7 +1620,7 @@ sca_frame_process(sca_port_t *scp) cisco = (struct cisco_pkt *) (mtod(m, u_int8_t *) + HDLC_HDRLEN); - m->m_pkthdr.rcvif = &scp->sp_if; + m_set_rcvif(m, &scp->sp_if); switch (ntohl(cisco->type)) { case CISCO_ADDR_REQ: diff --git a/sys/dev/ic/hme.c b/sys/dev/ic/hme.c index da9adc1..8478b23 100644 --- a/sys/dev/ic/hme.c +++ b/sys/dev/ic/hme.c @@ -697,7 +697,7 @@ hme_get(struct hme_softc *sc, int ri, uint32_t flags) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == 0) return (0); - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = totlen; len = MHLEN; m = m0; diff --git a/sys/dev/ic/i82557.c b/sys/dev/ic/i82557.c index 3bb4941..3212e7c 100644 --- a/sys/dev/ic/i82557.c +++ b/sys/dev/ic/i82557.c @@ -1448,7 +1448,7 @@ fxp_rxintr(struct fxp_softc *sc) } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/ic/i82586.c b/sys/dev/ic/i82586.c index 8269dc0..e0b5397 100644 --- a/sys/dev/ic/i82586.c +++ b/sys/dev/ic/i82586.c @@ -901,7 +901,7 @@ ieget(struct ie_softc *sc, int head, int totlen) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == 0) return (0); - m0->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m0, &sc->sc_ethercom.ec_if); m0->m_pkthdr.len = totlen; len = MHLEN; m = m0; diff --git a/sys/dev/ic/i82596.c b/sys/dev/ic/i82596.c index cbfab50..987ee9b 100644 --- a/sys/dev/ic/i82596.c +++ b/sys/dev/ic/i82596.c @@ -256,7 +256,7 @@ iee_intr(void *intarg) BUS_DMASYNC_POSTREAD); rx_mbuf->m_pkthdr.len = rx_mbuf->m_len = count & IEE_RBD_COUNT; - rx_mbuf->m_pkthdr.rcvif = ifp; + m_set_rcvif(rx_mbuf, ifp); MGETHDR(new_mbuf, M_DONTWAIT, MT_DATA); if (new_mbuf == NULL) { printf("%s: iee_intr: can't allocate mbuf\n", diff --git a/sys/dev/ic/lan9118.c b/sys/dev/ic/lan9118.c index 5d98da8..0b90e62 100644 --- a/sys/dev/ic/lan9118.c +++ b/sys/dev/ic/lan9118.c @@ -992,7 +992,7 @@ dropit: m->m_data += pad; ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = (pktlen - ETHER_CRC_LEN); /* diff --git a/sys/dev/ic/lance.c b/sys/dev/ic/lance.c index 0c930ac..9c9ff93 100644 --- a/sys/dev/ic/lance.c +++ b/sys/dev/ic/lance.c @@ -373,7 +373,7 @@ lance_get(struct lance_softc *sc, int boff, int totlen) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == 0) return (0); - m0->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m0, &sc->sc_ethercom.ec_if); m0->m_pkthdr.len = totlen; len = MHLEN; m = m0; diff --git a/sys/dev/ic/lemac.c b/sys/dev/ic/lemac.c index 081590d..9c31def 100644 --- a/sys/dev/ic/lemac.c +++ b/sys/dev/ic/lemac.c @@ -316,7 +316,7 @@ lemac_input( return; } m->m_pkthdr.len = m->m_len = length; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); if_percpuq_enqueue((&sc->sc_if)->if_percpuq, m); } diff --git a/sys/dev/ic/malo.c b/sys/dev/ic/malo.c index 953ed9d..79f423d 100644 --- a/sys/dev/ic/malo.c +++ b/sys/dev/ic/malo.c @@ -1564,7 +1564,7 @@ malo_rx_intr(struct malo_softc *sc) desc->physdata = htole32(data->map->dm_segs->ds_addr); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = le16toh(desc->len); /* diff --git a/sys/dev/ic/mb86950.c b/sys/dev/ic/mb86950.c index b6a135a..80065c4 100644 --- a/sys/dev/ic/mb86950.c +++ b/sys/dev/ic/mb86950.c @@ -863,7 +863,7 @@ mb86950_get_fifo(struct mb86950_softc *sc, u_int len) if (len & 1) len++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; /* The following silliness is to make NFS happy. */ diff --git a/sys/dev/ic/mb86960.c b/sys/dev/ic/mb86960.c index 80650a6..ea33e4e 100644 --- a/sys/dev/ic/mb86960.c +++ b/sys/dev/ic/mb86960.c @@ -1286,7 +1286,7 @@ mb86960_get_packet(struct mb86960_softc *sc, u_int len) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) return 0; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; /* The following silliness is to make NFS happy. */ diff --git a/sys/dev/ic/midway.c b/sys/dev/ic/midway.c index 4438323..219eb22 100644 --- a/sys/dev/ic/midway.c +++ b/sys/dev/ic/midway.c @@ -638,7 +638,7 @@ STATIC INLINE struct mbuf *en_mget(struct en_softc *sc, u_int totlen, u_int *drq MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return(NULL); - m->m_pkthdr.rcvif = &sc->enif; + m_set_rcvif(m, &sc->enif); m->m_pkthdr.len = totlen; m->m_len = MHLEN; top = NULL; @@ -2760,7 +2760,7 @@ EN_INTR_TYPE en_intr(void *arg) /* if there's a subinterface for this vci, override ifp. */ ifp = en_vci2ifp(sc, sc->rxslot[slot].atm_vci); ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; /* XXX */ + m_set_rcvif(m, ifp); /* XXX */ #else ifp = &sc->enif; ifp->if_ipackets++; diff --git a/sys/dev/ic/mtd803.c b/sys/dev/ic/mtd803.c index 3b05093..c3637cb 100644 --- a/sys/dev/ic/mtd803.c +++ b/sys/dev/ic/mtd803.c @@ -581,7 +581,7 @@ mtd_get(struct mtd_softc *sc, int index, int totlen) if (m0 == NULL) return NULL; - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = totlen; m = m0; len = MHLEN; diff --git a/sys/dev/ic/pdq_ifsubr.c b/sys/dev/ic/pdq_ifsubr.c index d50d4b8..6c67a22 100644 --- a/sys/dev/ic/pdq_ifsubr.c +++ b/sys/dev/ic/pdq_ifsubr.c @@ -248,7 +248,7 @@ pdq_os_receive_pdu( return; } - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); if_percpuq_enqueue((&sc->sc_if)->if_percpuq, m); } diff --git a/sys/dev/ic/rrunner.c b/sys/dev/ic/rrunner.c index 60956c9..ab022bb 100644 --- a/sys/dev/ic/rrunner.c +++ b/sys/dev/ic/rrunner.c @@ -2340,7 +2340,7 @@ esh_read_snap_ring(struct esh_softc *sc, u_int16_t consumer, int error) } recv->ec_cur_pkt = recv->ec_cur_mbuf = m; /* allocated buffers all have pkthdrs... */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len; } else { if (!recv->ec_cur_pkt) diff --git a/sys/dev/ic/rt2560.c b/sys/dev/ic/rt2560.c index b6076d7..3a75684 100644 --- a/sys/dev/ic/rt2560.c +++ b/sys/dev/ic/rt2560.c @@ -1308,7 +1308,7 @@ rt2560_decryption_intr(struct rt2560_softc *sc) desc->physaddr = htole32(data->map->dm_segs->ds_addr); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = (le32toh(desc->flags) >> 16) & 0xfff; diff --git a/sys/dev/ic/rt2661.c b/sys/dev/ic/rt2661.c index fc97c92..f84f569 100644 --- a/sys/dev/ic/rt2661.c +++ b/sys/dev/ic/rt2661.c @@ -1108,7 +1108,7 @@ rt2661_rx_intr(struct rt2661_softc *sc) desc->physaddr = htole32(data->map->dm_segs->ds_addr); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = (le32toh(desc->flags) >> 16) & 0xfff; diff --git a/sys/dev/ic/rtl8169.c b/sys/dev/ic/rtl8169.c index 94a828e..b9e10a7 100644 --- a/sys/dev/ic/rtl8169.c +++ b/sys/dev/ic/rtl8169.c @@ -1294,7 +1294,7 @@ re_rxeof(struct rtk_softc *sc) (total_len - ETHER_CRC_LEN); ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* Do RX checksumming */ if ((sc->sc_quirk & RTKQ_DESCV2) == 0) { diff --git a/sys/dev/ic/rtl81x9.c b/sys/dev/ic/rtl81x9.c index 15a22bf..ca84550 100644 --- a/sys/dev/ic/rtl81x9.c +++ b/sys/dev/ic/rtl81x9.c @@ -1038,7 +1038,7 @@ rtk_rxeof(struct rtk_softc *sc) } } m->m_data += RTK_ETHER_ALIGN; /* for alignment */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = total_len; dst = mtod(m, void *); diff --git a/sys/dev/ic/rtw.c b/sys/dev/ic/rtw.c index d8b088a..6b36b5f 100644 --- a/sys/dev/ic/rtw.c +++ b/sys/dev/ic/rtw.c @@ -1606,7 +1606,7 @@ rtw_intr_rx(struct rtw_softc *sc, uint16_t isr) /* Note well: now we cannot recycle the rs_mbuf unless * we restore its original length. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; wh = mtod(m, struct ieee80211_frame_min *); diff --git a/sys/dev/ic/seeq8005.c b/sys/dev/ic/seeq8005.c index 1949963..444d928 100644 --- a/sys/dev/ic/seeq8005.c +++ b/sys/dev/ic/seeq8005.c @@ -1274,7 +1274,7 @@ ea_get(struct seeq8005_softc *sc, int addr, int totlen, struct ifnet *ifp) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return NULL; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = totlen; m->m_len = MHLEN; top = NULL; diff --git a/sys/dev/ic/sgec.c b/sys/dev/ic/sgec.c index 7b3f018..8327ca6 100644 --- a/sys/dev/ic/sgec.c +++ b/sys/dev/ic/sgec.c @@ -462,7 +462,7 @@ sgec_intr(struct ze_softc *sc) ifp->if_ierrors++; m_freem(m); } else { - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len - ETHER_CRC_LEN; bpf_mtap(ifp, m); diff --git a/sys/dev/ic/smc83c170.c b/sys/dev/ic/smc83c170.c index d47e966..9f9eb77 100644 --- a/sys/dev/ic/smc83c170.c +++ b/sys/dev/ic/smc83c170.c @@ -704,7 +704,7 @@ epic_intr(void *arg) } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/ic/smc90cx6.c b/sys/dev/ic/smc90cx6.c index 1c16e23..f055677 100644 --- a/sys/dev/ic/smc90cx6.c +++ b/sys/dev/ic/smc90cx6.c @@ -525,7 +525,7 @@ bah_srint(void *vsc) goto cleanup; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* * Align so that IP packet will be longword aligned. Here we diff --git a/sys/dev/ic/smc91cxx.c b/sys/dev/ic/smc91cxx.c index 3c66b18..8a4406a 100644 --- a/sys/dev/ic/smc91cxx.c +++ b/sys/dev/ic/smc91cxx.c @@ -1167,7 +1167,7 @@ smc91cxx_read(struct smc91cxx_softc *sc) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) goto out; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = packetlen; /* diff --git a/sys/dev/ic/tropic.c b/sys/dev/ic/tropic.c index 2c5f702..b61ca2c 100644 --- a/sys/dev/ic/tropic.c +++ b/sys/dev/ic/tropic.c @@ -1436,7 +1436,7 @@ tr_get(struct tr_softc *sc, int totlen, struct ifnet *ifp) if (m0 == 0) return (0); - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = totlen; len = MHLEN; diff --git a/sys/dev/ic/tulip.c b/sys/dev/ic/tulip.c index e67bd37..9155f36 100644 --- a/sys/dev/ic/tulip.c +++ b/sys/dev/ic/tulip.c @@ -1352,7 +1352,7 @@ tlp_rxintr(struct tulip_softc *sc) ifp->if_ipackets++; eh = mtod(m, struct ether_header *); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/ic/wi.c b/sys/dev/ic/wi.c index d94091b..ef56e8e 100644 --- a/sys/dev/ic/wi.c +++ b/sys/dev/ic/wi.c @@ -1664,7 +1664,7 @@ wi_rx_intr(struct wi_softc *sc) wi_read_bap(sc, fid, sizeof(frmhdr), m->m_data + sizeof(struct ieee80211_frame), len); m->m_pkthdr.len = m->m_len = sizeof(struct ieee80211_frame) + len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); wh = mtod(m, struct ieee80211_frame *); if (wh->i_fc[1] & IEEE80211_FC1_WEP) { diff --git a/sys/dev/ieee1394/if_fwip.c b/sys/dev/ieee1394/if_fwip.c index 50b91c4..25e2908 100644 --- a/sys/dev/ieee1394/if_fwip.c +++ b/sys/dev/ieee1394/if_fwip.c @@ -786,7 +786,7 @@ fwip_stream_input(struct fw_xferq *xferq) * Trim off the GASP header */ m_adj(m, 3*sizeof(uint32_t)); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); ieee1394_input(ifp, m, src); ifp->if_ipackets++; } @@ -891,7 +891,7 @@ fwip_unicast_input(struct fw_xfer *xfer) * argument to facilitate link-level fragment reassembly. */ m->m_len = m->m_pkthdr.len = fp->mode.wreqb.len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); ieee1394_input(ifp, m, fp->mode.wreqb.src); ifp->if_ipackets++; } diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c index ccaa5d7..9e65959 100644 --- a/sys/dev/if_ndis/if_ndis.c +++ b/sys/dev/if_ndis/if_ndis.c @@ -1020,7 +1020,7 @@ ndis_rxeof(ndis_handle adapter, ndis_packet **packets, uint32_t pktcnt) m0 = m; } else p->np_oob.npo_status = NDIS_STATUS_PENDING; - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); ifp->if_ipackets++; /* Deal with checksum offload. */ diff --git a/sys/dev/isa/cs89x0isa.c b/sys/dev/isa/cs89x0isa.c index a09ef3f..d8fb593 100644 --- a/sys/dev/isa/cs89x0isa.c +++ b/sys/dev/isa/cs89x0isa.c @@ -285,7 +285,7 @@ void cs_process_rx_dma(struct cs_softc *sc) cs_init(&sc->sc_ethercom.ec_if); return; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = pkt_length; m->m_len = pkt_length; diff --git a/sys/dev/isa/if_eg.c b/sys/dev/isa/if_eg.c index 96774b2..6ad9328 100644 --- a/sys/dev/isa/if_eg.c +++ b/sys/dev/isa/if_eg.c @@ -746,7 +746,7 @@ egget(struct eg_softc *sc, void *buf, int totlen) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == 0) return (0); - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = totlen; len = MHLEN; m = m0; diff --git a/sys/dev/isa/if_el.c b/sys/dev/isa/if_el.c index 062a917..e6643e3 100644 --- a/sys/dev/isa/if_el.c +++ b/sys/dev/isa/if_el.c @@ -611,7 +611,7 @@ elget(struct el_softc *sc, int totlen) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == 0) return (0); - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = totlen; len = MHLEN; m = m0; diff --git a/sys/dev/isa/if_iy.c b/sys/dev/isa/if_iy.c index dc4b9f0..78e8b64 100644 --- a/sys/dev/isa/if_iy.c +++ b/sys/dev/isa/if_iy.c @@ -992,7 +992,7 @@ iyget(struct iy_softc *sc, bus_space_tag_t iot, bus_space_handle_t ioh, int rxle MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) goto dropped; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = rxlen; len = MHLEN; top = 0; diff --git a/sys/dev/kttcp.c b/sys/dev/kttcp.c index c98a047..c4ae5a7 100644 --- a/sys/dev/kttcp.c +++ b/sys/dev/kttcp.c @@ -267,7 +267,7 @@ kttcp_sosend(struct socket *so, unsigned long long slen, m = m_gethdr(M_WAIT, MT_DATA); mlen = MHLEN; m->m_pkthdr.len = 0; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); } else { m = m_get(M_WAIT, MT_DATA); mlen = MLEN; diff --git a/sys/dev/marvell/if_gfe.c b/sys/dev/marvell/if_gfe.c index 937c474..d036e1e 100644 --- a/sys/dev/marvell/if_gfe.c +++ b/sys/dev/marvell/if_gfe.c @@ -933,7 +933,7 @@ gfe_rx_get(struct gfe_softc *sc, enum gfe_rxprio rxprio) m->m_data += 2; m->m_len = 0; m->m_pkthdr.len = 0; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); rxq->rxq_cmdsts = cmdsts; --rxq->rxq_active; diff --git a/sys/dev/marvell/if_mvgbe.c b/sys/dev/marvell/if_mvgbe.c index 34c4c7f..8d1d6b3 100644 --- a/sys/dev/marvell/if_mvgbe.c +++ b/sys/dev/marvell/if_mvgbe.c @@ -2073,7 +2073,7 @@ mvgbe_rxeof(struct mvgbe_softc *sc) } m = m0; } else { - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = total_len; } diff --git a/sys/dev/marvell/if_mvxpe.c b/sys/dev/marvell/if_mvxpe.c index f07f42a..e1f4f00 100644 --- a/sys/dev/marvell/if_mvxpe.c +++ b/sys/dev/marvell/if_mvxpe.c @@ -2459,7 +2459,7 @@ mvxpe_rx_queue(struct mvxpe_softc *sc, int q, int npkt) goto rx_done; } m = chunk->m; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = r->bytecnt - ETHER_CRC_LEN; m_adj(m, MVXPE_HWHEADER_SIZE); /* strip MH */ mvxpe_rx_set_csumflag(ifp, r, m); diff --git a/sys/dev/ofw/ofnet.c b/sys/dev/ofw/ofnet.c index 8ca987b..d162ddc 100644 --- a/sys/dev/ofw/ofnet.c +++ b/sys/dev/ofw/ofnet.c @@ -206,7 +206,7 @@ ofnet_read(struct ofnet_softc *of) ifp->if_ierrors++; continue; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; l = MHLEN; diff --git a/sys/dev/pci/cxgb/cxgb_sge.c b/sys/dev/pci/cxgb/cxgb_sge.c index 5113dbd..3a2bd61 100644 --- a/sys/dev/pci/cxgb/cxgb_sge.c +++ b/sys/dev/pci/cxgb/cxgb_sge.c @@ -2169,7 +2169,7 @@ t3_rx_eth(struct adapter *adap, struct sge_rspq *rq, struct mbuf *m, int ethpad) } #endif - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m_explode(m); /* * adjust after conversion to mbuf chain diff --git a/sys/dev/pci/if_age.c b/sys/dev/pci/if_age.c index ef05202..37c5d15 100644 --- a/sys/dev/pci/if_age.c +++ b/sys/dev/pci/if_age.c @@ -1462,7 +1462,7 @@ age_rxeof(struct age_softc *sc, struct rx_rdesc *rxrd) m = sc->age_cdata.age_rxhead; m->m_flags |= M_PKTHDR; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = sc->age_cdata.age_rxlen; /* Set the first mbuf length. */ m->m_len = sc->age_cdata.age_rxlen - pktlen; diff --git a/sys/dev/pci/if_alc.c b/sys/dev/pci/if_alc.c index f56fc66..539fac1 100644 --- a/sys/dev/pci/if_alc.c +++ b/sys/dev/pci/if_alc.c @@ -2574,7 +2574,7 @@ alc_rxeof(struct alc_softc *sc, struct rx_rdesc *rrd) } } else m->m_len = m->m_pkthdr.len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); #if NVLAN > 0 /* * Due to hardware bugs, Rx checksum offloading diff --git a/sys/dev/pci/if_bce.c b/sys/dev/pci/if_bce.c index bd0553e..6387d0c 100644 --- a/sys/dev/pci/if_bce.c +++ b/sys/dev/pci/if_bce.c @@ -804,7 +804,7 @@ bce_rxintr(struct bce_softc *sc) } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; ifp->if_ipackets++; diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index bd6c5c0..e8a8355 100644 --- a/sys/dev/pci/if_bge.c +++ b/sys/dev/pci/if_bge.c @@ -4560,7 +4560,7 @@ bge_rxeof(struct bge_softc *sc) #endif m->m_pkthdr.len = m->m_len = cur_rx->bge_len - ETHER_CRC_LEN; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* * Handle BPF listeners. Let the BPF user see the packet. diff --git a/sys/dev/pci/if_bnx.c b/sys/dev/pci/if_bnx.c index 1abe60d..1e668cb 100644 --- a/sys/dev/pci/if_bnx.c +++ b/sys/dev/pci/if_bnx.c @@ -4577,7 +4577,7 @@ bnx_rx_intr(struct bnx_softc *sc) m->m_pkthdr.len = m->m_len = len; /* Send the packet to the appropriate interface. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); DBRUN(BNX_VERBOSE_RECV, struct ether_header *eh; diff --git a/sys/dev/pci/if_de.c b/sys/dev/pci/if_de.c index 365a6ed..ce4bab3 100644 --- a/sys/dev/pci/if_de.c +++ b/sys/dev/pci/if_de.c @@ -3748,7 +3748,7 @@ tulip_rx_intr( #endif #if !defined(TULIP_COPY_RXDATA) ms->m_pkthdr.len = total_len; - ms->m_pkthdr.rcvif = ifp; + m_set_rcvif(ms, ifp); #if defined(__NetBSD__) if_percpuq_enqueue(ifp->if_percpuq, ms); #else @@ -3762,7 +3762,7 @@ tulip_rx_intr( m0->m_data += 2; /* align data after header */ m_copydata(ms, 0, total_len, mtod(m0, void *)); m0->m_len = m0->m_pkthdr.len = total_len; - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); #if defined(__NetBSD__) if_percpuq_enqueue(ifp->if_percpuq, m0); #else diff --git a/sys/dev/pci/if_dge.c b/sys/dev/pci/if_dge.c index 6957d95..1fe2dda 100644 --- a/sys/dev/pci/if_dge.c +++ b/sys/dev/pci/if_dge.c @@ -1782,7 +1782,7 @@ dge_rxintr(struct dge_softc *sc) /* * No errors. Receive the packet. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; /* diff --git a/sys/dev/pci/if_et.c b/sys/dev/pci/if_et.c index 80fef7c..e754b73 100644 --- a/sys/dev/pci/if_et.c +++ b/sys/dev/pci/if_et.c @@ -1754,7 +1754,7 @@ et_rxeof(struct et_softc *sc) } else { m->m_pkthdr.len = m->m_len = buflen - ETHER_CRC_LEN; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); bpf_mtap(ifp, m); diff --git a/sys/dev/pci/if_ipw.c b/sys/dev/pci/if_ipw.c index b9955a6..09b4a74 100644 --- a/sys/dev/pci/if_ipw.c +++ b/sys/dev/pci/if_ipw.c @@ -1054,7 +1054,7 @@ ipw_data_intr(struct ipw_softc *sc, struct ipw_status *status, sbd->bd->physaddr = htole32(sbuf->map->dm_segs[0].ds_addr); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = le32toh(status->len); if (sc->sc_drvbpf != NULL) { diff --git a/sys/dev/pci/if_iwi.c b/sys/dev/pci/if_iwi.c index b45cdfe..e1efdf5 100644 --- a/sys/dev/pci/if_iwi.c +++ b/sys/dev/pci/if_iwi.c @@ -1197,7 +1197,7 @@ iwi_frame_intr(struct iwi_softc *sc, struct iwi_rx_data *data, int i, CSR_WRITE_4(sc, IWI_CSR_RX_BASE + i * 4, data->map->dm_segs[0].ds_addr); /* Finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = sizeof (struct iwi_hdr) + sizeof (struct iwi_frame) + le16toh(frame->len); diff --git a/sys/dev/pci/if_iwm.c b/sys/dev/pci/if_iwm.c index 0fa6c9b..e9deeb3 100644 --- a/sys/dev/pci/if_iwm.c +++ b/sys/dev/pci/if_iwm.c @@ -3206,7 +3206,7 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc, if (iwm_rx_addbuf(sc, IWM_RBUF_SIZE, sc->rxq.cur) != 0) return; - m->m_pkthdr.rcvif = IC2IFP(ic); + m_set_rcvif(m, IC2IFP(ic)); if (sc->sc_scanband == IEEE80211_CHAN_5GHZ) { if (le32toh(phy_info->channel) < __arraycount(ic->ic_channels)) diff --git a/sys/dev/pci/if_iwn.c b/sys/dev/pci/if_iwn.c index 6723d16..3bbb640 100644 --- a/sys/dev/pci/if_iwn.c +++ b/sys/dev/pci/if_iwn.c @@ -2075,7 +2075,7 @@ iwn_rx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc, BUS_DMASYNC_PREWRITE); /* Finalize mbuf. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_data = head; m->m_pkthdr.len = m->m_len = len; diff --git a/sys/dev/pci/if_jme.c b/sys/dev/pci/if_jme.c index edf7b4a..383112a 100644 --- a/sys/dev/pci/if_jme.c +++ b/sys/dev/pci/if_jme.c @@ -1144,7 +1144,7 @@ jme_intr_rx(jme_softc_t *sc) { } /* build mbuf chain: head, then remaining segments */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = JME_RX_BYTES(buflen) - JME_RX_PAD_BYTES; m->m_len = (nsegs > 1) ? (MCLBYTES - JME_RX_PAD_BYTES) : m->m_pkthdr.len; diff --git a/sys/dev/pci/if_kse.c b/sys/dev/pci/if_kse.c index e4abd31..fe2e3fe 100644 --- a/sys/dev/pci/if_kse.c +++ b/sys/dev/pci/if_kse.c @@ -1189,7 +1189,7 @@ rxintr(struct kse_softc *sc) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; if (sc->sc_mcsum) { diff --git a/sys/dev/pci/if_lii.c b/sys/dev/pci/if_lii.c index ee7db8f..3f36b2c 100644 --- a/sys/dev/pci/if_lii.c +++ b/sys/dev/pci/if_lii.c @@ -993,7 +993,7 @@ lii_rxintr(struct lii_softc *sc) } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* Copy the packet withhout the FCS */ m->m_pkthdr.len = m->m_len = size; memcpy(mtod(m, void *), &rxp->rxp_data[0], size); diff --git a/sys/dev/pci/if_lmc.c b/sys/dev/pci/if_lmc.c index 4022f9a..9a4a707 100644 --- a/sys/dev/pci/if_lmc.c +++ b/sys/dev/pci/if_lmc.c @@ -4248,9 +4248,9 @@ rxintr_cleanup(softc_t *sc) first_mbuf = new_mbuf; first_mbuf->m_pkthdr.len = pkt_len; /* total pkt length */ # if IFNET - first_mbuf->m_pkthdr.rcvif = sc->ifp; /* how it got here */ + m_set_rcvif(first_mbuf, sc->ifp); /* how it got here */ # else - first_mbuf->m_pkthdr.rcvif = NULL; + m_reset_rcvif(first_mbuf); # endif } else /* 2) link mbufs. */ @@ -4279,7 +4279,7 @@ rxintr_cleanup(softc_t *sc) MGETHDR(new_mbuf, M_DONTWAIT, MT_DATA); if (new_mbuf) { - new_mbuf->m_pkthdr.rcvif = first_mbuf->m_pkthdr.rcvif; + m_set_rcvif(new_mbuf, first_mbuf->m_pkthdr.rcvif); new_mbuf->m_pkthdr.len = first_mbuf->m_pkthdr.len; new_mbuf->m_len = first_mbuf->m_len; memcpy(new_mbuf->m_data, first_mbuf->m_data, diff --git a/sys/dev/pci/if_msk.c b/sys/dev/pci/if_msk.c index bf42474..6c607ad 100644 --- a/sys/dev/pci/if_msk.c +++ b/sys/dev/pci/if_msk.c @@ -1742,7 +1742,7 @@ msk_rxeof(struct sk_if_softc *sc_if, u_int16_t len, u_int32_t rxstat) m_adj(m0, ETHER_ALIGN); m = m0; } else { - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = total_len; } diff --git a/sys/dev/pci/if_nfe.c b/sys/dev/pci/if_nfe.c index cdd7747..bb16bc4 100644 --- a/sys/dev/pci/if_nfe.c +++ b/sys/dev/pci/if_nfe.c @@ -917,7 +917,7 @@ nfe_rxeof(struct nfe_softc *sc) mbufcopied: /* finalize mbuf */ m->m_pkthdr.len = m->m_len = len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); if ((sc->sc_flags & NFE_HW_CSUM) != 0) { /* diff --git a/sys/dev/pci/if_pcn.c b/sys/dev/pci/if_pcn.c index b8f5284..229e82c 100644 --- a/sys/dev/pci/if_pcn.c +++ b/sys/dev/pci/if_pcn.c @@ -1544,7 +1544,7 @@ pcn_rxintr(struct pcn_softc *sc) } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* Pass this up to any BPF listeners. */ diff --git a/sys/dev/pci/if_rtwn.c b/sys/dev/pci/if_rtwn.c index 5f531c0..3956628 100644 --- a/sys/dev/pci/if_rtwn.c +++ b/sys/dev/pci/if_rtwn.c @@ -1748,7 +1748,7 @@ rtwn_rx_frame(struct rtwn_softc *sc, struct r92c_rx_desc *rx_desc, m = rx_data->m; rx_data->m = m1; m->m_pkthdr.len = m->m_len = totlen; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); bus_dmamap_sync(sc->sc_dmat, rx_data->map, 0, MCLBYTES, BUS_DMASYNC_PREREAD); diff --git a/sys/dev/pci/if_sip.c b/sys/dev/pci/if_sip.c index 014e62c..cde5d5e 100644 --- a/sys/dev/pci/if_sip.c +++ b/sys/dev/pci/if_sip.c @@ -2232,7 +2232,7 @@ gsip_rxintr(struct sip_softc *sc) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; /* @@ -2399,7 +2399,7 @@ sip_rxintr(struct sip_softc *sc) #endif /* __NO_STRICT_ALIGNMENT */ ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/pci/if_sk.c b/sys/dev/pci/if_sk.c index f266508..a8fa8bd 100644 --- a/sys/dev/pci/if_sk.c +++ b/sys/dev/pci/if_sk.c @@ -2109,7 +2109,7 @@ sk_rxeof(struct sk_if_softc *sc_if) m_adj(m0, ETHER_ALIGN); m = m0; } else { - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = total_len; } diff --git a/sys/dev/pci/if_ste.c b/sys/dev/pci/if_ste.c index d97dafb..33f1371 100644 --- a/sys/dev/pci/if_ste.c +++ b/sys/dev/pci/if_ste.c @@ -1040,7 +1040,7 @@ ste_rxintr(struct ste_softc *sc) } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; /* diff --git a/sys/dev/pci/if_stge.c b/sys/dev/pci/if_stge.c index 31f9df6..9b4de20 100644 --- a/sys/dev/pci/if_stge.c +++ b/sys/dev/pci/if_stge.c @@ -1348,7 +1348,7 @@ stge_rxintr(struct stge_softc *sc) } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; /* diff --git a/sys/dev/pci/if_ti.c b/sys/dev/pci/if_ti.c index 841e4c2..efd256a 100644 --- a/sys/dev/pci/if_ti.c +++ b/sys/dev/pci/if_ti.c @@ -1966,7 +1966,7 @@ ti_rxeof(struct ti_softc *sc) m->m_pkthdr.len = m->m_len = cur_rx->ti_len; ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* * Handle BPF listeners. Let the BPF user see the packet, but diff --git a/sys/dev/pci/if_tl.c b/sys/dev/pci/if_tl.c index 8f1fa95..621738f 100644 --- a/sys/dev/pci/if_tl.c +++ b/sys/dev/pci/if_tl.c @@ -1067,7 +1067,7 @@ tl_intr(void *v) m_freem(m); continue; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = size; #ifdef TLDEBUG_RX { diff --git a/sys/dev/pci/if_txp.c b/sys/dev/pci/if_txp.c index 0de559e..66c4b76 100644 --- a/sys/dev/pci/if_txp.c +++ b/sys/dev/pci/if_txp.c @@ -715,7 +715,7 @@ txp_rx_reclaim(struct txp_softc *sc, struct txp_rx_ring *r, struct txp_dma_alloc goto next; } } - mnew->m_pkthdr.rcvif = ifp; + m_set_rcvif(mnew, ifp); mnew->m_pkthdr.len = mnew->m_len = m->m_len; mnew->m_data += 2; memcpy(mnew->m_data, m->m_data, m->m_len); @@ -803,7 +803,7 @@ txp_rxbuf_reclaim(struct txp_softc *sc) MCLGET(sd->sd_mbuf, M_DONTWAIT); if ((sd->sd_mbuf->m_flags & M_EXT) == 0) goto err_mbuf; - sd->sd_mbuf->m_pkthdr.rcvif = ifp; + m_set_rcvif(sd->sd_mbuf, ifp); sd->sd_mbuf->m_pkthdr.len = sd->sd_mbuf->m_len = MCLBYTES; if (bus_dmamap_create(sc->sc_dmat, TXP_MAX_PKTLEN, 1, TXP_MAX_PKTLEN, 0, BUS_DMA_NOWAIT, &sd->sd_map)) @@ -1087,7 +1087,7 @@ txp_alloc_rings(struct txp_softc *sc) goto bail_rxbufring; } sd->sd_mbuf->m_pkthdr.len = sd->sd_mbuf->m_len = MCLBYTES; - sd->sd_mbuf->m_pkthdr.rcvif = ifp; + m_set_rcvif(sd->sd_mbuf, ifp); if (bus_dmamap_create(sc->sc_dmat, TXP_MAX_PKTLEN, 1, TXP_MAX_PKTLEN, 0, BUS_DMA_NOWAIT, &sd->sd_map)) { goto bail_rxbufring; diff --git a/sys/dev/pci/if_vge.c b/sys/dev/pci/if_vge.c index 08713d7..dc31e91 100644 --- a/sys/dev/pci/if_vge.c +++ b/sys/dev/pci/if_vge.c @@ -1327,7 +1327,7 @@ vge_rxeof(struct vge_softc *sc) vge_fixup_rx(m); #endif ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* Do RX checksumming if enabled */ if (ifp->if_csum_flags_rx & M_CSUM_IPv4) { diff --git a/sys/dev/pci/if_vioif.c b/sys/dev/pci/if_vioif.c index 5b94c36..88477aa 100644 --- a/sys/dev/pci/if_vioif.c +++ b/sys/dev/pci/if_vioif.c @@ -1032,7 +1032,7 @@ vioif_rx_deq_locked(struct vioif_softc *sc) bus_dmamap_unload(vsc->sc_dmat, sc->sc_rx_dmamaps[slot]); sc->sc_rx_mbufs[slot] = 0; virtio_dequeue_commit(vsc, vq, slot); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_len = m->m_pkthdr.len = len; ifp->if_ipackets++; bpf_mtap(ifp, m); diff --git a/sys/dev/pci/if_vr.c b/sys/dev/pci/if_vr.c index 4031cb1..94ab5a6 100644 --- a/sys/dev/pci/if_vr.c +++ b/sys/dev/pci/if_vr.c @@ -778,7 +778,7 @@ vr_rxeof(struct vr_softc *sc) #endif /* __NO_STRICT_ALIGNMENT */ ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = total_len; /* * Handle BPF listeners. Let the BPF user see the packet, but diff --git a/sys/dev/pci/if_vte.c b/sys/dev/pci/if_vte.c index 95d68f8..b57c093 100644 --- a/sys/dev/pci/if_vte.c +++ b/sys/dev/pci/if_vte.c @@ -1128,7 +1128,7 @@ vte_rxeof(struct vte_softc *sc) * It seems there is no way to strip FCS bytes. */ m->m_pkthdr.len = m->m_len = total_len - ETHER_CRC_LEN; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); ifp->if_ipackets++; bpf_mtap(ifp, m); if_percpuq_enqueue(ifp->if_percpuq, m); diff --git a/sys/dev/pci/if_wm.c b/sys/dev/pci/if_wm.c index ab628a8..d7d4605 100644 --- a/sys/dev/pci/if_wm.c +++ b/sys/dev/pci/if_wm.c @@ -7229,7 +7229,7 @@ wm_rxeof(struct wm_rxqueue *rxq) } /* No errors. Receive the packet. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = len; /* diff --git a/sys/dev/pci/if_wpi.c b/sys/dev/pci/if_wpi.c index b49b43d..822e0aa 100644 --- a/sys/dev/pci/if_wpi.c +++ b/sys/dev/pci/if_wpi.c @@ -1541,7 +1541,7 @@ wpi_rx_intr(struct wpi_softc *sc, struct wpi_rx_desc *desc, m->m_pkthdr.len = m->m_len = le16toh(head->len); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); if (sc->sc_drvbpf != NULL) { struct wpi_rx_radiotap_header *tap = &sc->sc_rxtap; diff --git a/sys/dev/pci/if_xge.c b/sys/dev/pci/if_xge.c index 8afb6af..174d96c 100644 --- a/sys/dev/pci/if_xge.c +++ b/sys/dev/pci/if_xge.c @@ -769,7 +769,7 @@ xge_intr(void *pv) plen += m->m_next->m_next->m_next->m_next->m_len = RXD_CTL3_BUF4SIZ(rxd->rxd_control3); #endif - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = plen; val = rxd->rxd_control1; diff --git a/sys/dev/pci/ixgbe/ixgbe.c b/sys/dev/pci/ixgbe/ixgbe.c index 6ee4a5b..594df81 100644 --- a/sys/dev/pci/ixgbe/ixgbe.c +++ b/sys/dev/pci/ixgbe/ixgbe.c @@ -5028,7 +5028,7 @@ ixgbe_rxeof(struct ix_queue *que) sendmp = NULL; mp->m_next = nbuf->buf; } else { /* Sending this frame */ - sendmp->m_pkthdr.rcvif = ifp; + m_set_rcvif(sendmp, ifp); ifp->if_ipackets++; rxr->rx_packets.ev_count++; /* capture data for AIM */ diff --git a/sys/dev/pci/ixgbe/ixv.c b/sys/dev/pci/ixgbe/ixv.c index 71c578c..27d32a9 100644 --- a/sys/dev/pci/ixgbe/ixv.c +++ b/sys/dev/pci/ixgbe/ixv.c @@ -3593,7 +3593,7 @@ ixv_rxeof(struct ix_queue *que, int count) ++processed; /* Sending this frame? */ if (eop) { - sendmp->m_pkthdr.rcvif = ifp; + m_set_rcvif(sendmp, ifp); ifp->if_ipackets++; rxr->rx_packets.ev_count++; /* capture data for AIM */ diff --git a/sys/dev/pcmcia/if_cnw.c b/sys/dev/pcmcia/if_cnw.c index 3995473..16522ce 100644 --- a/sys/dev/pcmcia/if_cnw.c +++ b/sys/dev/pcmcia/if_cnw.c @@ -760,7 +760,7 @@ cnw_read(struct cnw_softc *sc) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == 0) return (0); - m->m_pkthdr.rcvif = &sc->sc_ethercom.ec_if; + m_set_rcvif(m, &sc->sc_ethercom.ec_if); m->m_pkthdr.len = totbytes; mbytes = MHLEN; top = 0; diff --git a/sys/dev/pcmcia/if_ray.c b/sys/dev/pcmcia/if_ray.c index b01ac4a..afd8c26 100644 --- a/sys/dev/pcmcia/if_ray.c +++ b/sys/dev/pcmcia/if_ray.c @@ -1347,7 +1347,7 @@ ray_recv(struct ray_softc *sc, bus_size_t ccs) goto done; } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = pktlen; m->m_len = pktlen; m->m_data += fudge; diff --git a/sys/dev/pcmcia/if_xi.c b/sys/dev/pcmcia/if_xi.c index e704f88..8cf0a83 100644 --- a/sys/dev/pcmcia/if_xi.c +++ b/sys/dev/pcmcia/if_xi.c @@ -417,7 +417,7 @@ xi_get(struct xi_softc *sc) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return (recvcount); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = pktlen; len = MHLEN; top = NULL; diff --git a/sys/dev/qbus/if_qe.c b/sys/dev/qbus/if_qe.c index 7619e23..63e895a 100644 --- a/sys/dev/qbus/if_qe.c +++ b/sys/dev/qbus/if_qe.c @@ -591,7 +591,7 @@ qeintr(void *arg) len = ((status1 & QE_RBL_HI) | (status2 & QE_RBL_LO)) + 60; qe_add_rxbuf(sc, sc->sc_nextrx); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; if (++sc->sc_nextrx == RXDESCS) sc->sc_nextrx = 0; diff --git a/sys/dev/qbus/if_uba.c b/sys/dev/qbus/if_uba.c index 5f5fc2f..669823e 100644 --- a/sys/dev/qbus/if_uba.c +++ b/sys/dev/qbus/if_uba.c @@ -202,7 +202,7 @@ if_ubaget(struct ifubinfo *ifu, struct ifrw *ifr, struct ifnet *ifp, int len) if ((bus_dmamap_load(uh->uh_dmat, ifr->ifrw_map, mn->m_ext.ext_buf, mn->m_ext.ext_size, NULL, BUS_DMA_NOWAIT))) panic("if_ubaget"); /* Cannot happen */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_len = m->m_pkthdr.len = len; return m; } diff --git a/sys/dev/sbus/be.c b/sys/dev/sbus/be.c index 9d9be0f..999da09 100644 --- a/sys/dev/sbus/be.c +++ b/sys/dev/sbus/be.c @@ -504,7 +504,7 @@ be_get(struct be_softc *sc, int idx, int totlen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return (NULL); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = totlen; pad = ALIGN(sizeof(struct ether_header)) - sizeof(struct ether_header); diff --git a/sys/dev/sbus/qe.c b/sys/dev/sbus/qe.c index fd7a287..7d81886 100644 --- a/sys/dev/sbus/qe.c +++ b/sys/dev/sbus/qe.c @@ -334,7 +334,7 @@ qe_get(struct qe_softc *sc, int idx, int totlen) MGETHDR(m, M_DONTWAIT, MT_DATA); if (m == NULL) return (NULL); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = totlen; pad = ALIGN(sizeof(struct ether_header)) - sizeof(struct ether_header); m->m_data += pad; diff --git a/sys/dev/scsipi/if_se.c b/sys/dev/scsipi/if_se.c index c6f7182..878682b 100644 --- a/sys/dev/scsipi/if_se.c +++ b/sys/dev/scsipi/if_se.c @@ -577,7 +577,7 @@ se_get(struct se_softc *sc, char *data, int totlen) MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == 0) return (0); - m0->m_pkthdr.rcvif = ifp; + m_set_rcvif(m0, ifp); m0->m_pkthdr.len = totlen; len = MHLEN; m = m0; diff --git a/sys/dev/usb/if_athn_usb.c b/sys/dev/usb/if_athn_usb.c index 471f68b..c833b18 100644 --- a/sys/dev/usb/if_athn_usb.c +++ b/sys/dev/usb/if_athn_usb.c @@ -2088,7 +2088,7 @@ athn_usb_rx_frame(struct athn_usb_softc *usc, struct mbuf *m) goto skip; m_adj(m, sizeof(*rs)); /* Strip Rx status. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_atu.c b/sys/dev/usb/if_atu.c index 19294c7..10f2f39 100644 --- a/sys/dev/usb/if_atu.c +++ b/sys/dev/usb/if_atu.c @@ -1692,7 +1692,7 @@ atu_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) m = c->atu_mbuf; memcpy(mtod(m, char *), c->atu_buf + ATU_RX_HDRLEN, len); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = len; wh = mtod(m, struct ieee80211_frame_min *); diff --git a/sys/dev/usb/if_aue.c b/sys/dev/usb/if_aue.c index e655b2b..f1cd777 100644 --- a/sys/dev/usb/if_aue.c +++ b/sys/dev/usb/if_aue.c @@ -1152,7 +1152,7 @@ aue_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) m->m_pkthdr.len = m->m_len = total_len; ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_axe.c b/sys/dev/usb/if_axe.c index 43d3415..0917464 100644 --- a/sys/dev/usb/if_axe.c +++ b/sys/dev/usb/if_axe.c @@ -1076,7 +1076,7 @@ axe_rxeof(struct usbd_xfer *xfer, void * priv, usbd_status status) m->m_data += ETHER_ALIGN; ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = pktlen; memcpy(mtod(m, uint8_t *), buf, pktlen); diff --git a/sys/dev/usb/if_axen.c b/sys/dev/usb/if_axen.c index 1665641..e9f5dfa 100644 --- a/sys/dev/usb/if_axen.c +++ b/sys/dev/usb/if_axen.c @@ -1077,7 +1077,7 @@ axen_rxeof(struct usbd_xfer *xfer, void * priv, usbd_status status) /* skip pseudo header (2byte) */ ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = pkt_len - 6; #ifdef AXEN_TOE diff --git a/sys/dev/usb/if_cdce.c b/sys/dev/usb/if_cdce.c index 1aac5f2..739db50 100644 --- a/sys/dev/usb/if_cdce.c +++ b/sys/dev/usb/if_cdce.c @@ -714,7 +714,7 @@ cdce_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) ifp->if_ipackets++; m->m_pkthdr.len = m->m_len = total_len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_cue.c b/sys/dev/usb/if_cue.c index 5284945..52c9098 100644 --- a/sys/dev/usb/if_cue.c +++ b/sys/dev/usb/if_cue.c @@ -771,7 +771,7 @@ cue_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) m_adj(m, sizeof(uint16_t)); m->m_pkthdr.len = m->m_len = total_len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_kue.c b/sys/dev/usb/if_kue.c index fa6f32d..ec7170c 100644 --- a/sys/dev/usb/if_kue.c +++ b/sys/dev/usb/if_kue.c @@ -708,7 +708,7 @@ kue_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) ifp->if_ipackets++; m->m_pkthdr.len = m->m_len = pktlen; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_otus.c b/sys/dev/usb/if_otus.c index 04aeef4..f3ca866 100644 --- a/sys/dev/usb/if_otus.c +++ b/sys/dev/usb/if_otus.c @@ -1774,7 +1774,7 @@ otus_sub_rxeof(struct otus_softc *sc, uint8_t *buf, int len) } } /* Finalize mbuf. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_data += align; memcpy(mtod(m, void *), wh, mlen); m->m_pkthdr.len = m->m_len = mlen; diff --git a/sys/dev/usb/if_rum.c b/sys/dev/usb/if_rum.c index 7750220..0eab0c1 100644 --- a/sys/dev/usb/if_rum.c +++ b/sys/dev/usb/if_rum.c @@ -866,7 +866,7 @@ rum_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) data->buf = mtod(data->m, uint8_t *); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_data = (void *)(desc + 1); m->m_pkthdr.len = m->m_len = (le32toh(desc->flags) >> 16) & 0xfff; diff --git a/sys/dev/usb/if_run.c b/sys/dev/usb/if_run.c index fc957d1..cad0595 100644 --- a/sys/dev/usb/if_run.c +++ b/sys/dev/usb/if_run.c @@ -2068,7 +2068,7 @@ run_rx_frame(struct run_softc *sc, uint8_t *buf, int dmalen) } } /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); memcpy(mtod(m, void *), wh, len); m->m_pkthdr.len = m->m_len = len; diff --git a/sys/dev/usb/if_smsc.c b/sys/dev/usb/if_smsc.c index 6211ce5..8d5a852 100644 --- a/sys/dev/usb/if_smsc.c +++ b/sys/dev/usb/if_smsc.c @@ -1347,7 +1347,7 @@ smsc_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = pktlen; m->m_flags |= M_HASFCS; m_adj(m, ETHER_ALIGN); diff --git a/sys/dev/usb/if_udav.c b/sys/dev/usb/if_udav.c index 77f5da6..4ad0458 100644 --- a/sys/dev/usb/if_udav.c +++ b/sys/dev/usb/if_udav.c @@ -1177,7 +1177,7 @@ udav_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) total_len -= ETHER_CRC_LEN; m->m_pkthdr.len = m->m_len = total_len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_upl.c b/sys/dev/usb/if_upl.c index 4301036..4a2446a 100644 --- a/sys/dev/usb/if_upl.c +++ b/sys/dev/usb/if_upl.c @@ -519,7 +519,7 @@ upl_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) ifp->if_ipackets++; m->m_pkthdr.len = m->m_len = total_len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_ural.c b/sys/dev/usb/if_ural.c index 21f38a3..039c334 100644 --- a/sys/dev/usb/if_ural.c +++ b/sys/dev/usb/if_ural.c @@ -950,7 +950,7 @@ ural_rxeof(struct usbd_xfer *xfer, void * priv, usbd_status status) data->buf = mtod(data->m, uint8_t *); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = (le32toh(desc->flags) >> 16) & 0xfff; m->m_flags |= M_HASFCS; /* h/w leaves FCS */ diff --git a/sys/dev/usb/if_url.c b/sys/dev/usb/if_url.c index cbbe1d9..58c04d2 100644 --- a/sys/dev/usb/if_url.c +++ b/sys/dev/usb/if_url.c @@ -1039,7 +1039,7 @@ url_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) m = c->url_mbuf; m->m_pkthdr.len = m->m_len = total_len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_urndis.c b/sys/dev/usb/if_urndis.c index a384d70..d2f0a72 100644 --- a/sys/dev/usb/if_urndis.c +++ b/sys/dev/usb/if_urndis.c @@ -863,7 +863,7 @@ urndis_decap(struct urndis_softc *sc, struct urndis_chain *c, uint32_t len) m->m_pkthdr.len = m->m_len = le32toh(msg->rm_datalen); ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); diff --git a/sys/dev/usb/if_urtw.c b/sys/dev/usb/if_urtw.c index bc6bd1e..3d842d9 100644 --- a/sys/dev/usb/if_urtw.c +++ b/sys/dev/usb/if_urtw.c @@ -3118,7 +3118,7 @@ urtw_rxeof(struct usbd_xfer *xfer, void *priv, usbd_status status) data->buf = mtod(mnew, uint8_t *); /* finalize mbuf */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = flen - 4; s = splnet(); diff --git a/sys/dev/usb/if_urtwn.c b/sys/dev/usb/if_urtwn.c index 72ba277..cae07f4 100644 --- a/sys/dev/usb/if_urtwn.c +++ b/sys/dev/usb/if_urtwn.c @@ -2265,7 +2265,7 @@ urtwn_rx_frame(struct urtwn_softc *sc, uint8_t *buf, int pktlen) } /* Finalize mbuf. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); wh = (struct ieee80211_frame *)((uint8_t *)&stat[1] + infosz); memcpy(mtod(m, uint8_t *), wh, pktlen); m->m_pkthdr.len = m->m_len = pktlen; diff --git a/sys/dev/usb/if_zyd.c b/sys/dev/usb/if_zyd.c index 521938a..071981b 100644 --- a/sys/dev/usb/if_zyd.c +++ b/sys/dev/usb/if_zyd.c @@ -1948,7 +1948,7 @@ zyd_rx_data(struct zyd_softc *sc, const uint8_t *buf, uint16_t len) return; } } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = rlen; memcpy(mtod(m, uint8_t *), (const uint8_t *)(plcp + 1), rlen); diff --git a/sys/dev/usb/uhso.c b/sys/dev/usb/uhso.c index 7ee4a7b..661a159 100644 --- a/sys/dev/usb/uhso.c +++ b/sys/dev/usb/uhso.c @@ -2164,7 +2164,7 @@ uhso_ifnet_input(struct ifnet *ifp, struct mbuf **mb, uint8_t *cp, size_t cc) break; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = m->m_len = got; s = splnet(); diff --git a/sys/dist/pf/net/if_pfsync.c b/sys/dist/pf/net/if_pfsync.c index 46bc825..931624c 100644 --- a/sys/dist/pf/net/if_pfsync.c +++ b/sys/dist/pf/net/if_pfsync.c @@ -1091,7 +1091,7 @@ pfsync_get_mbuf(struct pfsync_softc *sc, u_int8_t action, void **sp) } else MH_ALIGN(m, len); - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m->m_pkthdr.len = m->m_len = sizeof(struct pfsync_header); h = mtod(m, struct pfsync_header *); h->version = PFSYNC_VERSION; diff --git a/sys/dist/pf/net/pf.c b/sys/dist/pf/net/pf.c index 41bfc65..aa69995 100644 --- a/sys/dist/pf/net/pf.c +++ b/sys/dist/pf/net/pf.c @@ -1735,7 +1735,7 @@ pf_send_tcp(const struct pf_rule *r, sa_family_t af, #endif /* ALTQ */ m->m_data += max_linkhdr; m->m_pkthdr.len = m->m_len = len; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); bzero(m->m_data, len); switch (af) { #ifdef INET diff --git a/sys/external/bsd/ipf/netinet/ip_compat.h b/sys/external/bsd/ipf/netinet/ip_compat.h index cd93443..a983fb5 100644 --- a/sys/external/bsd/ipf/netinet/ip_compat.h +++ b/sys/external/bsd/ipf/netinet/ip_compat.h @@ -1952,8 +1952,8 @@ MALLOC_DECLARE(M_IPFILTER); if (_o->m_flags & M_PKTHDR) { \ (m)->m_pkthdr.len += \ _o->m_pkthdr.len; \ - (m)->m_pkthdr.rcvif = \ - _o->m_pkthdr.rcvif; \ + m_set_rcvif((m), \ + _o->m_pkthdr.rcvif); \ } \ } while (0) # endif diff --git a/sys/external/bsd/ipf/netinet/ip_fil_netbsd.c b/sys/external/bsd/ipf/netinet/ip_fil_netbsd.c index 2bc25dc..9511da5 100644 --- a/sys/external/bsd/ipf/netinet/ip_fil_netbsd.c +++ b/sys/external/bsd/ipf/netinet/ip_fil_netbsd.c @@ -724,7 +724,7 @@ ipf_send_reset(fr_info_t *fin) m->m_len = sizeof(*tcp2) + hlen; m->m_data += max_linkhdr; m->m_pkthdr.len = m->m_len; - m->m_pkthdr.rcvif = (struct ifnet *)0; + m_reset_rcvif(m); ip = mtod(m, struct ip *); bzero((char *)ip, hlen); #ifdef USE_INET6 @@ -834,7 +834,7 @@ ipf_send_ip(fr_info_t *fin, mb_t *m) return EINVAL; } #ifdef KAME_IPSEC - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); #endif fnew.fin_ifp = fin->fin_ifp; @@ -968,7 +968,7 @@ ipf_send_icmp_err(int type, fr_info_t *fin, int dst) xtra = avail; iclen += xtra; m->m_data += max_linkhdr; - m->m_pkthdr.rcvif = (struct ifnet *)0; + m_reset_rcvif(m); m->m_pkthdr.len = iclen; m->m_len = iclen; ip = mtod(m, ip_t *); @@ -1191,7 +1191,7 @@ ipf_fastroute(mb_t *m0, mb_t **mpp, fr_info_t *fin, frdest_t *fdp) /* * If small enough for interface, can just send directly. */ - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); ip_len = ntohs(ip->ip_len); if (ip_len <= ifp->if_mtu) { @@ -1274,7 +1274,7 @@ ipf_fastroute(mb_t *m0, mb_t **mpp, fr_info_t *fin, frdest_t *fdp) goto sendorfree; } m->m_pkthdr.len = mhlen + len; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); mhip->ip_off = htons((u_short)mhip->ip_off); mhip->ip_sum = 0; #ifdef INET diff --git a/sys/fs/nfs/common/krpc_subr.c b/sys/fs/nfs/common/krpc_subr.c index 99253d8..3f93f0d 100644 --- a/sys/fs/nfs/common/krpc_subr.c +++ b/sys/fs/nfs/common/krpc_subr.c @@ -302,7 +302,7 @@ krpc_call(struct sockaddr_in *sa, u_int prog, u_int vers, u_int func, * Setup packet header */ m_fixhdr(mhead); - mhead->m_pkthdr.rcvif = NULL; + m_reset_rcvif(mhead); /* * Send it, repeatedly, until a reply is received, diff --git a/sys/kern/subr_tftproot.c b/sys/kern/subr_tftproot.c index d81f6f8..8a2ddcb9 100644 --- a/sys/kern/subr_tftproot.c +++ b/sys/kern/subr_tftproot.c @@ -255,7 +255,7 @@ tftproot_getfile(struct tftproot_handle *trh, struct lwp *l) m_clget(m_outbuf, M_WAIT); m_outbuf->m_len = packetlen; m_outbuf->m_pkthdr.len = packetlen; - m_outbuf->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m_outbuf); tftp = mtod(m_outbuf, struct tftphdr *); memset(tftp, 0, packetlen); diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index b53b564..7333854 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -1171,7 +1171,7 @@ m_split0(struct mbuf *m0, int len0, int wait, int copyhdr) if (n == NULL) return NULL; MCLAIM(n, m0->m_owner); - n->m_pkthdr.rcvif = m0->m_pkthdr.rcvif; + m_set_rcvif(n, m0->m_pkthdr.rcvif); n->m_pkthdr.len = m0->m_pkthdr.len - len0; len_save = m0->m_pkthdr.len; m0->m_pkthdr.len = len0; @@ -1240,7 +1240,7 @@ m_devget(char *buf, int totlen, int off0, struct ifnet *ifp, m = m_gethdr(M_DONTWAIT, MT_DATA); if (m == NULL) return NULL; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = totlen; m->m_len = MHLEN; diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 67d2fd4..f8af279 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -998,7 +998,7 @@ sosend(struct socket *so, struct sockaddr *addr, struct uio *uio, m = m_gethdr(M_WAIT, MT_DATA); mlen = MHLEN; m->m_pkthdr.len = 0; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); } else { m = m_get(M_WAIT, MT_DATA); mlen = MLEN; diff --git a/sys/net/agr/if_agr.c b/sys/net/agr/if_agr.c index 74ac05e..59b9712 100644 --- a/sys/net/agr/if_agr.c +++ b/sys/net/agr/if_agr.c @@ -134,7 +134,7 @@ agr_input(struct ifnet *ifp_port, struct mbuf *m) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); #define DNH_DEBUG #if NVLAN > 0 diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 5477c86..3745713 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -300,7 +300,7 @@ bpf_movein(struct uio *uio, int linktype, uint64_t mtu, struct mbuf **mp, return (EIO); m = m_gethdr(M_WAIT, MT_DATA); - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m->m_pkthdr.len = (int)(len - hlen); if (len + align > MHLEN) { m_clget(m, M_WAIT); @@ -715,7 +715,7 @@ bpf_write(struct file *fp, off_t *offp, struct uio *uio, if (d->bd_feedback) { mc = m_dup(m, 0, M_COPYALL, M_NOWAIT); if (mc != NULL) - mc->m_pkthdr.rcvif = ifp; + m_set_rcvif(mc, ifp); /* Set M_PROMISC for outgoing packets to be discarded. */ if (1 /*d->bd_direction == BPF_D_INOUT*/) m->m_flags |= M_PROMISC; diff --git a/sys/net/bridgestp.c b/sys/net/bridgestp.c index 03a9c76..91c3226 100644 --- a/sys/net/bridgestp.c +++ b/sys/net/bridgestp.c @@ -234,7 +234,7 @@ bstp_send_config_bpdu(struct bridge_softc *sc, struct bridge_iflist *bif, eh = mtod(m, struct ether_header *); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = sizeof(*eh) + sizeof(bpdu); m->m_len = m->m_pkthdr.len; @@ -378,7 +378,7 @@ bstp_transmit_tcn(struct bridge_softc *sc) if (m == NULL) return; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_pkthdr.len = sizeof(*eh) + sizeof(bpdu); m->m_len = m->m_pkthdr.len; diff --git a/sys/net/if_atmsubr.c b/sys/net/if_atmsubr.c index 183ab12..b9927b9 100644 --- a/sys/net/if_atmsubr.c +++ b/sys/net/if_atmsubr.c @@ -214,7 +214,7 @@ atm_input(struct ifnet *ifp, struct atm_pseudohdr *ah, struct mbuf *m, splx(s); isr = NETISR_NATM; inq = &natmintrq; - m->m_pkthdr.rcvif = rxhand; /* XXX: overload */ + m_set_rcvif(m, rxhand); /* XXX: overload */ s = splnet(); if (IF_QFULL(inq)) { diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 65b5386..7a621a5d 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -1535,7 +1535,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *sa, } } - mc->m_pkthdr.rcvif = dst_if; + m_set_rcvif(mc, dst_if); mc->m_flags &= ~M_PROMISC; #ifndef NET_MPSAFE @@ -1833,7 +1833,8 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) if (_bif->bif_flags & IFBIF_LEARNING) (void) bridge_rtupdate(sc, eh->ether_shost, ifp, 0, IFBAF_DYNAMIC); - _ifp = m->m_pkthdr.rcvif = _bif->bif_ifp; + m_set_rcvif(m, _bif->bif_ifp); + _ifp = _bif->bif_ifp; bridge_release_member(sc, _bif, &_psref); goto out; } @@ -1944,7 +1945,7 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet *src_if, goto next; } - mc->m_pkthdr.rcvif = dst_if; + m_set_rcvif(mc, dst_if); mc->m_flags &= ~M_PROMISC; ACQUIRE_GLOBAL_LOCKS(); diff --git a/sys/net/if_faith.c b/sys/net/if_faith.c index 00fad17..5e6c437 100644 --- a/sys/net/if_faith.c +++ b/sys/net/if_faith.c @@ -187,7 +187,7 @@ faithoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, /* XXX do we need more sanity checks? */ KASSERT(pktq != NULL); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); s = splnet(); if (__predict_true(pktq_enqueue(pktq, m, 0))) { diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index 81e15f2..830212b 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -458,7 +458,7 @@ gif_input(struct mbuf *m, int af, struct ifnet *ifp) return; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); pktlen = m->m_pkthdr.len; bpf_mtap_af(ifp, af, m); diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c index 306fe7c..c7468e1 100644 --- a/sys/net/if_gre.c +++ b/sys/net/if_gre.c @@ -849,7 +849,7 @@ gre_input(struct gre_softc *sc, struct mbuf *m, int hlen, bpf_mtap_af(&sc->sc_if, af, m); - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); if (__predict_true(pktq)) { if (__predict_false(!pktq_enqueue(pktq, m, 0))) { diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index f881b25..4cc1808 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -222,7 +222,7 @@ looutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, panic("looutput: no header mbuf"); if (ifp->if_flags & IFF_LOOPBACK) bpf_mtap_af(ifp, dst->sa_family, m); - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); if (rt && rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)) { m_freem(m); diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c index fa531f3..661ca8f 100644 --- a/sys/net/if_ppp.c +++ b/sys/net/if_ppp.c @@ -1600,7 +1600,7 @@ ppp_inproc(struct ppp_softc *sc, struct mbuf *m) } } m->m_pkthdr.len = ilen; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); if ((proto & 0x8000) == 0) { #ifdef PPP_FILTER diff --git a/sys/net/if_pppoe.c b/sys/net/if_pppoe.c index 6aa44e4..31e943b 100644 --- a/sys/net/if_pppoe.c +++ b/sys/net/if_pppoe.c @@ -825,7 +825,7 @@ pppoe_data_input(struct mbuf *m) goto drop; /* fix incoming interface pointer (not the raw ethernet interface anymore) */ - m->m_pkthdr.rcvif = &sc->sc_sppp.pp_if; + m_set_rcvif(m, &sc->sc_sppp.pp_if); /* pass packet up and account for it */ sc->sc_sppp.pp_if.if_ipackets++; @@ -1013,7 +1013,7 @@ pppoe_get_mbuf(size_t len) m->m_data += sizeof(struct ether_header); m->m_len = len; m->m_pkthdr.len = len; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); return m; } diff --git a/sys/net/if_sl.c b/sys/net/if_sl.c index 0620456..0ece237 100644 --- a/sys/net/if_sl.c +++ b/sys/net/if_sl.c @@ -565,7 +565,7 @@ sl_btom(struct sl_softc *sc, int len) m->m_data = sc->sc_pktstart; m->m_pkthdr.len = m->m_len = len; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); return m; } diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index 948ae4d..962d1a7 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -1182,7 +1182,7 @@ sppp_cisco_send(struct sppp *sp, int type, int32_t par1, int32_t par2) if (! m) return; m->m_pkthdr.len = m->m_len = PPP_HEADER_LEN + CISCO_PACKET_LEN; - m->m_pkthdr.rcvif = 0; + m_reset_rcvif(m); h = mtod(m, struct ppp_header *); h->address = CISCO_MULTICAST; @@ -1242,7 +1242,7 @@ sppp_cp_send(struct sppp *sp, u_short proto, u_char type, if (! m) return; m->m_pkthdr.len = m->m_len = pkthdrlen + LCP_HEADER_LEN + len; - m->m_pkthdr.rcvif = 0; + m_reset_rcvif(m); if (sp->pp_flags & PP_NOFRAMING) { *mtod(m, uint16_t *) = htons(proto); @@ -4656,7 +4656,7 @@ sppp_auth_send(const struct cp *cp, struct sppp *sp, MGETHDR(m, M_DONTWAIT, MT_DATA); if (! m) return; - m->m_pkthdr.rcvif = 0; + m_reset_rcvif(m); if (sp->pp_flags & PP_NOFRAMING) { *mtod(m, uint16_t *) = htons(cp->proto); diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index a4b7fb6..bf02eff 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -618,7 +618,7 @@ in_stf_input(struct mbuf *m, int off, int proto) ip6->ip6_flow |= htonl((uint32_t)itos << 20); pktlen = m->m_pkthdr.len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); bpf_mtap_af(ifp, AF_INET6, m); diff --git a/sys/net/if_strip.c b/sys/net/if_strip.c index 958601c..dbfffda 100644 --- a/sys/net/if_strip.c +++ b/sys/net/if_strip.c @@ -929,7 +929,7 @@ strip_btom(struct strip_softc *sc, int len) m->m_data = sc->sc_pktstart; m->m_pkthdr.len = m->m_len = len; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); return (m); } diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c index 9cb29b8..95dd5cd 100644 --- a/sys/net/if_tap.c +++ b/sys/net/if_tap.c @@ -1057,7 +1057,7 @@ tap_dev_write(int unit, struct uio *uio, int flags) } ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); bpf_mtap(ifp, m); s = splnet(); diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index 65ce879..072e03f 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -934,7 +934,7 @@ tunwrite(dev_t dev, struct uio *uio, int ioflag) } top->m_pkthdr.len = tlen; - top->m_pkthdr.rcvif = ifp; + m_set_rcvif(top, ifp); bpf_mtap_af(ifp, dst.sa_family, top); diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index f2ee288..15af2b9 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -897,7 +897,7 @@ vlan_input(struct ifnet *ifp, struct mbuf *m) m_adj(m, ifv->ifv_encaplen); } - m->m_pkthdr.rcvif = &ifv->ifv_if; + m_set_rcvif(m, &ifv->ifv_if); ifv->ifv_if.if_ipackets++; bpf_mtap(&ifv->ifv_if, m); diff --git a/sys/net/ppp_tty.c b/sys/net/ppp_tty.c index d6dd139..6d9e53c 100644 --- a/sys/net/ppp_tty.c +++ b/sys/net/ppp_tty.c @@ -396,7 +396,7 @@ pppwrite(struct tty *tp, struct uio *uio, int flag) m0->m_len = 0; m0->m_pkthdr.len = uio->uio_resid; - m0->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m0); if (uio->uio_resid >= MCLBYTES / 2) MCLGET(m0, M_DONTWAIT); diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index ab30856..ac1eddb 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -1038,7 +1038,7 @@ COMPATNAME(rt_msg1)(int type, struct rt_addrinfo *rtinfo, void *data, int datale } else { m->m_pkthdr.len = m->m_len = len; } - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m_copyback(m, 0, datalen, data); if (len > datalen) (void)memset(mtod(m, char *) + datalen, 0, len - datalen); diff --git a/sys/netinet/dccp_usrreq.c b/sys/netinet/dccp_usrreq.c index ca58cf3..cda4f7e 100644 --- a/sys/netinet/dccp_usrreq.c +++ b/sys/netinet/dccp_usrreq.c @@ -1427,7 +1427,7 @@ again: dp->ndp++; } - m->m_pkthdr.rcvif = (struct ifnet *)0; + m_reset_rcvif(m); if (!isipv6 && (len + hdrlen) > IP_MAXPACKET) { error = EMSGSIZE; diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 3a9fa949..d4b9ebe 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -1016,7 +1016,7 @@ carp_send_ad(void *v) MCLAIM(m, &carp_proto_mowner_tx); len = sizeof(*ip) + sizeof(ch); m->m_pkthdr.len = len; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m->m_len = len; MH_ALIGN(m, m->m_len); m->m_flags |= M_MCAST; @@ -1097,7 +1097,7 @@ carp_send_ad(void *v) MCLAIM(m, &carp_proto6_mowner_tx); len = sizeof(*ip6) + sizeof(ch); m->m_pkthdr.len = len; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m->m_len = len; MH_ALIGN(m, m->m_len); m->m_flags |= M_MCAST; @@ -1406,7 +1406,7 @@ carp_input(struct mbuf *m, u_int8_t *shost, u_int8_t *dhost, u_int16_t etype) m0 = m_copym(m, 0, M_COPYALL, M_DONTWAIT); if (m0 == NULL) continue; - m0->m_pkthdr.rcvif = &vh->sc_if; + m_set_rcvif(m0, &vh->sc_if); ether_input(&vh->sc_if, m0); } return (1); @@ -1417,7 +1417,7 @@ carp_input(struct mbuf *m, u_int8_t *shost, u_int8_t *dhost, u_int16_t etype) return (1); } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); bpf_mtap(ifp, m); ifp->if_ipackets++; diff --git a/sys/netinet/ip_etherip.c b/sys/netinet/ip_etherip.c index cfd22da..ad18e96 100644 --- a/sys/netinet/ip_etherip.c +++ b/sys/netinet/ip_etherip.c @@ -251,7 +251,7 @@ ip_etherip_input(struct mbuf *m, ...) return; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_flags &= ~(M_BCAST|M_MCAST); bpf_mtap(ifp, m); diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index cc00313..b523aed 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -339,7 +339,7 @@ icmp_error(struct mbuf *n, int type, int code, n_long dest, m->m_data -= sizeof(struct ip); m->m_len += sizeof(struct ip); m->m_pkthdr.len = m->m_len; - m->m_pkthdr.rcvif = n->m_pkthdr.rcvif; + m_set_rcvif(m, n->m_pkthdr.rcvif); nip = mtod(m, struct ip *); /* ip_v set in ip_output */ nip->ip_hl = sizeof(struct ip) >> 2; diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index dbc9c2e..38ce968 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -1881,7 +1881,7 @@ vif_input(struct mbuf *m, int off, int proto) } m_adj(m, off); - m->m_pkthdr.rcvif = vifp->v_ifp; + m_set_rcvif(m, vifp->v_ifp); if (__predict_false(!pktq_enqueue(ip_pktq, m, 0))) { m_freem(m); diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 966e6dd..3bacb7c 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -795,7 +795,7 @@ ip_fragment(struct mbuf *m, struct ifnet *ifp, u_long mtu) goto sendorfree; } m->m_pkthdr.len = mhlen + len; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); mhip->ip_sum = 0; KASSERT((m->m_pkthdr.csum_flags & M_CSUM_IPv4) == 0); if (sw_csum & M_CSUM_IPv4) { diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index e7521c4..127d378 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -3295,7 +3295,7 @@ sctp_send_initiate_ack(struct sctp_inpcb *inp, struct sctp_tcb *stcb, return; } m->m_data += SCTP_MIN_OVERHEAD; - m->m_pkthdr.rcvif = 0; + m_reset_rcvif(m); m->m_len = sizeof(struct sctp_init_msg); /* the time I built cookie */ @@ -5841,7 +5841,7 @@ sctp_med_chunk_output(struct sctp_inpcb *inp, } t->m_next = outchain; t->m_pkthdr.len = 0; - t->m_pkthdr.rcvif = 0; + m_reset_rcvif(t); t->m_len = 0; outchain = t; @@ -6077,7 +6077,7 @@ sctp_send_cookie_echo(struct mbuf *m, return (-4); } mat->m_len = 0; - mat->m_pkthdr.rcvif = 0; + m_reset_rcvif(mat); mat->m_next = cookie; cookie = mat; } @@ -6140,7 +6140,7 @@ sctp_send_heartbeat_ack(struct sctp_tcb *stcb, return; } tmp->m_len = 0; - tmp->m_pkthdr.rcvif = 0; + m_reset_rcvif(tmp); tmp->m_next = outchain; outchain = tmp; } @@ -6215,7 +6215,7 @@ sctp_send_cookie_ack(struct sctp_tcb *stcb) { hdr->chunk_flags = 0; hdr->chunk_length = htons(chk->send_size); cookie_ack->m_pkthdr.len = cookie_ack->m_len = chk->send_size; - cookie_ack->m_pkthdr.rcvif = 0; + m_reset_rcvif(cookie_ack); TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next); chk->asoc->ctrl_queue_cnt++; return (0); @@ -6261,7 +6261,7 @@ sctp_send_shutdown_ack(struct sctp_tcb *stcb, struct sctp_nets *net) ack_cp->ch.chunk_flags = 0; ack_cp->ch.chunk_length = htons(chk->send_size); m_shutdown_ack->m_pkthdr.len = m_shutdown_ack->m_len = chk->send_size; - m_shutdown_ack->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_shutdown_ack); TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next); chk->asoc->ctrl_queue_cnt++; return (0); @@ -6307,7 +6307,7 @@ sctp_send_shutdown(struct sctp_tcb *stcb, struct sctp_nets *net) shutdown_cp->ch.chunk_length = htons(chk->send_size); shutdown_cp->cumulative_tsn_ack = htonl(stcb->asoc.cumulative_tsn); m_shutdown->m_pkthdr.len = m_shutdown->m_len = chk->send_size; - m_shutdown->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_shutdown); TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next); chk->asoc->ctrl_queue_cnt++; @@ -7984,7 +7984,7 @@ sctp_send_abort_tcb(struct sctp_tcb *stcb, struct mbuf *operr) abort_m->sh.v_tag = htonl(stcb->asoc.peer_vtag); abort_m->sh.checksum = 0; m_abort->m_pkthdr.len = m_abort->m_len + sz; - m_abort->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_abort); sctp_lowlevel_chunk_output(stcb->sctp_ep, stcb, stcb->asoc.primary_destination, rtcache_getdst(&stcb->asoc.primary_destination->ro), @@ -8017,7 +8017,7 @@ sctp_send_shutdown_complete(struct sctp_tcb *stcb, comp_cp->sh.checksum = 0; m_shutdown_comp->m_pkthdr.len = m_shutdown_comp->m_len = sizeof(struct sctp_shutdown_complete_msg); - m_shutdown_comp->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_shutdown_comp); sctp_lowlevel_chunk_output(stcb->sctp_ep, stcb, net, rtcache_getdst(&net->ro), m_shutdown_comp, 1, 0, NULL, 0); @@ -8113,7 +8113,7 @@ sctp_send_shutdown_complete2(struct mbuf *m, int iphlen, struct sctphdr *sh) } /* zap the rcvif, it should be null */ - mout->m_pkthdr.rcvif = 0; + m_reset_rcvif(mout); /* zap the stack pointer to the route */ if (iph_out != NULL) { struct route ro; @@ -9055,7 +9055,7 @@ sctp_send_abort(struct mbuf *m, int iphlen, struct sctphdr *sh, uint32_t vtag, } /* zap the rcvif, it should be null */ - mout->m_pkthdr.rcvif = 0; + m_reset_rcvif(mout); if (iph_out != NULL) { struct route ro; diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index c86ef61..37fcd67 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -2076,7 +2076,7 @@ sctp_notify_assoc_change(u_int32_t event, struct sctp_tcb *stcb, m_notify->m_flags |= M_EOR | M_NOTIFICATION; m_notify->m_pkthdr.len = sizeof(struct sctp_assoc_change); - m_notify->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_notify); m_notify->m_len = sizeof(struct sctp_assoc_change); m_notify->m_next = NULL; @@ -2163,7 +2163,7 @@ sctp_notify_peer_addr_change(struct sctp_tcb *stcb, uint32_t state, m_notify->m_flags |= M_EOR | M_NOTIFICATION; m_notify->m_pkthdr.len = sizeof(struct sctp_paddr_change); - m_notify->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_notify); m_notify->m_len = sizeof(struct sctp_paddr_change); m_notify->m_next = NULL; @@ -2256,7 +2256,7 @@ sctp_notify_send_failed(struct sctp_tcb *stcb, u_int32_t error, m->m_flags |= M_EOR; } m_notify->m_pkthdr.len = length; - m_notify->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_notify); m_notify->m_len = sizeof(struct sctp_send_failed); /* Steal off the mbuf */ @@ -2329,7 +2329,7 @@ sctp_notify_adaption_layer(struct sctp_tcb *stcb, m_notify->m_flags |= M_EOR | M_NOTIFICATION; m_notify->m_pkthdr.len = sizeof(struct sctp_adaption_event); - m_notify->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_notify); m_notify->m_len = sizeof(struct sctp_adaption_event); m_notify->m_next = NULL; @@ -2399,7 +2399,7 @@ sctp_notify_partial_delivery_indication(struct sctp_tcb *stcb, m_notify->m_flags |= M_EOR | M_NOTIFICATION; m_notify->m_pkthdr.len = sizeof(struct sctp_pdapi_event); - m_notify->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_notify); m_notify->m_len = sizeof(struct sctp_pdapi_event); m_notify->m_next = NULL; @@ -2478,7 +2478,7 @@ sctp_notify_shutdown_event(struct sctp_tcb *stcb) m_notify->m_flags |= M_EOR | M_NOTIFICATION; m_notify->m_pkthdr.len = sizeof(struct sctp_shutdown_event); - m_notify->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_notify); m_notify->m_len = sizeof(struct sctp_shutdown_event); m_notify->m_next = NULL; @@ -2570,7 +2570,7 @@ sctp_notify_stream_reset(struct sctp_tcb *stcb, } m_notify->m_flags |= M_EOR | M_NOTIFICATION; m_notify->m_pkthdr.len = len; - m_notify->m_pkthdr.rcvif = 0; + m_reset_rcvif(m_notify); m_notify->m_len = len; m_notify->m_next = NULL; if (sctp_sbspace(&stcb->sctp_socket->so_rcv) < m_notify->m_len) { diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 8b658e8..da1635d 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -4577,7 +4577,7 @@ syn_cache_respond(struct syn_cache *sc, struct mbuf *m) so = NULL; } else so = NULL; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); memset(mtod(m, u_char *), 0, tlen); switch (sc->sc_src.sa.sa_family) { diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index a0d30ca..9d229db 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -1302,7 +1302,7 @@ send: m->m_data += max_linkhdr; m->m_len = hdrlen; } - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); switch (af) { #ifdef INET case AF_INET: diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 8dfafab..529c73a 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -852,7 +852,7 @@ tcp_respond(struct tcpcb *tp, struct mbuf *mtemplate, struct mbuf *m, tlen += th->th_off << 2; m->m_len = hlen + tlen; m->m_pkthdr.len = hlen + tlen; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); th->th_flags = flags; th->th_urp = 0; diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index f221abc..5cb9a2d 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -427,7 +427,7 @@ icmp6_error(struct mbuf *m, int type, int code, int param) * clear m->m_pkthdr.rcvif for safety, we should have enough scope * information in ip header (nip6). */ - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); ICMP6_STATINC(ICMP6_STAT_OUTHIST + type); icmp6_reflect(m, sizeof(struct ip6_hdr)); /* header order: IPv6 - ICMPv6 */ @@ -721,7 +721,7 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) /* Give up remote */ break; } - n->m_pkthdr.rcvif = NULL; + m_reset_rcvif(n); n->m_len = 0; maxhlen = M_TRAILINGSPACE(n) - ICMP6_MAXLEN; if (maxhlen < 0) @@ -2384,7 +2384,7 @@ icmp6_redirect_output(struct mbuf *m0, struct rtentry *rt) if (!m) goto fail; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m->m_len = 0; maxlen = M_TRAILINGSPACE(m); maxlen = min(IPV6_MMTU, maxlen); diff --git a/sys/netinet6/ip6_etherip.c b/sys/netinet6/ip6_etherip.c index 6842bdd..e65b882 100644 --- a/sys/netinet6/ip6_etherip.c +++ b/sys/netinet6/ip6_etherip.c @@ -256,7 +256,7 @@ ip6_etherip_input(struct mbuf **mp, int *offp, int proto) return IPPROTO_DONE; } - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); m->m_flags &= ~(M_BCAST|M_MCAST); bpf_mtap(ifp, m); diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index 80c2e7f..37422d7 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -892,7 +892,7 @@ ip6_output( IP6_STATINC(IP6_STAT_ODROPPED); goto sendorfree; } - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m->m_flags = m0->m_flags & M_COPYFLAGS; *mnext = m; mnext = &m->m_nextpkt; @@ -926,7 +926,7 @@ ip6_output( ; mlast->m_next = m_frgpart; m->m_pkthdr.len = len + hlen + sizeof(*ip6f); - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); ip6f->ip6f_reserved = 0; ip6f->ip6f_ident = id; ip6f->ip6f_nxt = nextproto; diff --git a/sys/netinet6/mld6.c b/sys/netinet6/mld6.c index 8a2764d..0109693 100644 --- a/sys/netinet6/mld6.c +++ b/sys/netinet6/mld6.c @@ -594,7 +594,7 @@ mld_allocbuf(struct mbuf **mh, int len, struct in6_multi *in6m, (*mh)->m_next = md; md->m_next = NULL; - (*mh)->m_pkthdr.rcvif = NULL; + m_reset_rcvif((*mh)); (*mh)->m_pkthdr.len = sizeof(struct ip6_hdr) + len; (*mh)->m_len = sizeof(struct ip6_hdr); MH_ALIGN(*mh, sizeof(struct ip6_hdr)); diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index af628b0..cead66c 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -388,7 +388,7 @@ nd6_ns_output(struct ifnet *ifp, const struct in6_addr *daddr6, } if (m == NULL) return; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); if (daddr6 == NULL || IN6_IS_ADDR_MULTICAST(daddr6)) { m->m_flags |= M_MCAST; @@ -885,7 +885,7 @@ nd6_na_output( } if (m == NULL) return; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); if (IN6_IS_ADDR_MULTICAST(&daddr6)) { m->m_flags |= M_MCAST; diff --git a/sys/netipsec/keysock.c b/sys/netipsec/keysock.c index 2cb1e8d..a37aa25 100644 --- a/sys/netipsec/keysock.c +++ b/sys/netipsec/keysock.c @@ -271,7 +271,7 @@ key_sendup(struct socket *so, struct sadb_msg *msg, u_int len, n = NULL; } m->m_pkthdr.len = len; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m_copyback(m, 0, len, msg); /* avoid duplicated statistics */ diff --git a/sys/netisdn/i4b_ipr.c b/sys/netisdn/i4b_ipr.c index 38cc20d..41f3dbc 100644 --- a/sys/netisdn/i4b_ipr.c +++ b/sys/netisdn/i4b_ipr.c @@ -924,7 +924,7 @@ ipr_rx_data_rdy(void *softc) if((m = *sc->sc_ilt->rx_mbuf) == NULL) return; - m->m_pkthdr.rcvif = &sc->sc_if; + m_set_rcvif(m, &sc->sc_if); m->m_pkthdr.len = m->m_len; diff --git a/sys/netisdn/i4b_isppp.c b/sys/netisdn/i4b_isppp.c index 48d9220..581dd47 100644 --- a/sys/netisdn/i4b_isppp.c +++ b/sys/netisdn/i4b_isppp.c @@ -671,7 +671,7 @@ i4bisppp_rx_data_rdy(void *softc) if((m = *sc->sc_ilt->rx_mbuf) == NULL) return; - m->m_pkthdr.rcvif = &sc->sc_sp.pp_if; + m_set_rcvif(m, &sc->sc_sp.pp_if); m->m_pkthdr.len = m->m_len; sc->sc_sp.pp_if.if_ipackets++; diff --git a/sys/netmpls/mpls_ttl.c b/sys/netmpls/mpls_ttl.c index 01eb689..69535ec 100644 --- a/sys/netmpls/mpls_ttl.c +++ b/sys/netmpls/mpls_ttl.c @@ -311,7 +311,7 @@ mpls_icmp_error(struct mbuf *n, int type, int code, n_long dest, m->m_data -= sizeof(struct ip); m->m_len += sizeof(struct ip); m->m_pkthdr.len = m->m_len; - m->m_pkthdr.rcvif = n->m_pkthdr.rcvif; + m_set_rcvif(m, n->m_pkthdr.rcvif); nip = mtod(m, struct ip *); /* ip_v set in ip_output */ nip->ip_hl = sizeof(struct ip) >> 2; diff --git a/sys/netnatm/natm.c b/sys/netnatm/natm.c index da12c5c..d2d41d1 100644 --- a/sys/netnatm/natm.c +++ b/sys/netnatm/natm.c @@ -477,10 +477,10 @@ next: } #ifdef NEED_TO_RESTORE_IFP - m->m_pkthdr.rcvif = npcb->npcb_ifp; + m_set_rcvif(m, npcb->npcb_ifp); #else #ifdef DIAGNOSTIC -m->m_pkthdr.rcvif = NULL; /* null it out to be safe */ + m_reset_rcvif(m); /* null it out to be safe */ #endif #endif diff --git a/sys/nfs/krpc_subr.c b/sys/nfs/krpc_subr.c index 77f0ac7..cad1c06 100644 --- a/sys/nfs/krpc_subr.c +++ b/sys/nfs/krpc_subr.c @@ -309,7 +309,7 @@ krpc_call(struct sockaddr_in *sa, u_int prog, u_int vers, u_int func, struct mbu m = m->m_next; } mhead->m_pkthdr.len = len; - mhead->m_pkthdr.rcvif = NULL; + m_reset_rcvif(mhead); error = nfs_boot_sendrecv(so, &sin, NULL, mhead, krpccheck, &m, &from, &xid, l); diff --git a/sys/nfs/nfs_bootdhcp.c b/sys/nfs/nfs_bootdhcp.c index 3077c80..620f5bd 100644 --- a/sys/nfs/nfs_bootdhcp.c +++ b/sys/nfs/nfs_bootdhcp.c @@ -597,7 +597,7 @@ bootpc_call(struct nfs_diskless *nd, struct lwp *lwp, int *flags) m_clget(m, M_WAIT); bootp = mtod(m, struct bootp*); m->m_pkthdr.len = m->m_len = BOOTP_SIZE_MAX; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); /* * Build the BOOTP reqest message. diff --git a/sys/nfs/nfs_subs.c b/sys/nfs/nfs_subs.c index 6bbdeee..e3bcfbf 100644 --- a/sys/nfs/nfs_subs.c +++ b/sys/nfs/nfs_subs.c @@ -724,7 +724,7 @@ nfsm_rpchead(kauth_cred_t cr, int nmflag, int procid, } mb->m_next = mrest; mreq->m_pkthdr.len = authsiz + 10 * NFSX_UNSIGNED + mrest_len; - mreq->m_pkthdr.rcvif = (struct ifnet *)0; + m_reset_rcvif(mreq); *mbp = mb; return (mreq); } diff --git a/sys/nfs/nfs_syscalls.c b/sys/nfs/nfs_syscalls.c index 6a6cc30..5b81889 100644 --- a/sys/nfs/nfs_syscalls.c +++ b/sys/nfs/nfs_syscalls.c @@ -694,7 +694,7 @@ nfssvc_nfsd(struct nfssvc_copy_ops *ops, struct nfsd_srvargs *nsd, } m = mreq; m->m_pkthdr.len = siz; - m->m_pkthdr.rcvif = (struct ifnet *)0; + m_reset_rcvif(m); /* * For stream protocols, prepend a Sun RPC * Record Mark. diff --git a/sys/rump/net/lib/libshmif/if_shmem.c b/sys/rump/net/lib/libshmif/if_shmem.c index 223ad3a..451fefe 100644 --- a/sys/rump/net/lib/libshmif/if_shmem.c +++ b/sys/rump/net/lib/libshmif/if_shmem.c @@ -743,7 +743,7 @@ shmif_rcv(void *arg) } m->m_len = m->m_pkthdr.len = sp.sp_len; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); /* * Test if we want to pass the packet upwards diff --git a/sys/rump/net/lib/libvirtif/if_virt.c b/sys/rump/net/lib/libvirtif/if_virt.c index a60c2b2..4c5f039 100644 --- a/sys/rump/net/lib/libvirtif/if_virt.c +++ b/sys/rump/net/lib/libvirtif/if_virt.c @@ -376,7 +376,7 @@ VIF_DELIVERPKT(struct virtif_sc *sc, struct iovec *iov, size_t iovlen) if (passup) { int bound = curlwp->l_pflag & LP_BOUND; ifp->if_ipackets++; - m->m_pkthdr.rcvif = ifp; + m_set_rcvif(m, ifp); KERNEL_LOCK(1, NULL); /* Prevent LWP migrations between CPUs for psref(9) */ curlwp->l_pflag |= LP_BOUND; diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index cf8c08a..5043216 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -964,6 +964,20 @@ m_hdr_init(struct mbuf *m, short type, struct mbuf *next, char *data, int len) } static __inline void +m_set_rcvif(struct mbuf *m, struct ifnet *ifp) +{ + + m->m_pkthdr.rcvif = ifp; +} + +static __inline void +m_reset_rcvif(struct mbuf *m) +{ + + m_set_rcvif(m, NULL); +} + +static __inline void m_pkthdr_init(struct mbuf *m) { @@ -972,7 +986,7 @@ m_pkthdr_init(struct mbuf *m) m->m_data = m->m_pktdat; m->m_flags = M_PKTHDR; - m->m_pkthdr.rcvif = NULL; + m_reset_rcvif(m); m->m_pkthdr.len = 0; m->m_pkthdr.csum_flags = 0; m->m_pkthdr.csum_data = 0;