> Date: Sat, 7 May 2016 16:56:02 +0200 > From: Martin Pieuchot <m...@openbsd.org> > > IFXF_MPSAFE is a hint for the network stack. When it is set, the kernel > knows that it doesn't need to grab the KERNEL_LOCK() to call the start() > routine of an interface. > > Exposing this flag to users in ifconfig(8) does not make sense. This is > a side effect of having re-used the IFXF_TXREADY bit. > > I don't even think we should export this bit to userland, developers > should not write different code for MPSAFE and !MPSAFE interfaces. > > ok?
ok kettenis@ > Index: sys/net/if.c > =================================================================== > RCS file: /cvs/src/sys/net/if.c,v > retrieving revision 1.430 > diff -u -p -r1.430 if.c > --- sys/net/if.c 3 May 2016 14:52:39 -0000 1.430 > +++ sys/net/if.c 7 May 2016 14:45:11 -0000 > @@ -1668,7 +1668,7 @@ ifioctl(struct socket *so, u_long cmd, c > break; > > case SIOCGIFXFLAGS: > - ifr->ifr_flags = ifp->if_xflags; > + ifr->ifr_flags = ifp->if_xflags & ~IFXF_MPSAFE; > break; > > case SIOCGIFMETRIC: > Index: sbin/ifconfig/brconfig.h > =================================================================== > RCS file: /cvs/src/sbin/ifconfig/brconfig.h,v > retrieving revision 1.9 > diff -u -p -r1.9 brconfig.h > --- sbin/ifconfig/brconfig.h 7 Jan 2016 15:33:56 -0000 1.9 > +++ sbin/ifconfig/brconfig.h 7 May 2016 14:35:29 -0000 > @@ -68,7 +68,7 @@ int bridge_rule(int, char **, int); > #define IFFBITS > \ > "\024\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5POINTOPOINT\6NOTRAILERS" \ > "\7RUNNING\10NOARP\11PROMISC\12ALLMULTI\13OACTIVE\14SIMPLEX" \ > - "\15LINK0\16LINK1\17LINK2\20MULTICAST\21MPSAFE" \ > + "\15LINK0\16LINK1\17LINK2\20MULTICAST" \ > "\23INET6_NOPRIVACY\24MPLS\25WOL\26AUTOCONF6" > > void printb(char *, unsigned int, unsigned char *); > >