up is never set in ifioctl(). Ok ?
Index: net/if.c =================================================================== RCS file: /cvs/src/sys/net/if.c,v retrieving revision 1.463 diff -u -p -r1.463 if.c --- net/if.c 28 Nov 2016 11:18:02 -0000 1.463 +++ net/if.c 1 Dec 2016 20:31:27 -0000 @@ -1688,7 +1688,6 @@ ifioctl(struct socket *so, u_long cmd, c size_t bytesdone; short oif_flags; const char *label; - short up = 0; switch (cmd) { @@ -2046,12 +2045,6 @@ ifioctl(struct socket *so, u_long cmd, c if (((oif_flags ^ ifp->if_flags) & IFF_UP) != 0) microtime(&ifp->if_lastchange); - /* If we took down the IF, bring it back */ - if (up) { - s = splnet(); - if_up(ifp); - splx(s); - } return (error); }