The branch main has been updated by emaste:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=4756f5ff8f10cdda925cab60c0b66606698e49ee

commit 4756f5ff8f10cdda925cab60c0b66606698e49ee
Author:     Olivier Cochard <[email protected]>
AuthorDate: 2025-11-13 03:17:03 +0000
Commit:     Ed Maste <[email protected]>
CommitDate: 2025-11-30 15:38:33 +0000

    aq(4): Port to IfAPI
    
    Direct access to struct ifnet members is not possible in FreeBSD 15;
    accessors must be used.  These exist in all supported FreeBSD versions,
    so we do not need to make this conditional.
---
 sys/dev/aq/aq_main.c  | 16 ++++++++--------
 sys/dev/aq/aq_media.c | 12 ++++++------
 sys/dev/aq/aq_ring.c  |  4 ++--
 3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/sys/dev/aq/aq_main.c b/sys/dev/aq/aq_main.c
index 299ed79f9094..7345c7cc2d03 100644
--- a/sys/dev/aq/aq_main.c
+++ b/sys/dev/aq/aq_main.c
@@ -379,7 +379,7 @@ static int aq_if_attach_pre(if_ctx_t ctx)
 #else
        if_t ifp;
        ifp = iflib_get_ifp(ctx);
-       ifp->if_capenable =  IFCAP_RXCSUM | IFCAP_TXCSUM | IFCAP_HWCSUM | 
IFCAP_TSO |
+       if_setcapenable(ifp,  IFCAP_RXCSUM | IFCAP_TXCSUM | IFCAP_HWCSUM | 
IFCAP_TSO |
                                                          IFCAP_JUMBO_MTU | 
IFCAP_VLAN_HWFILTER |
                                                          IFCAP_VLAN_MTU | 
IFCAP_VLAN_HWTAGGING |
                                                          IFCAP_VLAN_HWCSUM;
@@ -718,7 +718,7 @@ static void aq_if_stop(if_ctx_t ctx)
 static uint64_t aq_if_get_counter(if_ctx_t ctx, ift_counter cnt)
 {
        struct aq_dev *softc = iflib_get_softc(ctx);
-       struct ifnet *ifp = iflib_get_ifp(ctx);
+       if_t ifp = iflib_get_ifp(ctx);
 
        switch (cnt) {
        case IFCOUNTER_IERRORS:
@@ -776,7 +776,7 @@ static bool aq_is_mc_promisc_required(struct aq_dev *softc)
 static void aq_if_multi_set(if_ctx_t ctx)
 {
        struct aq_dev *softc = iflib_get_softc(ctx);
-       struct ifnet  *ifp = iflib_get_ifp(ctx);
+       if_t ifp = iflib_get_ifp(ctx);
        struct aq_hw  *hw = &softc->hw;
        AQ_DBG_ENTER();
 #if __FreeBSD_version >= 1300054
@@ -786,9 +786,9 @@ static void aq_if_multi_set(if_ctx_t ctx)
 #endif
        if (softc->mcnt >= AQ_HW_MAC_MAX)
        {
-               aq_hw_set_promisc(hw, !!(ifp->if_flags & IFF_PROMISC),
+               aq_hw_set_promisc(hw, !!(if_getflags(ifp) & IFF_PROMISC),
                                  aq_is_vlan_promisc_required(softc),
-                                 !!(ifp->if_flags & IFF_ALLMULTI) || 
aq_is_mc_promisc_required(softc));
+                                 !!(if_getflags(ifp) & IFF_ALLMULTI) || 
aq_is_mc_promisc_required(softc));
        }else{
 #if __FreeBSD_version >= 1300054
                if_foreach_llmaddr(iflib_get_ifp(ctx), &aq_mc_filter_apply, 
softc);
@@ -810,7 +810,7 @@ static int aq_if_mtu_set(if_ctx_t ctx, uint32_t mtu)
 
 static void aq_if_media_status(if_ctx_t ctx, struct ifmediareq *ifmr)
 {
-       struct ifnet *ifp;
+       if_t ifp;
 
        AQ_DBG_ENTER();
 
@@ -824,13 +824,13 @@ static void aq_if_media_status(if_ctx_t ctx, struct 
ifmediareq *ifmr)
 static int aq_if_media_change(if_ctx_t ctx)
 {
        struct aq_dev *softc = iflib_get_softc(ctx);
-       struct ifnet *ifp = iflib_get_ifp(ctx);
+       if_t ifp = iflib_get_ifp(ctx);
        int rc = 0;
 
        AQ_DBG_ENTER();
 
        /* Not allowd in UP state, since causes unsync of rings */
-       if ((ifp->if_flags & IFF_UP)){
+       if ((if_getflags(ifp) & IFF_UP)){
                rc = EPERM;
                goto exit;
        }
diff --git a/sys/dev/aq/aq_media.c b/sys/dev/aq/aq_media.c
index 914d3d3eb940..fdf7ef38d2dc 100644
--- a/sys/dev/aq/aq_media.c
+++ b/sys/dev/aq/aq_media.c
@@ -94,9 +94,9 @@ void aq_mediastatus_update(aq_dev_t *aq_dev, u32 link_speed, 
const struct aq_hw_
                aq_dev->media_active |= IFM_AUTO;
 }
 
-void aq_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr)
+void aq_mediastatus(if_t ifp, struct ifmediareq *ifmr)
 {
-       aq_dev_t *aq_dev = iflib_get_softc(ifp->if_softc);
+       aq_dev_t *aq_dev = iflib_get_softc(if_getsoftc(ifp));
 
        ifmr->ifm_active = IFM_ETHER;
        ifmr->ifm_status = IFM_AVALID;
@@ -107,11 +107,11 @@ void aq_mediastatus(struct ifnet *ifp, struct ifmediareq 
*ifmr)
        ifmr->ifm_active |= aq_dev->media_active;
 }
 
-int aq_mediachange(struct ifnet *ifp)
+int aq_mediachange(if_t ifp)
 {
-       aq_dev_t          *aq_dev = iflib_get_softc(ifp->if_softc);
+       aq_dev_t          *aq_dev = iflib_get_softc(if_getsoftc(ifp));
        struct aq_hw      *hw = &aq_dev->hw;
-       int                old_media_rate = ifp->if_baudrate;
+       int                old_media_rate = if_getbaudrate(ifp);
        int                old_link_speed = hw->link_rate;
        struct ifmedia    *ifm = iflib_get_media(aq_dev->ctx);
        int                user_media = IFM_SUBTYPE(ifm->ifm_media);
@@ -169,7 +169,7 @@ int aq_mediachange(struct ifnet *ifp)
        hw->fc.fc_tx = (ifm->ifm_media & IFM_ETH_TXPAUSE) ? 1 : 0;
 
        /* In down state just remember new link speed */
-       if (!(ifp->if_flags & IFF_UP))
+       if (!(if_getflags(ifp) & IFF_UP))
                return (0);
 
        if ((media_rate != old_media_rate) || (hw->link_rate != 
old_link_speed)) {
diff --git a/sys/dev/aq/aq_ring.c b/sys/dev/aq/aq_ring.c
index 1de52ed0fc79..e20527b8c7c2 100644
--- a/sys/dev/aq/aq_ring.c
+++ b/sys/dev/aq/aq_ring.c
@@ -331,7 +331,7 @@ static int aq_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri)
        aq_dev_t *aq_dev = arg;
        struct aq_ring *ring = aq_dev->rx_rings[ri->iri_qsidx];
        aq_rx_desc_t *rx_desc;
-       struct ifnet *ifp;
+       if_t ifp;
        int cidx, rc = 0, i;
        size_t len, total_len;
 
@@ -370,7 +370,7 @@ static int aq_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri)
                cidx = aq_next(cidx, ring->rx_size - 1);
        } while (!rx_desc->wb.eop);
 
-       if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) {
+       if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) {
                aq_rx_set_cso_flags(rx_desc, ri);
        }
        ri->iri_rsstype = bsd_rss_type[rx_desc->wb.rss_type & 0xF];

Reply via email to