From nobody Mon Feb 6 17:54:04 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P9YmD5PyRz3n0bc; Mon, 6 Feb 2023 17:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmD2wGbz4XbH; Mon, 6 Feb 2023 17:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LMHTE9Pi/n5nPTGnRd8TCdbMVlVILIXk8WZuiAe0VSw=; b=TNKhtdyA5iS5jJSI7wpobWhpC/Auzg0ulhhpVji8moMf8A53a38y5IBytpOTX/EsUxTnKP Kyodiy1AoCh+OBeNpargrBkQfu109Xsy0S7yA28vG0RwRQWEMj0Hsu0VAFIJ+7cGgq5lcA S2xi9UzjUWTemGVS+DHaWiXaYmH6IlnqnszewK6I/k7dE0dZ9c2EyRHLoCcQonhSQTlk7o GlAlUZzzKC6jut9nmNeIwaKyurI9JdvC7PE7w4xK50f9p8ciwRRE335bPzFW7sNeVmQpw6 vkg6uPs7ChP+BwN97S/Xvk4rgBIxgauRbFxto3tBGMlHw8iT2Bs3Ici9Yrtqow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LMHTE9Pi/n5nPTGnRd8TCdbMVlVILIXk8WZuiAe0VSw=; b=HKT+wAl0zT/+KOO+2bnzwol+/kFcJTraBfx2DFRp30lYKRH/Gpzo4IiNO606Ja4TCRrlDT gVravJcv1DfoISAlQ2MJMmLuce9tmrLzCkkWbv8PSec+pRSYFKQwaqG+gXKsVSzdUonwVb kxL0miE2m63PljDepnNZmc/qxO8psR30y28m7qNjd4NLHwdwOuLcpu4I/xbtgZauW0Hcvr eATBzFv/8UNIw/v0uKvw758KACtYw5tBZD9vN5SbrJVoGSlEdsd8SQ7XXHGaZSu7YRst6s hyQUUULosZH3mdW6ci0nNv2xNm1rbpQyJfkrlBl8DCmSsLlaQPz+gAHtkczSOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706044; a=rsa-sha256; cv=none; b=CGlmg0Wt6C/YEkZtcfhF5RN8OY81xBvUoPj3e0i9N9DylI11+fGV8DmVrOg8oU+5hOJhAz yEwo5mInf2vlgOTFROtsqQkOu3BQrFjQ+HUSNPZ/Cog/tkobr0jmyPu0+ZhLfdMM+xEKzD AlCZx1soqgJq6+beRMDEBGQjVnp2C1L+WLxeQ31zz4szL4MoBcpx+RmHo8vkBmvxQPVczf Z6byziRIvKhMdUKtl6/Ix8QgB+eLQt/ms1PWC/kTeE47vPFo4LsksdxBsoD4BHdUWJTOtr qGDOAceSn1kTqMeGW9rf3/HtmLpDMXdpcJ8zSoXDqQpyRcv/yq9UdYGTftCqag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P9YmD1dvtzk1m; Mon, 6 Feb 2023 17:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs4wR074396; Mon, 6 Feb 2023 17:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs4jD074395; Mon, 6 Feb 2023 17:54:04 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:04 GMT Message-Id: <202302061754.316Hs4jD074395@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3486b835044b - main - Mechanically convert if_vte(4) to IfAPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3486b835044be423439394dceadf8dfd536af8b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3486b835044be423439394dceadf8dfd536af8b4 commit 3486b835044be423439394dceadf8dfd536af8b4 Author: Justin Hibbits AuthorDate: 2022-03-01 16:32:00 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:07 +0000 Mechanically convert if_vte(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37796 --- sys/dev/vte/if_vte.c | 153 ++++++++++++++++++++++++------------------------ sys/dev/vte/if_vtevar.h | 2 +- 2 files changed, 77 insertions(+), 78 deletions(-) diff --git a/sys/dev/vte/if_vte.c b/sys/dev/vte/if_vte.c index 452b1b90e771..10223b6cf073 100644 --- a/sys/dev/vte/if_vte.c +++ b/sys/dev/vte/if_vte.c @@ -102,7 +102,7 @@ static const struct vte_ident * vte_find_ident(device_t); #ifndef __NO_STRICT_ALIGNMENT static struct mbuf * - vte_fixup_rx(struct ifnet *, struct mbuf *); + vte_fixup_rx(if_t, struct mbuf *); #endif static void vte_get_macaddr(struct vte_softc *); static void vte_init(void *); @@ -110,15 +110,15 @@ static void vte_init_locked(struct vte_softc *); static int vte_init_rx_ring(struct vte_softc *); static int vte_init_tx_ring(struct vte_softc *); static void vte_intr(void *); -static int vte_ioctl(struct ifnet *, u_long, caddr_t); -static uint64_t vte_get_counter(struct ifnet *, ift_counter); +static int vte_ioctl(if_t, u_long, caddr_t); +static uint64_t vte_get_counter(if_t, ift_counter); static void vte_mac_config(struct vte_softc *); static int vte_miibus_readreg(device_t, int, int); static void vte_miibus_statchg(device_t); static int vte_miibus_writereg(device_t, int, int, int); -static int vte_mediachange(struct ifnet *); -static int vte_mediachange_locked(struct ifnet *); -static void vte_mediastatus(struct ifnet *, struct ifmediareq *); +static int vte_mediachange(if_t); +static int vte_mediachange_locked(if_t); +static void vte_mediastatus(if_t, struct ifmediareq *); static int vte_newbuf(struct vte_softc *, struct vte_rxdesc *); static int vte_probe(device_t); static void vte_reset(struct vte_softc *); @@ -126,7 +126,7 @@ static int vte_resume(device_t); static void vte_rxeof(struct vte_softc *); static void vte_rxfilter(struct vte_softc *); static int vte_shutdown(device_t); -static void vte_start(struct ifnet *); +static void vte_start(if_t); static void vte_start_locked(struct vte_softc *); static void vte_start_mac(struct vte_softc *); static void vte_stats_clear(struct vte_softc *); @@ -219,14 +219,14 @@ vte_miibus_statchg(device_t dev) { struct vte_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint16_t val; sc = device_get_softc(dev); mii = device_get_softc(sc->vte_miibus); ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->vte_flags &= ~VTE_FLAG_LINK; @@ -272,14 +272,14 @@ vte_miibus_statchg(device_t dev) } static void -vte_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +vte_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct vte_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VTE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { VTE_UNLOCK(sc); return; } @@ -292,12 +292,12 @@ vte_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -vte_mediachange(struct ifnet *ifp) +vte_mediachange(if_t ifp) { struct vte_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VTE_LOCK(sc); error = vte_mediachange_locked(ifp); VTE_UNLOCK(sc); @@ -305,14 +305,14 @@ vte_mediachange(struct ifnet *ifp) } static int -vte_mediachange_locked(struct ifnet *ifp) +vte_mediachange_locked(if_t ifp) { struct vte_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->vte_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) PHY_RESET(miisc); @@ -375,7 +375,7 @@ static int vte_attach(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t macid; int error, rid; @@ -444,16 +444,15 @@ vte_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = vte_ioctl; - ifp->if_start = vte_start; - ifp->if_init = vte_init; - ifp->if_get_counter = vte_get_counter; - ifp->if_snd.ifq_drv_maxlen = VTE_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, vte_ioctl); + if_setstartfn(ifp, vte_start); + if_setinitfn(ifp, vte_init); + if_setgetcounterfn(ifp, vte_get_counter); + if_setsendqlen(ifp, VTE_TX_RING_CNT - 1); + if_setsendqready(ifp); /* * Set up MII bus. @@ -479,10 +478,10 @@ vte_attach(device_t dev) ether_ifattach(ifp, sc->vte_eaddr); /* VLAN capability setup. */ - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Tell the upper layer we support VLAN over-sized frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); error = bus_setup_intr(dev, sc->vte_irq, INTR_TYPE_NET | INTR_MPSAFE, NULL, vte_intr, sc, &sc->vte_intrhand); @@ -503,7 +502,7 @@ static int vte_detach(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); @@ -943,13 +942,13 @@ static int vte_suspend(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); VTE_LOCK(sc); ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) vte_stop(sc); VTE_UNLOCK(sc); @@ -960,14 +959,14 @@ static int vte_resume(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); VTE_LOCK(sc); ifp = sc->vte_ifp; - if ((ifp->if_flags & IFF_UP) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if ((if_getflags(ifp) & IFF_UP) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vte_init_locked(sc); } VTE_UNLOCK(sc); @@ -1099,11 +1098,11 @@ vte_encap(struct vte_softc *sc, struct mbuf **m_head) } static void -vte_start(struct ifnet *ifp) +vte_start(if_t ifp) { struct vte_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VTE_LOCK(sc); vte_start_locked(sc); VTE_UNLOCK(sc); @@ -1112,24 +1111,24 @@ vte_start(struct ifnet *ifp) static void vte_start_locked(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_txdesc *txd; struct mbuf *m_head; int enq; ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->vte_flags & VTE_FLAG_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { + for (enq = 0; !if_sendq_empty(ifp); ) { /* Reserve one free TX descriptor. */ if (sc->vte_cdata.vte_tx_cnt >= VTE_TX_RING_CNT - 1) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -1139,7 +1138,7 @@ vte_start_locked(struct vte_softc *sc) */ if ((txd = vte_encap(sc, &m_head)) == NULL) { if (m_head != NULL) - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); + if_sendq_prepend(ifp, m_head); break; } @@ -1166,7 +1165,7 @@ vte_start_locked(struct vte_softc *sc) static void vte_watchdog(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; VTE_LOCK_ASSERT(sc); @@ -1176,42 +1175,42 @@ vte_watchdog(struct vte_softc *sc) ifp = sc->vte_ifp; if_printf(sc->vte_ifp, "watchdog timeout -- resetting\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vte_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vte_start_locked(sc); } static int -vte_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +vte_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct vte_softc *sc; struct ifreq *ifr; struct mii_data *mii; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { case SIOCSIFFLAGS: VTE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->vte_if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->vte_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) vte_rxfilter(sc); else vte_init_locked(sc); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) vte_stop(sc); - sc->vte_if_flags = ifp->if_flags; + sc->vte_if_flags = if_getflags(ifp); VTE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: VTE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) vte_rxfilter(sc); VTE_UNLOCK(sc); break; @@ -1309,7 +1308,7 @@ vte_stats_update(struct vte_softc *sc) } static uint64_t -vte_get_counter(struct ifnet *ifp, ift_counter cnt) +vte_get_counter(if_t ifp, ift_counter cnt) { struct vte_softc *sc; struct vte_hw_stats *stat; @@ -1338,7 +1337,7 @@ static void vte_intr(void *arg) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t status; int n; @@ -1357,7 +1356,7 @@ vte_intr(void *arg) /* Disable interrupts. */ CSR_WRITE_2(sc, VTE_MIER, 0); for (n = 8; (status & VTE_INTRS) != 0;) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; if ((status & (MISR_RX_DONE | MISR_RX_DESC_UNAVAIL | MISR_RX_FIFO_FULL)) != 0) @@ -1366,7 +1365,7 @@ vte_intr(void *arg) vte_txeof(sc); if ((status & MISR_EVENT_CNT_OFLOW) != 0) vte_stats_update(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vte_start_locked(sc); if (--n > 0) status = CSR_READ_2(sc, VTE_MISR); @@ -1374,7 +1373,7 @@ vte_intr(void *arg) break; } - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { /* Re-enable interrupts. */ CSR_WRITE_2(sc, VTE_MIER, VTE_INTRS); } @@ -1384,7 +1383,7 @@ vte_intr(void *arg) static void vte_txeof(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_txdesc *txd; uint16_t status; int cons, prog; @@ -1422,7 +1421,7 @@ vte_txeof(struct vte_softc *sc) } if (prog > 0) { - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->vte_cdata.vte_tx_cons = cons; /* * Unarm watchdog timer only when there is no pending @@ -1478,7 +1477,7 @@ vte_newbuf(struct vte_softc *sc, struct vte_rxdesc *rxd) */ #ifndef __NO_STRICT_ALIGNMENT static struct mbuf * -vte_fixup_rx(struct ifnet *ifp, struct mbuf *m) +vte_fixup_rx(if_t ifp, struct mbuf *m) { uint16_t *src, *dst; int i; @@ -1496,7 +1495,7 @@ vte_fixup_rx(struct ifnet *ifp, struct mbuf *m) static void vte_rxeof(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_rxdesc *rxd; struct mbuf *m; uint16_t status, total_len; @@ -1507,7 +1506,7 @@ vte_rxeof(struct vte_softc *sc) BUS_DMASYNC_POSTWRITE); cons = sc->vte_cdata.vte_rx_cons; ifp = sc->vte_ifp; - for (prog = 0; (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0; prog++, + for (prog = 0; (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; prog++, VTE_DESC_INC(cons, VTE_RX_RING_CNT)) { rxd = &sc->vte_cdata.vte_rxdesc[cons]; status = le16toh(rxd->rx_desc->drst); @@ -1539,7 +1538,7 @@ vte_rxeof(struct vte_softc *sc) vte_fixup_rx(ifp, m); #endif VTE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); VTE_LOCK(sc); } @@ -1648,7 +1647,7 @@ vte_init(void *xsc) static void vte_init_locked(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; bus_addr_t paddr; uint8_t *eaddr; @@ -1656,7 +1655,7 @@ vte_init_locked(struct vte_softc *sc) ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* * Cancel any pending I/O. @@ -1686,7 +1685,7 @@ vte_init_locked(struct vte_softc *sc) * configure the remaining three addresses as perfect * multicast addresses. */ - eaddr = IF_LLADDR(sc->vte_ifp); + eaddr = if_getlladdr(sc->vte_ifp); CSR_WRITE_2(sc, VTE_MID0L, eaddr[1] << 8 | eaddr[0]); CSR_WRITE_2(sc, VTE_MID0M, eaddr[3] << 8 | eaddr[2]); CSR_WRITE_2(sc, VTE_MID0H, eaddr[5] << 8 | eaddr[4]); @@ -1764,14 +1763,14 @@ vte_init_locked(struct vte_softc *sc) callout_reset(&sc->vte_tick_ch, hz, vte_tick, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } static void vte_stop(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_txdesc *txd; struct vte_rxdesc *rxd; int i; @@ -1781,7 +1780,7 @@ vte_stop(struct vte_softc *sc) * Mark the interface down and cancel the watchdog timer. */ ifp = sc->vte_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->vte_flags &= ~VTE_FLAG_LINK; callout_stop(&sc->vte_tick_ch); sc->vte_watchdog_timer = 0; @@ -1999,7 +1998,7 @@ vte_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void vte_rxfilter(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_maddr_ctx ctx; uint16_t mcr; int i; @@ -2019,12 +2018,12 @@ vte_rxfilter(struct vte_softc *sc) mcr = CSR_READ_2(sc, VTE_MCR0); mcr &= ~(MCR0_PROMISC | MCR0_MULTICAST); mcr |= MCR0_BROADCAST_DIS; - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) mcr &= ~MCR0_BROADCAST_DIS; - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) mcr |= MCR0_PROMISC; - if ((ifp->if_flags & IFF_ALLMULTI) != 0) + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) mcr |= MCR0_MULTICAST; ctx.mchash[0] = 0xFFFF; ctx.mchash[1] = 0xFFFF; diff --git a/sys/dev/vte/if_vtevar.h b/sys/dev/vte/if_vtevar.h index 9f2f7dda5bbf..3512786198e7 100644 --- a/sys/dev/vte/if_vtevar.h +++ b/sys/dev/vte/if_vtevar.h @@ -123,7 +123,7 @@ struct vte_ident { * Software state per device. */ struct vte_softc { - struct ifnet *vte_ifp; + if_t vte_ifp; device_t vte_dev; device_t vte_miibus; struct resource *vte_res;