Unconfiguring a member interface from trunk(4) or simply destroying the
trunk pulls the member down for no reason, both comment and code are
there since import, but I see no justification for doing so.

aggr(4) does not pull its member down upon removal either.

I came across this after

        $ doas ifconfig trunk0 destroy
        $ doas sh /etc/netstart trunk0

yielded no network and I had to manually pull up members.

Feedback? OK?


Index: if_trunk.c
===================================================================
RCS file: /cvs/src/sys/net/if_trunk.c,v
retrieving revision 1.149
diff -u -p -r1.149 if_trunk.c
--- if_trunk.c  28 Jul 2020 09:52:32 -0000      1.149
+++ if_trunk.c  12 Sep 2020 15:41:14 -0000
@@ -423,10 +423,6 @@ trunk_port_destroy(struct trunk_port *tp
        /* Remove multicast addresses from this port */
        trunk_ether_cmdmulti(tp, SIOCDELMULTI);
 
-       /* Port has to be down */
-       if (ifp->if_flags & IFF_UP)
-               if_down(ifp);
-
        ifpromisc(ifp, 0);
 
        if (tr->tr_port_destroy != NULL)

Reply via email to