The branch main has been updated by jhibbits:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=1eaecc214ea2bfde84f4194c1d0e20b18117343f

commit 1eaecc214ea2bfde84f4194c1d0e20b18117343f
Author:     Justin Hibbits <jhibb...@freebsd.org>
AuthorDate: 2024-11-08 20:22:11 +0000
Commit:     Justin Hibbits <jhibb...@freebsd.org>
CommitDate: 2024-11-13 19:30:59 +0000

    qlnx: Convert recent changes to IfAPI
    
    Sponsored by:   Juniper Networks, Inc.
    Reviewed by:    zlei
    Differential Revision: https://reviews.freebsd.org/D47533
---
 sys/dev/qlnx/qlnxe/qlnx_os.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c
index 49d3f20aa0c2..a984908abf34 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_os.c
+++ b/sys/dev/qlnx/qlnxe/qlnx_os.c
@@ -2624,6 +2624,7 @@ static int
 qlnx_ioctl(if_t ifp, u_long cmd, caddr_t data)
 {
        int             ret = 0, mask;
+       int             flags;
        struct ifreq    *ifr = (struct ifreq *)data;
 #ifdef INET
        struct ifaddr   *ifa = (struct ifaddr *)data;
@@ -2677,15 +2678,16 @@ qlnx_ioctl(if_t ifp, u_long cmd, caddr_t data)
                QL_DPRINT4(ha, "SIOCSIFFLAGS (0x%lx)\n", cmd);
 
                QLNX_LOCK(ha);
+               flags = if_getflags(ifp);
 
-               if (if_getflags(ifp) & IFF_UP) {
+               if (flags & IFF_UP) {
                        if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) {
-                               if ((if_getflags(ifp) ^ ha->if_flags) &
+                               if ((flags ^ ha->if_flags) &
                                        IFF_PROMISC) {
-                                       ret = qlnx_set_promisc(ha, 
ifp->if_flags & IFF_PROMISC);
+                                       ret = qlnx_set_promisc(ha, flags & 
IFF_PROMISC);
                                } else if ((if_getflags(ifp) ^ ha->if_flags) &
                                        IFF_ALLMULTI) {
-                                       ret = qlnx_set_allmulti(ha, 
ifp->if_flags & IFF_ALLMULTI);
+                                       ret = qlnx_set_allmulti(ha, flags & 
IFF_ALLMULTI);
                                }
                        } else {
                                ha->max_frame_size = if_getmtu(ifp) +
@@ -7055,12 +7057,14 @@ qlnx_set_rx_mode(qlnx_host_t *ha)
 {
        int     rc = 0;
        uint8_t filter;
-       const struct ifnet *ifp = ha->ifp;
+       const if_t ifp = ha->ifp;
+       const struct ifaddr *ifa;
        struct sockaddr_dl *sdl;
 
-       if (ifp->if_type == IFT_ETHER && ifp->if_addr != NULL &&
-                       ifp->if_addr->ifa_addr != NULL) {
-               sdl = (struct sockaddr_dl *) ifp->if_addr->ifa_addr;
+       ifa = if_getifaddr(ifp);
+       if (if_gettype(ifp) == IFT_ETHER && ifa != NULL &&
+                       ifa->ifa_addr != NULL) {
+               sdl = (struct sockaddr_dl *) ifa->ifa_addr;
 
                rc = qlnx_set_ucast_rx_mac(ha, ECORE_FILTER_REPLACE, 
LLADDR(sdl));
        } else {
@@ -7077,10 +7081,10 @@ qlnx_set_rx_mode(qlnx_host_t *ha)
                        ECORE_ACCEPT_MCAST_MATCHED |
                        ECORE_ACCEPT_BCAST;
 
-       if (qlnx_vf_device(ha) == 0 || (ha->ifp->if_flags & IFF_PROMISC)) {
+       if (qlnx_vf_device(ha) == 0 || (if_getflags(ha->ifp) & IFF_PROMISC)) {
                filter |= ECORE_ACCEPT_UCAST_UNMATCHED;
                filter |= ECORE_ACCEPT_MCAST_UNMATCHED;
-       } else if (ha->ifp->if_flags & IFF_ALLMULTI) {
+       } else if (if_getflags(ha->ifp) & IFF_ALLMULTI) {
                filter |= ECORE_ACCEPT_MCAST_UNMATCHED;
        }
        ha->filter = filter;

Reply via email to