From nobody Mon Mar 6 16:24:14 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 4PVkRg0Kfmz3w5K0; Mon, 6 Mar 2023 16:24:15 +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 4PVkRg03Vbz3wbq; Mon, 6 Mar 2023 16:24:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678119855; 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=uHpKY9opWZ2Ff49I/S3qNM/1HjH0loxECCxsU75PQBY=; b=MpsOeGtbplvwLqeatu+Zfdssaac5mk3tGwM4XzJRBERK9j2gBX5EfbIMbGZ8sUFwoEliVm nDFO5kWhINBGbwyanTzQ/4X3pC7J4Na6xUVTE+S6IGnlWLlt3UXpB+znWXhPQ47RNO4fD4 TNQtwQ+bj8NXvsv4MI3Qa3ECQ/itepeWtuYafLihxSKMCCmn31SUodVsdjqS45HZNAyvCK IWmU34orpTh5+1+teqZk86G9PMyLIH8sug1UpA37CXN6PoOpZUowSMmU2XnnDMI6Fxhp32 qiy5SjmV64msfBZKwAwR5Yq4Be7e7WiNlKbpk6hiyJO+c/MK9twX6C+kxnBetQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678119855; 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=uHpKY9opWZ2Ff49I/S3qNM/1HjH0loxECCxsU75PQBY=; b=GFRRW3saFZk3LE/HGJ9n17iDAPzdiYvWrRQl896yR7PTXx3jX3AoVEwp0n6+RnMnCufDJ6 0AyTneSL+WZZniLTKXxrun40KiE84YyLWxEr1OvBB94TWI6QmwGpEId5tKhPV6XipgKb97 YdeN5LXsg9iFHH+ESjXg8eeOM1FJ25FJE3D8QXMB73huNqF3aKqdGTiGlalSnuuZFl3wqD NTJlP8ggOTDd998hR+LyTjeiUqeqZiZk3lUV4l51NEbETSkPQuJLNcjV4F2OHhyP3kytxS 154IRf0kybVzr9ApMsVt41YIIFWCJYoCb1TnqR9Sol6iyNEYp4+jFaztwVWk2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678119855; a=rsa-sha256; cv=none; b=slepl1Lvpdv2l3XDLQwnegaV87/9ctvOnH76e3F2ngFJzJ9yEWykEhc7i7AUgV+01RwPcN n8UuKDWCYrOhiLg5TsEt28GrfatjjUPrTALVcsH56i3l79AHIlM12VGeGJLEaBTy18nTE0 NrAlNJyLoDH1L5cFEAabxiaV+X5nQGsvL3c/KAOASLerLI/9kwpgGFFTyh8vexP8/cfLys vo5N69JOGDv6imqBX99KWWMDu6To6s9qh23mkUfFbRt9Cw9FXasT3AELFJ+pZ9Xt+mk5h1 VEhE5+07HEaaKQZH14Pz+dIcO4QXWp51v7ab+1JPCQD2lSxcBpb9fhqtN41Bcg== 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 4PVkRf6CSyz189Q; Mon, 6 Mar 2023 16:24:14 +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 326GOESO006732; Mon, 6 Mar 2023 16:24:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 326GOEYA006731; Mon, 6 Mar 2023 16:24:14 GMT (envelope-from git) Date: Mon, 6 Mar 2023 16:24:14 GMT Message-Id: <202303061624.326GOEYA006731@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: 935b194ded5d - main - Mechanically convert usb ethernet drivers to DrvAPI 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: 935b194ded5dc555fc14e3d2f4c72e58cff39566 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=935b194ded5dc555fc14e3d2f4c72e58cff39566 commit 935b194ded5dc555fc14e3d2f4c72e58cff39566 Author: Justin Hibbits AuthorDate: 2023-02-07 16:10:10 +0000 Commit: Justin Hibbits CommitDate: 2023-03-06 16:04:15 +0000 Mechanically convert usb ethernet drivers to DrvAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37812 --- sys/dev/usb/net/if_aue.c | 40 +++++++-------- sys/dev/usb/net/if_axe.c | 119 +++++++++++++++++++++---------------------- sys/dev/usb/net/if_axge.c | 111 ++++++++++++++++++++-------------------- sys/dev/usb/net/if_cdce.c | 57 ++++++++++----------- sys/dev/usb/net/if_cdceem.c | 16 +++--- sys/dev/usb/net/if_cue.c | 30 +++++------ sys/dev/usb/net/if_ipheth.c | 8 +-- sys/dev/usb/net/if_kue.c | 24 ++++----- sys/dev/usb/net/if_mos.c | 38 +++++++------- sys/dev/usb/net/if_muge.c | 115 +++++++++++++++++++++-------------------- sys/dev/usb/net/if_rue.c | 40 +++++++-------- sys/dev/usb/net/if_smsc.c | 105 +++++++++++++++++++------------------- sys/dev/usb/net/if_udav.c | 38 +++++++------- sys/dev/usb/net/if_ure.c | 113 ++++++++++++++++++++-------------------- sys/dev/usb/net/if_urndis.c | 14 ++--- sys/dev/usb/net/if_usie.c | 79 ++++++++++++++-------------- sys/dev/usb/net/if_usievar.h | 2 +- sys/dev/usb/net/uhso.c | 77 ++++++++++++++-------------- sys/dev/usb/usb_pf.c | 35 +++++++------ sys/dev/usb/wlan/if_rsu.c | 14 ++--- sys/dev/usb/wlan/if_run.c | 10 ++-- sys/dev/usb/wlan/if_upgt.c | 2 +- 22 files changed, 539 insertions(+), 548 deletions(-) diff --git a/sys/dev/usb/net/if_aue.c b/sys/dev/usb/net/if_aue.c index 3e4251cf1562..4b31d0302f91 100644 --- a/sys/dev/usb/net/if_aue.c +++ b/sys/dev/usb/net/if_aue.c @@ -225,8 +225,8 @@ static uint16_t aue_eeprom_getword(struct aue_softc *, int); static void aue_reset(struct aue_softc *); static void aue_reset_pegasus_II(struct aue_softc *); -static int aue_ifmedia_upd(struct ifnet *); -static void aue_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int aue_ifmedia_upd(if_t); +static void aue_ifmedia_sts(if_t, struct ifmediareq *); static const struct usb_config aue_config[AUE_N_TRANSFER] = { [AUE_BULK_DT_WR] = { @@ -554,13 +554,13 @@ static void aue_setmulti(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint32_t i; uint8_t hashtbl[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; AUE_LOCK_ASSERT(sc, MA_OWNED); - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_ALLMULTI || if_getflags(ifp) & IFF_PROMISC) { AUE_SETBIT(sc, AUE_CTL0, AUE_CTL0_ALLMULTI); return; } @@ -740,7 +740,7 @@ static void aue_intr_callback(struct usb_xfer *xfer, usb_error_t error) { struct aue_softc *sc = usbd_xfer_softc(xfer); - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct aue_intrpkt pkt; struct usb_page_cache *pc; int actlen; @@ -750,7 +750,7 @@ aue_intr_callback(struct usb_xfer *xfer, usb_error_t error) switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) && + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) && actlen >= (int)sizeof(pkt)) { pc = usbd_xfer_get_frame(xfer, 0); usbd_copy_out(pc, 0, &pkt, sizeof(pkt)); @@ -783,7 +783,7 @@ aue_bulk_read_callback(struct usb_xfer *xfer, usb_error_t error) { struct aue_softc *sc = usbd_xfer_softc(xfer); struct usb_ether *ue = &sc->sc_ue; - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); struct aue_rxpkt stat; struct usb_page_cache *pc; int actlen; @@ -847,7 +847,7 @@ static void aue_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct aue_softc *sc = usbd_xfer_softc(xfer); - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct usb_page_cache *pc; struct mbuf *m; uint8_t buf[2]; @@ -870,7 +870,7 @@ tr_setup: */ return; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) return; @@ -959,7 +959,7 @@ static void aue_init(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); int i; AUE_LOCK_ASSERT(sc, MA_OWNED); @@ -971,7 +971,7 @@ aue_init(struct usb_ether *ue) /* Set MAC address */ for (i = 0; i != ETHER_ADDR_LEN; i++) - aue_csr_write_1(sc, AUE_PAR0 + i, IF_LLADDR(ifp)[i]); + aue_csr_write_1(sc, AUE_PAR0 + i, if_getlladdr(ifp)[i]); /* update promiscuous setting */ aue_setpromisc(ue); @@ -986,7 +986,7 @@ aue_init(struct usb_ether *ue) usbd_xfer_set_stall(sc->sc_xfer[AUE_BULK_DT_WR]); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); aue_start(ue); } @@ -994,12 +994,12 @@ static void aue_setpromisc(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); AUE_LOCK_ASSERT(sc, MA_OWNED); /* if we want promiscuous mode, set the allframes bit: */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) AUE_SETBIT(sc, AUE_CTL2, AUE_CTL2_RX_PROMISC); else AUE_CLRBIT(sc, AUE_CTL2, AUE_CTL2_RX_PROMISC); @@ -1009,9 +1009,9 @@ aue_setpromisc(struct usb_ether *ue) * Set media options. */ static int -aue_ifmedia_upd(struct ifnet *ifp) +aue_ifmedia_upd(if_t ifp) { - struct aue_softc *sc = ifp->if_softc; + struct aue_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); struct mii_softc *miisc; int error; @@ -1029,9 +1029,9 @@ aue_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -aue_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +aue_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct aue_softc *sc = ifp->if_softc; + struct aue_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); AUE_LOCK(sc); @@ -1049,11 +1049,11 @@ static void aue_stop(struct usb_ether *ue) { struct aue_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); AUE_LOCK_ASSERT(sc, MA_OWNED); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sc->sc_flags &= ~AUE_FLAG_LINK; /* diff --git a/sys/dev/usb/net/if_axe.c b/sys/dev/usb/net/if_axe.c index 257761f4c48b..f0c8ce58d297 100644 --- a/sys/dev/usb/net/if_axe.c +++ b/sys/dev/usb/net/if_axe.c @@ -205,8 +205,8 @@ static uether_fn_t axe_setmulti; static uether_fn_t axe_setpromisc; static int axe_attach_post_sub(struct usb_ether *); -static int axe_ifmedia_upd(struct ifnet *); -static void axe_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int axe_ifmedia_upd(if_t); +static void axe_ifmedia_sts(if_t, struct ifmediareq *); static int axe_cmd(struct axe_softc *, int, int, int, void *); static void axe_ax88178_init(struct axe_softc *); static void axe_ax88772_init(struct axe_softc *); @@ -214,7 +214,7 @@ static void axe_ax88772_phywake(struct axe_softc *); static void axe_ax88772a_init(struct axe_softc *); static void axe_ax88772b_init(struct axe_softc *); static int axe_get_phyno(struct axe_softc *, int); -static int axe_ioctl(struct ifnet *, u_long, caddr_t); +static int axe_ioctl(if_t, u_long, caddr_t); static int axe_rx_frame(struct usb_ether *, struct usb_page_cache *, int); static int axe_rxeof(struct usb_ether *, struct usb_page_cache *, unsigned offset, unsigned, struct axe_csum_hdr *); @@ -373,7 +373,7 @@ axe_miibus_statchg(device_t dev) { struct axe_softc *sc = device_get_softc(dev); struct mii_data *mii = GET_MII(sc); - struct ifnet *ifp; + if_t ifp; uint16_t val; int err, locked; @@ -383,7 +383,7 @@ axe_miibus_statchg(device_t dev) ifp = uether_getifp(&sc->sc_ue); if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto done; sc->sc_flags &= ~AXE_FLAG_LINK; @@ -448,9 +448,9 @@ done: * Set media options. */ static int -axe_ifmedia_upd(struct ifnet *ifp) +axe_ifmedia_upd(if_t ifp) { - struct axe_softc *sc = ifp->if_softc; + struct axe_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); struct mii_softc *miisc; int error; @@ -467,9 +467,9 @@ axe_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -axe_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +axe_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct axe_softc *sc = ifp->if_softc; + struct axe_softc *sc = if_getsoftc(ifp); struct mii_data *mii = GET_MII(sc); AXE_LOCK(sc); @@ -495,7 +495,7 @@ static void axe_setmulti(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint16_t rxmode; uint8_t hashtbl[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -504,7 +504,7 @@ axe_setmulti(struct usb_ether *ue) axe_cmd(sc, AXE_CMD_RXCTL_READ, 0, 0, &rxmode); rxmode = le16toh(rxmode); - if (ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) { rxmode |= AXE_RXCMD_ALLMULTI; axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, rxmode, NULL); return; @@ -865,25 +865,24 @@ static int axe_attach_post_sub(struct usb_ether *ue) { struct axe_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int adv_pause; int error; sc = uether_getsc(ue); ifp = ue->ue_ifp; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = uether_start; - ifp->if_ioctl = axe_ioctl; - ifp->if_init = uether_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, uether_start); + if_setioctlfn(ifp, axe_ioctl); + if_setinitfn(ifp, uether_init); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); if (AXE_IS_178_FAMILY(sc)) - ifp->if_capabilities |= IFCAP_VLAN_MTU; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); if (sc->sc_flags & AXE_FLAG_772B) { - ifp->if_capabilities |= IFCAP_TXCSUM | IFCAP_RXCSUM; - ifp->if_hwassist = AXE_CSUM_FEATURES; + if_setcapabilitiesbit(ifp, IFCAP_TXCSUM | IFCAP_RXCSUM, 0); + if_sethwassist(ifp, AXE_CSUM_FEATURES); /* * Checksum offloading of AX88772B also works with VLAN * tagged frames but there is no way to take advantage @@ -894,7 +893,7 @@ axe_attach_post_sub(struct usb_ether *ue) * not possible to announce IFCAP_VLAN_HWTAGGING. */ } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); if (sc->sc_flags & (AXE_FLAG_772A | AXE_FLAG_772B | AXE_FLAG_178)) adv_pause = MIIF_DOPAUSE; else @@ -1106,7 +1105,7 @@ static int axe_rxeof(struct usb_ether *ue, struct usb_page_cache *pc, unsigned offset, unsigned len, struct axe_csum_hdr *csum_hdr) { - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; struct mbuf *m; if (len < ETHER_HDR_LEN || len > MCLBYTES - ETHER_ALIGN) { @@ -1157,7 +1156,7 @@ axe_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct axe_softc *sc = usbd_xfer_softc(xfer); struct axe_sframe_hdr hdr; - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct usb_page_cache *pc; struct mbuf *m; int nframes, pos; @@ -1165,12 +1164,12 @@ axe_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: DPRINTFN(11, "transfer complete\n"); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); /* FALLTHROUGH */ case USB_ST_SETUP: tr_setup: if ((sc->sc_flags & AXE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { + (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) != 0) { /* * Don't send anything if there is no link or * controller is busy. @@ -1179,8 +1178,8 @@ tr_setup: } for (nframes = 0; nframes < 16 && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd); nframes++) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + !if_sendq_empty(ifp); nframes++) { + m = if_dequeue(ifp); if (m == NULL) break; usbd_xfer_set_frame_offset(xfer, nframes * MCLBYTES, @@ -1196,7 +1195,7 @@ tr_setup: * computed checksum for checksum offloading * enabled controller. */ - if (ifp->if_capabilities & IFCAP_TXCSUM) { + if (if_getcapabilities(ifp) & IFCAP_TXCSUM) { if ((m->m_pkthdr.csum_flags & AXE_CSUM_FEATURES) != 0) hdr.len |= htole16( @@ -1246,7 +1245,7 @@ tr_setup: if (nframes != 0) { usbd_xfer_set_frames(xfer, nframes); usbd_transfer_submit(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); } return; /* NOTREACHED */ @@ -1255,7 +1254,7 @@ tr_setup: usbd_errstr(error)); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (error != USB_ERR_CANCELLED) { /* try to clear stall first */ @@ -1298,7 +1297,7 @@ static void axe_csum_cfg(struct usb_ether *ue) { struct axe_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t csum1, csum2; sc = uether_getsc(ue); @@ -1308,13 +1307,13 @@ axe_csum_cfg(struct usb_ether *ue) ifp = uether_getifp(ue); csum1 = 0; csum2 = 0; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) csum1 |= AXE_TXCSUM_IP | AXE_TXCSUM_TCP | AXE_TXCSUM_UDP; axe_cmd(sc, AXE_772B_CMD_WRITE_TXCSUM, csum2, csum1, NULL); csum1 = 0; csum2 = 0; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) csum1 |= AXE_RXCSUM_IP | AXE_RXCSUM_IPVE | AXE_RXCSUM_TCP | AXE_RXCSUM_UDP | AXE_RXCSUM_ICMP | AXE_RXCSUM_IGMP; @@ -1326,12 +1325,12 @@ static void axe_init(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint16_t rxmode; AXE_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* Cancel pending I/O */ @@ -1341,11 +1340,11 @@ axe_init(struct usb_ether *ue) /* Set MAC address and transmitter IPG values. */ if (AXE_IS_178_FAMILY(sc)) { - axe_cmd(sc, AXE_178_CMD_WRITE_NODEID, 0, 0, IF_LLADDR(ifp)); + axe_cmd(sc, AXE_178_CMD_WRITE_NODEID, 0, 0, if_getlladdr(ifp)); axe_cmd(sc, AXE_178_CMD_WRITE_IPG012, sc->sc_ipgs[2], (sc->sc_ipgs[1] << 8) | (sc->sc_ipgs[0]), NULL); } else { - axe_cmd(sc, AXE_172_CMD_WRITE_NODEID, 0, 0, IF_LLADDR(ifp)); + axe_cmd(sc, AXE_172_CMD_WRITE_NODEID, 0, 0, if_getlladdr(ifp)); axe_cmd(sc, AXE_172_CMD_WRITE_IPG0, 0, sc->sc_ipgs[0], NULL); axe_cmd(sc, AXE_172_CMD_WRITE_IPG1, 0, sc->sc_ipgs[1], NULL); axe_cmd(sc, AXE_172_CMD_WRITE_IPG2, 0, sc->sc_ipgs[2], NULL); @@ -1354,7 +1353,7 @@ axe_init(struct usb_ether *ue) if (AXE_IS_178_FAMILY(sc)) { sc->sc_flags &= ~(AXE_FLAG_STD_FRAME | AXE_FLAG_CSUM_FRAME); if ((sc->sc_flags & AXE_FLAG_772B) != 0 && - (ifp->if_capenable & IFCAP_RXCSUM) != 0) { + (if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) { sc->sc_lenmask = AXE_CSUM_HDR_LEN_MASK; sc->sc_flags |= AXE_FLAG_CSUM_FRAME; } else { @@ -1388,7 +1387,7 @@ axe_init(struct usb_ether *ue) * header size. */ rxmode |= AXE_772B_RXCMD_HDR_TYPE_1; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) rxmode |= AXE_772B_RXCMD_IPHDR_ALIGN; } else { /* @@ -1402,10 +1401,10 @@ axe_init(struct usb_ether *ue) } /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) rxmode |= AXE_RXCMD_PROMISC; - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) rxmode |= AXE_RXCMD_BROADCAST; axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, rxmode, NULL); @@ -1415,7 +1414,7 @@ axe_init(struct usb_ether *ue) usbd_xfer_set_stall(sc->sc_xfer[AXE_BULK_DT_WR]); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); /* Switch to selected media. */ axe_ifmedia_upd(ifp); } @@ -1424,14 +1423,14 @@ static void axe_setpromisc(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); uint16_t rxmode; axe_cmd(sc, AXE_CMD_RXCTL_READ, 0, 0, &rxmode); rxmode = le16toh(rxmode); - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { rxmode |= AXE_RXCMD_PROMISC; } else { rxmode &= ~AXE_RXCMD_PROMISC; @@ -1446,11 +1445,11 @@ static void axe_stop(struct usb_ether *ue) { struct axe_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); AXE_LOCK_ASSERT(sc, MA_OWNED); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->sc_flags &= ~AXE_FLAG_LINK; /* @@ -1461,9 +1460,9 @@ axe_stop(struct usb_ether *ue) } static int -axe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +axe_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct usb_ether *ue = ifp->if_softc; + struct usb_ether *ue = if_getsoftc(ifp); struct axe_softc *sc; struct ifreq *ifr; int error, mask, reinit; @@ -1474,23 +1473,23 @@ axe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) reinit = 0; if (cmd == SIOCSIFCAP) { AXE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= AXE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, AXE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~AXE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, AXE_CSUM_FEATURES); reinit++; } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); reinit++; } - if (reinit > 0 && ifp->if_drv_flags & IFF_DRV_RUNNING) - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit > 0 && if_getdrvflags(ifp) & IFF_DRV_RUNNING) + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); else reinit = 0; AXE_UNLOCK(sc); diff --git a/sys/dev/usb/net/if_axge.c b/sys/dev/usb/net/if_axge.c index b49feb1d09fc..cd01f949992b 100644 --- a/sys/dev/usb/net/if_axge.c +++ b/sys/dev/usb/net/if_axge.c @@ -130,9 +130,9 @@ static void axge_chip_init(struct axge_softc *); static void axge_reset(struct axge_softc *); static int axge_attach_post_sub(struct usb_ether *); -static int axge_ifmedia_upd(struct ifnet *); -static void axge_ifmedia_sts(struct ifnet *, struct ifmediareq *); -static int axge_ioctl(struct ifnet *, u_long, caddr_t); +static int axge_ifmedia_upd(if_t); +static void axge_ifmedia_sts(if_t, struct ifmediareq *); +static int axge_ioctl(if_t, u_long, caddr_t); static void axge_rx_frame(struct usb_ether *, struct usb_page_cache *, int); static void axge_rxeof(struct usb_ether *, struct usb_page_cache *, unsigned, unsigned, uint32_t); @@ -328,7 +328,7 @@ axge_miibus_statchg(device_t dev) { struct axge_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint8_t link_status, tmp[5]; uint16_t val; int locked; @@ -341,7 +341,7 @@ axge_miibus_statchg(device_t dev) ifp = uether_getifp(&sc->sc_ue); if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto done; sc->sc_flags &= ~AXGE_FLAG_LINK; @@ -450,21 +450,20 @@ axge_attach_post(struct usb_ether *ue) static int axge_attach_post_sub(struct usb_ether *ue) { - struct ifnet *ifp; + if_t ifp; int error; ifp = ue->ue_ifp; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = uether_start; - ifp->if_ioctl = axge_ioctl; - ifp->if_init = uether_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); - - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_TXCSUM | IFCAP_RXCSUM; - ifp->if_hwassist = AXGE_CSUM_FEATURES; - ifp->if_capenable = ifp->if_capabilities; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, uether_start); + if_setioctlfn(ifp, axge_ioctl); + if_setinitfn(ifp, uether_init); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); + + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_TXCSUM | IFCAP_RXCSUM, 0); + if_sethwassist(ifp, AXGE_CSUM_FEATURES); + if_setcapenable(ifp, if_getcapabilities(ifp)); bus_topo_lock(); error = mii_attach(ue->ue_dev, &ue->ue_miibus, ifp, @@ -479,14 +478,14 @@ axge_attach_post_sub(struct usb_ether *ue) * Set media options. */ static int -axge_ifmedia_upd(struct ifnet *ifp) +axge_ifmedia_upd(if_t ifp) { struct axge_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = GET_MII(sc); AXGE_LOCK_ASSERT(sc, MA_OWNED); @@ -501,12 +500,12 @@ axge_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -axge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +axge_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct axge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = GET_MII(sc); AXGE_LOCK(sc); mii_pollstat(mii); @@ -655,7 +654,7 @@ static void axge_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; struct usb_page_cache *pc; struct mbuf *m; struct axge_frame_txhdr txhdr; @@ -666,12 +665,12 @@ axge_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); /* FALLTHROUGH */ case USB_ST_SETUP: tr_setup: if ((sc->sc_flags & AXGE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { + (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) != 0) { /* * Don't send anything if there is no link or * controller is busy. @@ -680,8 +679,8 @@ tr_setup: } for (nframes = 0; nframes < AXGE_N_FRAMES && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd); nframes++) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + !if_sendq_empty(ifp); nframes++) { + m = if_dequeue(ifp); if (m == NULL) break; usbd_xfer_set_frame_offset(xfer, nframes * MCLBYTES, @@ -689,7 +688,7 @@ tr_setup: pc = usbd_xfer_get_frame(xfer, nframes); txhdr.mss = 0; txhdr.len = htole32(AXGE_TXBYTES(m->m_pkthdr.len)); - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0 && + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0 && (m->m_pkthdr.csum_flags & AXGE_CSUM_FEATURES) == 0) txhdr.len |= htole32(AXGE_CSUM_DISABLE); @@ -723,13 +722,13 @@ tr_setup: if_inc_counter(ifp, IFCOUNTER_OPACKETS, nframes); usbd_xfer_set_frames(xfer, nframes); usbd_transfer_submit(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); } return; /* NOTREACHED */ default: if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (error != USB_ERR_CANCELLED) { usbd_xfer_set_stall(xfer); @@ -768,7 +767,7 @@ static void axge_rxfilter(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t rxmode; uint8_t hashtbl[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -785,10 +784,10 @@ axge_rxfilter(struct usb_ether *ue) * to worry about alignment. */ rxmode = RCR_DROP_CRCERR | RCR_START; - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) rxmode |= RCR_ACPT_BCAST; - if (ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(ifp) & IFF_PROMISC) rxmode |= RCR_PROMISC; rxmode |= RCR_ACPT_ALL_MCAST; axge_write_cmd_2(sc, AXGE_ACCESS_MAC, 2, AXGE_RCR, rxmode); @@ -819,13 +818,13 @@ static void axge_init(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = uether_getsc(ue); ifp = uether_getifp(ue); AXGE_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -837,7 +836,7 @@ axge_init(struct usb_ether *ue) /* Set MAC address. */ axge_write_mem(sc, AXGE_ACCESS_MAC, ETHER_ADDR_LEN, AXGE_NIDR, - IF_LLADDR(ifp), ETHER_ADDR_LEN); + if_getlladdr(ifp), ETHER_ADDR_LEN); axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_PWLLR, 0x34); axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_PWLHR, 0x52); @@ -864,7 +863,7 @@ axge_init(struct usb_ether *ue) usbd_xfer_set_stall(sc->sc_xfer[AXGE_BULK_DT_WR]); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); /* Switch to selected media. */ axge_ifmedia_upd(ifp); } @@ -873,7 +872,7 @@ static void axge_stop(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t val; sc = uether_getsc(ue); @@ -886,7 +885,7 @@ axge_stop(struct usb_ether *ue) axge_write_cmd_2(sc, AXGE_ACCESS_MAC, 2, AXGE_MSR, val); if (ifp != NULL) - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->sc_flags &= ~AXGE_FLAG_LINK; /* @@ -897,37 +896,37 @@ axge_stop(struct usb_ether *ue) } static int -axge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +axge_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct usb_ether *ue; struct axge_softc *sc; struct ifreq *ifr; int error, mask, reinit; - ue = ifp->if_softc; + ue = if_getsoftc(ifp); sc = uether_getsc(ue); ifr = (struct ifreq *)data; error = 0; reinit = 0; if (cmd == SIOCSIFCAP) { AXGE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= AXGE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, AXGE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~AXGE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, AXGE_CSUM_FEATURES); reinit++; } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); reinit++; } - if (reinit > 0 && ifp->if_drv_flags & IFF_DRV_RUNNING) - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit > 0 && if_getdrvflags(ifp) & IFF_DRV_RUNNING) + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); else reinit = 0; AXGE_UNLOCK(sc); @@ -1000,7 +999,7 @@ static void axge_rxeof(struct usb_ether *ue, struct usb_page_cache *pc, unsigned offset, unsigned len, uint32_t status) { - struct ifnet *ifp; + if_t ifp; struct mbuf *m; ifp = ue->ue_ifp; @@ -1023,7 +1022,7 @@ axge_rxeof(struct usb_ether *ue, struct usb_page_cache *pc, unsigned offset, usbd_copy_out(pc, offset, mtod(m, uint8_t *), len); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) { + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) { if ((status & AXGE_RX_L3_CSUM_ERR) == 0 && (status & AXGE_RX_L3_TYPE_MASK) == AXGE_RX_L3_TYPE_IPV4) m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED | @@ -1045,7 +1044,7 @@ static void axge_csum_cfg(struct usb_ether *ue) { struct axge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint8_t csum; sc = uether_getsc(ue); @@ -1053,12 +1052,12 @@ axge_csum_cfg(struct usb_ether *ue) ifp = uether_getifp(ue); csum = 0; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) csum |= CTCR_IP | CTCR_TCP | CTCR_UDP; axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_CTCR, csum); csum = 0; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) csum |= CRCR_IP | CRCR_TCP | CRCR_UDP; axge_write_cmd_1(sc, AXGE_ACCESS_MAC, AXGE_CRCR, csum); } diff --git a/sys/dev/usb/net/if_cdce.c b/sys/dev/usb/net/if_cdce.c index 3cad74a11022..2950fec8c618 100644 --- a/sys/dev/usb/net/if_cdce.c +++ b/sys/dev/usb/net/if_cdce.c @@ -112,9 +112,9 @@ static uether_fn_t cdce_start; static uether_fn_t cdce_setmulti; static uether_fn_t cdce_setpromisc; static int cdce_attach_post_sub(struct usb_ether *); -static int cdce_ioctl(struct ifnet *, u_long, caddr_t); -static int cdce_media_change_cb(struct ifnet *); -static void cdce_media_status_cb(struct ifnet *, struct ifmediareq *); +static int cdce_ioctl(if_t, u_long, caddr_t); +static int cdce_media_change_cb(if_t); +static void cdce_media_status_cb(if_t, struct ifmediareq *); static uint32_t cdce_m_crc32(struct mbuf *, uint32_t, uint32_t); static void cdce_set_filter(struct usb_ether *); @@ -574,16 +574,15 @@ static int cdce_attach_post_sub(struct usb_ether *ue) { struct cdce_softc *sc = uether_getsc(ue); - struct ifnet *ifp = uether_getifp(ue); + if_t ifp = uether_getifp(ue); /* mostly copied from usb_ethernet.c */ - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = uether_start; - ifp->if_ioctl = cdce_ioctl; - ifp->if_init = uether_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, uether_start); + if_setioctlfn(ifp, cdce_ioctl); + if_setinitfn(ifp, uether_init); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); if ((sc->sc_flags & CDCE_FLAG_VLAN) == CDCE_FLAG_VLAN) if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); @@ -811,9 +810,9 @@ cdce_start(struct usb_ether *ue) } static int -cdce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +cdce_ioctl(if_t ifp, u_long command, caddr_t data) { - struct usb_ether *ue = ifp->if_softc; + struct usb_ether *ue = if_getsoftc(ifp); struct cdce_softc *sc = uether_getsc(ue); struct ifreq *ifr = (struct ifreq *)data; int error; @@ -846,14 +845,14 @@ cdce_free_queue(struct mbuf **ppm, uint8_t n) } static int -cdce_media_change_cb(struct ifnet *ifp) +cdce_media_change_cb(if_t ifp) { return (EOPNOTSUPP); } static void -cdce_media_status_cb(struct ifnet *ifp, struct ifmediareq *ifmr) +cdce_media_status_cb(if_t ifp, struct ifmediareq *ifmr) { if ((if_getflags(ifp) & IFF_UP) == 0) @@ -862,14 +861,14 @@ cdce_media_status_cb(struct ifnet *ifp, struct ifmediareq *ifmr) ifmr->ifm_active = IFM_ETHER; ifmr->ifm_status = IFM_AVALID; ifmr->ifm_status |= - ifp->if_link_state == LINK_STATE_UP ? IFM_ACTIVE : 0; + if_getlinkstate(ifp) == LINK_STATE_UP ? IFM_ACTIVE : 0; } static void cdce_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) { struct cdce_softc *sc = usbd_xfer_softc(xfer); - struct ifnet *ifp = uether_getifp(&sc->sc_ue); + if_t ifp = uether_getifp(&sc->sc_ue); struct mbuf *m; struct mbuf *mt; uint32_t crc; @@ -894,7 +893,7 @@ cdce_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error) case USB_ST_SETUP: tr_setup: for (x = 0; x != CDCE_FRAMES_MAX; x++) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); *** 2573 LINES SKIPPED ***