The branch main has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=93075bdb813a9956e66c711eda2c83fb596711fd

commit 93075bdb813a9956e66c711eda2c83fb596711fd
Author:     Mark Johnston <[email protected]>
AuthorDate: 2026-02-09 23:24:02 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2026-02-10 13:45:06 +0000

    net: Remove the IFF_RENAMING flag
    
    This used to be needed when interface renames were broadcast using the
    ifnet_departure_event eventhandler, but since commit 349fcf079ca3
    ("net: add ifnet_rename_event EVENTHANDLER(9) for interface renaming"),
    it has no purpose.  Remove it.
    
    Reviewed by:    pouria, zlei
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D55171
---
 sbin/ifconfig/ifconfig_netlink.c |  2 +-
 share/man/man9/ifnet.9           |  3 ---
 sys/compat/linux/linux_netlink.c |  1 -
 sys/net/if.c                     | 10 ----------
 sys/net/if.h                     |  1 -
 sys/net/if_bridge.c              |  2 --
 sys/net/if_lagg.c                |  3 ---
 sys/net/if_vlan.c                |  3 ---
 sys/net/if_vxlan.c               |  2 --
 sys/netipsec/ipsec_offload.c     |  2 --
 10 files changed, 1 insertion(+), 28 deletions(-)

diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c
index b5badfd585b8..b1467fde4c93 100644
--- a/sbin/ifconfig/ifconfig_netlink.c
+++ b/sbin/ifconfig/ifconfig_netlink.c
@@ -78,7 +78,7 @@ static const char     *IFFBITS[] = {
        "STATICARP",            /* 19:0x80000 IFF_STATICARP*/
        "STICKYARP",            /* 20:0x100000 IFF_STICKYARP*/
        "DYING",                /* 21:0x200000 IFF_DYING*/
-       "RENAMING",             /* 22:0x400000 IFF_RENAMING*/
+       "",                     /* 22:0x400000 */
        "PALLMULTI",            /* 23:0x800000 IFF_PALLMULTI*/
        "LOWER_UP",             /* 24:0x1000000 IFF_NETLINK_1*/
 };
diff --git a/share/man/man9/ifnet.9 b/share/man/man9/ifnet.9
index e81c2990c13c..e0a4dae9c1e4 100644
--- a/share/man/man9/ifnet.9
+++ b/share/man/man9/ifnet.9
@@ -761,9 +761,6 @@ Set when the
 structure of this interface is being released and still has
 .Va if_refcount
 references.
-.It Dv IFF_RENAMING
-.Aq D
-Set when this interface is being renamed.
 .El
 .Ss "Interface Capabilities Flags"
 Interface capabilities are specialized features an interface may
diff --git a/sys/compat/linux/linux_netlink.c b/sys/compat/linux/linux_netlink.c
index 6dd2ad7ad8b0..256f188385ce 100644
--- a/sys/compat/linux/linux_netlink.c
+++ b/sys/compat/linux/linux_netlink.c
@@ -340,7 +340,6 @@ rtnl_if_flags_to_linux(unsigned int if_flags)
                case IFF_STATICARP:
                case IFF_STICKYARP:
                case IFF_DYING:
-               case IFF_RENAMING:
                        /* No Linux analogue */
                        break;
                case IFF_MULTICAST:
diff --git a/sys/net/if.c b/sys/net/if.c
index 047ccd2ecda7..5c4b1e17f77d 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -3022,14 +3022,6 @@ if_rename(struct ifnet *ifp, char *new_name)
        if (ifunit(new_name) != NULL)
                return (EEXIST);
 
-       /*
-        * XXX: Locking.  Nothing else seems to lock if_flags,
-        * and there are numerous other races with the
-        * ifunit() checks not being atomic with namespace
-        * changes (renames, vmoves, if_attach, etc).
-        */
-       ifp->if_flags |= IFF_RENAMING;
-
        if_printf(ifp, "changing name to '%s'\n", new_name);
 
        IF_ADDR_WLOCK(ifp);
@@ -3058,8 +3050,6 @@ if_rename(struct ifnet *ifp, char *new_name)
 
        EVENTHANDLER_INVOKE(ifnet_rename_event, ifp, old_name);
 
-       ifp->if_flags &= ~IFF_RENAMING;
-
        snprintf(strbuf, sizeof(strbuf), "name=%s", new_name);
        devctl_notify("IFNET", old_name, "RENAME", strbuf);
 
diff --git a/sys/net/if.h b/sys/net/if.h
index 0bbd9906f5cf..7c0a476708d6 100644
--- a/sys/net/if.h
+++ b/sys/net/if.h
@@ -159,7 +159,6 @@ struct if_data {
 #define        IFF_STATICARP   0x80000         /* (n) static ARP */
 #define        IFF_STICKYARP   0x100000        /* (n) sticky ARP */
 #define        IFF_DYING       0x200000        /* (n) interface is winding 
down */
-#define        IFF_RENAMING    0x400000        /* (n) interface is being 
renamed */
 #define        IFF_PALLMULTI   0x800000        /* (n) user-requested allmulti 
mode */
 #define        IFF_NETLINK_1   0x1000000       /* (n) used by netlink */
 
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
index 5bdd8613245e..0cd71a20fa35 100644
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -2291,8 +2291,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp)
        if (bif)
                sc = bif->bif_sc;
 
-       if (ifp->if_flags & IFF_RENAMING)
-               return;
        if (V_bridge_cloner == NULL) {
                /*
                 * This detach handler can be called after
diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c
index c30af5bfcc4e..7a8f82286c02 100644
--- a/sys/net/if_lagg.c
+++ b/sys/net/if_lagg.c
@@ -1164,9 +1164,6 @@ lagg_port_ifdetach(void *arg __unused, struct ifnet *ifp)
 
        if ((lp = ifp->if_lagg) == NULL)
                return;
-       /* If the ifnet is just being renamed, don't do anything. */
-       if (ifp->if_flags & IFF_RENAMING)
-               return;
 
        sc = lp->lp_softc;
 
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index afc3fa3fc79e..f74e3cb209fe 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -761,9 +761,6 @@ vlan_ifdetach(void *arg __unused, struct ifnet *ifp)
        struct ifvlan *ifv;
        struct ifvlantrunk *trunk;
 
-       /* If the ifnet is just being renamed, don't do anything. */
-       if (ifp->if_flags & IFF_RENAMING)
-               return;
        VLAN_XLOCK();
        trunk = ifp->if_vlantrunk;
        if (trunk == NULL) {
diff --git a/sys/net/if_vxlan.c b/sys/net/if_vxlan.c
index f3a8410a2258..3d51c3c421ff 100644
--- a/sys/net/if_vxlan.c
+++ b/sys/net/if_vxlan.c
@@ -3616,8 +3616,6 @@ vxlan_ifdetach_event(void *arg __unused, struct ifnet 
*ifp)
        struct vxlan_socket *vso;
        struct vxlan_softc *sc, *tsc;
 
-       if (ifp->if_flags & IFF_RENAMING)
-               return;
        if ((ifp->if_flags & IFF_MULTICAST) == 0)
                return;
 
diff --git a/sys/netipsec/ipsec_offload.c b/sys/netipsec/ipsec_offload.c
index 3583fc50f51b..632e99b8cfce 100644
--- a/sys/netipsec/ipsec_offload.c
+++ b/sys/netipsec/ipsec_offload.c
@@ -829,8 +829,6 @@ ipsec_accel_on_ifdown_impl(struct ifnet *ifp)
 static void
 ipsec_accel_ifdetach_event(void *arg __unused, struct ifnet *ifp)
 {
-       if ((ifp->if_flags & IFF_RENAMING) != 0)
-               return;
        ipsec_accel_on_ifdown_impl(ifp);
 }
 

Reply via email to