Now that all the drivers using m_devget(9) have been converted to if_input() we no longer need to pass an interface pointer to set `rcvif'.
This is a small step towards the removal of an interface pointer in the mbuf header. While here, m_clget(9) also no longer needs an ifp. Ok? Index: arch/sparc/dev/hme.c =================================================================== RCS file: /cvs/src/sys/arch/sparc/dev/hme.c,v retrieving revision 1.68 diff -u -p -r1.68 hme.c --- arch/sparc/dev/hme.c 8 Apr 2015 10:07:47 -0000 1.68 +++ arch/sparc/dev/hme.c 8 Apr 2015 12:58:56 -0000 @@ -828,7 +828,7 @@ hme_read(sc, idx, len, flags) /* Pull packet off interface. */ m = m_devget(sc->sc_bufs->rx_buf[idx] + HME_RX_OFFSET, len, - HME_RX_OFFSET, &sc->sc_arpcom.ac_if); + HME_RX_OFFSET); if (m == NULL) { ifp->if_ierrors++; return; Index: arch/sparc64/dev/vnet.c =================================================================== RCS file: /cvs/src/sys/arch/sparc64/dev/vnet.c,v retrieving revision 1.43 diff -u -p -r1.43 vnet.c --- arch/sparc64/dev/vnet.c 2 Apr 2015 09:46:48 -0000 1.43 +++ arch/sparc64/dev/vnet.c 8 Apr 2015 12:59:02 -0000 @@ -734,7 +734,7 @@ vnet_rx_vio_desc_data(struct vnet_softc } /* Stupid OBP doesn't align properly. */ - m = m_devget(buf, dm->nbytes, ETHER_ALIGN, ifp); + m = m_devget(buf, dm->nbytes, ETHER_ALIGN); pool_put(&sc->sc_pool, buf); if (m == NULL) { ifp->if_ierrors++; Index: dev/ic/dc.c =================================================================== RCS file: /cvs/src/sys/dev/ic/dc.c,v retrieving revision 1.139 diff -u -p -r1.139 dc.c --- dev/ic/dc.c 14 Mar 2015 03:38:47 -0000 1.139 +++ dev/ic/dc.c 8 Apr 2015 12:59:05 -0000 @@ -2143,7 +2143,7 @@ dc_rxeof(struct dc_softc *sc) /* No errors; receive the packet. */ total_len -= ETHER_CRC_LEN; - m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN, ifp); + m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN); dc_newbuf(sc, i, m); DC_INC(i, DC_RX_LIST_CNT); if (m0 == NULL) { Index: dev/ic/mtd8xx.c =================================================================== RCS file: /cvs/src/sys/dev/ic/mtd8xx.c,v retrieving revision 1.25 diff -u -p -r1.25 mtd8xx.c --- dev/ic/mtd8xx.c 8 Apr 2015 12:58:24 -0000 1.25 +++ dev/ic/mtd8xx.c 8 Apr 2015 12:59:08 -0000 @@ -924,7 +924,7 @@ mtd_rxeof(struct mtd_softc *sc) 0, sc->mtd_cdata.mtd_rx_chain[i].sd_map->dm_mapsize, BUS_DMASYNC_POSTREAD); - m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN, ifp); + m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN); mtd_newbuf(sc, i, m); i = (i + 1) % MTD_RX_LIST_CNT; if (m0 == NULL) { Index: dev/ic/rtl81x9.c =================================================================== RCS file: /cvs/src/sys/dev/ic/rtl81x9.c,v retrieving revision 1.89 diff -u -p -r1.89 rtl81x9.c --- dev/ic/rtl81x9.c 30 Mar 2015 10:04:11 -0000 1.89 +++ dev/ic/rtl81x9.c 8 Apr 2015 12:59:17 -0000 @@ -643,7 +643,7 @@ rl_rxeof(struct rl_softc *sc) wrap = (sc->rl_cdata.rl_rx_buf + RL_RXBUFLEN) - rxbufpos; if (total_len > wrap) { - m = m_devget(rxbufpos, wrap, ETHER_ALIGN, ifp); + m = m_devget(rxbufpos, wrap, ETHER_ALIGN); if (m != NULL) { m_copyback(m, wrap, total_len - wrap, sc->rl_cdata.rl_rx_buf, M_NOWAIT); @@ -654,7 +654,7 @@ rl_rxeof(struct rl_softc *sc) } cur_rx = (total_len - wrap + ETHER_CRC_LEN); } else { - m = m_devget(rxbufpos, total_len, ETHER_ALIGN, ifp); + m = m_devget(rxbufpos, total_len, ETHER_ALIGN); cur_rx += total_len + 4 + ETHER_CRC_LEN; } Index: dev/pci/if_ale.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ale.c,v retrieving revision 1.37 diff -u -p -r1.37 if_ale.c --- dev/pci/if_ale.c 24 Mar 2015 10:09:06 -0000 1.37 +++ dev/pci/if_ale.c 8 Apr 2015 12:59:25 -0000 @@ -1532,7 +1532,7 @@ ale_rxeof(struct ale_softc *sc) * on these low-end consumer ethernet controller. */ m = m_devget((char *)(rs + 1), length - ETHER_CRC_LEN, - ETHER_ALIGN, ifp); + ETHER_ALIGN); if (m == NULL) { ifp->if_iqdrops++; ale_rx_update_page(sc, &rx_page, length, &prod); Index: dev/pci/if_bce.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_bce.c,v retrieving revision 1.44 diff -u -p -r1.44 if_bce.c --- dev/pci/if_bce.c 8 Apr 2015 10:07:47 -0000 1.44 +++ dev/pci/if_bce.c 8 Apr 2015 12:59:31 -0000 @@ -739,7 +739,7 @@ bce_rxintr(struct bce_softc *sc) len -= ETHER_CRC_LEN; m = m_devget(sc->bce_data + i * MCLBYTES + - BCE_PREPKT_HEADER_SIZE, len, ETHER_ALIGN, ifp); + BCE_PREPKT_HEADER_SIZE, len, ETHER_ALIGN); ifp->if_ipackets++; ml_enqueue(&ml, m); Index: dev/pci/if_cas.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_cas.c,v retrieving revision 1.39 diff -u -p -r1.39 if_cas.c --- dev/pci/if_cas.c 14 Mar 2015 03:38:48 -0000 1.39 +++ dev/pci/if_cas.c 8 Apr 2015 12:59:38 -0000 @@ -1196,7 +1196,7 @@ cas_rint(struct cas_softc *sc) rxs->rxs_dmamap->dm_mapsize, BUS_DMASYNC_POSTREAD); cp = rxs->rxs_kva + off * 256 + ETHER_ALIGN; - m = m_devget(cp, len, ETHER_ALIGN, ifp); + m = m_devget(cp, len, ETHER_ALIGN); if (word[0] & CAS_RC0_RELEASE_HDR) cas_add_rxbuf(sc, idx); @@ -1222,7 +1222,7 @@ cas_rint(struct cas_softc *sc) /* XXX We should not be copying the packet here. */ cp = rxs->rxs_kva + off + ETHER_ALIGN; - m = m_devget(cp, len, ETHER_ALIGN, ifp); + m = m_devget(cp, len, ETHER_ALIGN); if (word[0] & CAS_RC0_RELEASE_DATA) cas_add_rxbuf(sc, idx); Index: dev/pci/if_lge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_lge.c,v retrieving revision 1.65 diff -u -p -r1.65 if_lge.c --- dev/pci/if_lge.c 8 Apr 2015 10:07:47 -0000 1.65 +++ dev/pci/if_lge.c 8 Apr 2015 12:59:42 -0000 @@ -719,8 +719,7 @@ lge_rxeof(struct lge_softc *sc, int cnt) } if (lge_newbuf(sc, &LGE_RXTAIL(sc), NULL) == ENOBUFS) { - m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN, - ifp); + m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN); lge_newbuf(sc, &LGE_RXTAIL(sc), m); if (m0 == NULL) { ifp->if_ierrors++; Index: dev/pci/if_nge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_nge.c,v retrieving revision 1.82 diff -u -p -r1.82 if_nge.c --- dev/pci/if_nge.c 8 Apr 2015 10:07:47 -0000 1.82 +++ dev/pci/if_nge.c 8 Apr 2015 12:59:50 -0000 @@ -1066,8 +1066,7 @@ nge_rxeof(struct nge_softc *sc) */ if (nge_newbuf(sc, cur_rx, NULL) == ENOBUFS) { #endif - m0 = m_devget(mtod(m, char *), total_len, - ETHER_ALIGN, ifp); + m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN); nge_newbuf(sc, cur_rx, m); if (m0 == NULL) { ifp->if_ierrors++; Index: dev/pci/if_sis.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_sis.c,v retrieving revision 1.125 diff -u -p -r1.125 if_sis.c --- dev/pci/if_sis.c 30 Mar 2015 10:01:21 -0000 1.125 +++ dev/pci/if_sis.c 8 Apr 2015 12:59:58 -0000 @@ -1423,8 +1423,7 @@ sis_rxeof(struct sis_softc *sc) */ { struct mbuf *m0; - m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN, - ifp); + m0 = m_devget(mtod(m, char *), total_len, ETHER_ALIGN); m_freem(m); if (m0 == NULL) { ifp->if_ierrors++; Index: dev/pci/if_vge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_vge.c,v retrieving revision 1.61 diff -u -p -r1.61 if_vge.c --- dev/pci/if_vge.c 8 Apr 2015 10:07:47 -0000 1.61 +++ dev/pci/if_vge.c 8 Apr 2015 13:00:03 -0000 @@ -1077,7 +1077,7 @@ vge_rxeof(struct vge_softc *sc) } m0 = m_devget(mtod(m, char *), - total_len - ETHER_CRC_LEN, ETHER_ALIGN, ifp); + total_len - ETHER_CRC_LEN, ETHER_ALIGN); vge_newbuf(sc, i, m); if (m0 == NULL) { ifp->if_ierrors++; Index: dev/pci/if_vr.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_vr.c,v retrieving revision 1.139 diff -u -p -r1.139 if_vr.c --- dev/pci/if_vr.c 14 Mar 2015 03:38:48 -0000 1.139 +++ dev/pci/if_vr.c 8 Apr 2015 13:00:10 -0000 @@ -898,8 +898,7 @@ vr_rxeof(struct vr_softc *sc) #ifdef __STRICT_ALIGNMENT { struct mbuf *m0; - m0 = m_devget(mtod(m, caddr_t), total_len, - ETHER_ALIGN, ifp); + m0 = m_devget(mtod(m, caddr_t), total_len, ETHER_ALIGN); m_freem(m); if (m0 == NULL) { ifp->if_ierrors++; Index: dev/pci/if_wb.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_wb.c,v retrieving revision 1.59 diff -u -p -r1.59 if_wb.c --- dev/pci/if_wb.c 8 Apr 2015 10:07:47 -0000 1.59 +++ dev/pci/if_wb.c 8 Apr 2015 13:00:21 -0000 @@ -970,7 +970,7 @@ void wb_rxeof(sc) total_len -= ETHER_CRC_LEN; m = m_devget(cur_rx->wb_buf + sizeof(u_int64_t), total_len, - ETHER_ALIGN, ifp); + ETHER_ALIGN); wb_newbuf(sc, cur_rx); if (m == NULL) { ifp->if_ierrors++; Index: dev/pcmcia/if_malo.c =================================================================== RCS file: /cvs/src/sys/dev/pcmcia/if_malo.c,v retrieving revision 1.83 diff -u -p -r1.83 if_malo.c --- dev/pcmcia/if_malo.c 8 Apr 2015 10:07:47 -0000 1.83 +++ dev/pcmcia/if_malo.c 8 Apr 2015 13:00:28 -0000 @@ -966,7 +966,7 @@ cmalo_rx(struct malo_softc *sc) /* prepare mbuf */ m = m_devget(sc->sc_data + rxdesc->pkgoffset, - rxdesc->pkglen, ETHER_ALIGN, ifp); + rxdesc->pkglen, ETHER_ALIGN); if (m == NULL) { DPRINTF(1, "RX m_devget failed\n"); ifp->if_ierrors++; Index: dev/usb/if_upgt.c =================================================================== RCS file: /cvs/src/sys/dev/usb/if_upgt.c,v retrieving revision 1.67 diff -u -p -r1.67 if_upgt.c --- dev/usb/if_upgt.c 14 Mar 2015 03:38:49 -0000 1.67 +++ dev/usb/if_upgt.c 8 Apr 2015 13:00:38 -0000 @@ -1735,7 +1735,7 @@ upgt_rx(struct upgt_softc *sc, uint8_t * rxdesc = (struct upgt_lmac_rx_desc *)data; /* create mbuf which is suitable for strict alignment archs */ - m = m_devget(rxdesc->data, pkglen, ETHER_ALIGN, ifp); + m = m_devget(rxdesc->data, pkglen, ETHER_ALIGN); if (m == NULL) { DPRINTF(1, "%s: could not create RX mbuf!\n", sc->sc_dev.dv_xname); ifp->if_ierrors++; Index: kern/uipc_mbuf.c =================================================================== RCS file: /cvs/src/sys/kern/uipc_mbuf.c,v retrieving revision 1.202 diff -u -p -r1.202 uipc_mbuf.c --- kern/uipc_mbuf.c 14 Mar 2015 03:38:51 -0000 1.202 +++ kern/uipc_mbuf.c 8 Apr 2015 13:02:05 -0000 @@ -278,7 +278,7 @@ m_clpool(u_int pktlen) } struct mbuf * -m_clget(struct mbuf *m, int how, struct ifnet *ifp, u_int pktlen) +m_clget(struct mbuf *m, int how, u_int pktlen) { struct mbuf *m0 = NULL; struct pool *pp; @@ -1024,7 +1024,7 @@ extpacket: * Routine to copy from device local memory into mbufs. */ struct mbuf * -m_devget(char *buf, int totlen, int off, struct ifnet *ifp) +m_devget(char *buf, int totlen, int off) { struct mbuf *m; struct mbuf *top, **mp; @@ -1040,7 +1040,6 @@ m_devget(char *buf, int totlen, int off, if (m == NULL) return (NULL); - m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = totlen; len = MHLEN; Index: net/pfkeyv2.c =================================================================== RCS file: /cvs/src/sys/net/pfkeyv2.c,v retrieving revision 1.139 diff -u -p -r1.139 pfkeyv2.c --- net/pfkeyv2.c 26 Mar 2015 12:21:37 -0000 1.139 +++ net/pfkeyv2.c 8 Apr 2015 13:03:35 -0000 @@ -137,7 +137,7 @@ extern struct pool ipsec_policy_pool; int pfdatatopacket(void *data, int len, struct mbuf **packet) { - if (!(*packet = m_devget(data, len, 0, NULL))) + if (!(*packet = m_devget(data, len, 0))) return (ENOMEM); /* Make sure, all data gets zeroized on free */ Index: sys/mbuf.h =================================================================== RCS file: /cvs/src/sys/sys/mbuf.h,v retrieving revision 1.187 diff -u -p -r1.187 mbuf.h --- sys/mbuf.h 10 Feb 2015 03:46:30 -0000 1.187 +++ sys/mbuf.h 8 Apr 2015 13:02:47 -0000 @@ -301,8 +301,8 @@ struct mbuf { MCLINITREFERENCE(m); \ } while (/* CONSTCOND */ 0) -#define MCLGET(m, how) (void) m_clget((m), (how), NULL, MCLBYTES) -#define MCLGETI(m, how, ifp, l) m_clget((m), (how), (ifp), (l)) +#define MCLGET(m, how) (void) m_clget((m), (how), MCLBYTES) +#define MCLGETI(m, how, ifp, l) m_clget((m), (how), (l)) /* * MFREE(struct mbuf *m, struct mbuf *n) @@ -425,7 +425,7 @@ struct mbuf *m_inject(struct mbuf *, in struct mbuf *m_getptr(struct mbuf *, int, int *); int m_leadingspace(struct mbuf *); int m_trailingspace(struct mbuf *); -struct mbuf *m_clget(struct mbuf *, int, struct ifnet *, u_int); +struct mbuf *m_clget(struct mbuf *, int, u_int); void m_extref(struct mbuf *, struct mbuf *); void m_extfree_pool(caddr_t, u_int, void *); void m_adj(struct mbuf *, int); @@ -434,7 +434,7 @@ void m_freem(struct mbuf *); void m_reclaim(void *, int); void m_copydata(struct mbuf *, int, int, caddr_t); void m_cat(struct mbuf *, struct mbuf *); -struct mbuf *m_devget(char *, int, int, struct ifnet *); +struct mbuf *m_devget(char *, int, int); int m_apply(struct mbuf *, int, int, int (*)(caddr_t, caddr_t, unsigned int), caddr_t); int m_dup_pkthdr(struct mbuf *, struct mbuf *, int);