CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2016/04/14 22:29:59
Modified files: sys/net : if_vlan.c Log message: rework vlan config to make it mpsafe and done by standard ioctls configuration of the vlan parent interface and the vlan id should come via the IFPARENT and VNETID ioctls now. the vlan specific ioctls are still available via a compat layer, but that will go away a bit further into this release cycle. the parent interface may only be configured while the vlan is down. the vnetid may be changed at runtime, but will generate link state changes across that event. the vlan is implicitily brought up when an address is assigned, which brings it in line with all our other network drivers. the legacy vlan ioctl still imply bringing the interface up because that's what it used to do. the code that brings vlans up and down is now simplified because it no longer supports changing the parent at run time. most of that code now adds state to the parent when bringing the vlan up, and bringing the interface down just removes it in reverse. these simplifications in turn make it possible for us to transmit packets on vlan interfaces without holding the big lock, so its now marked as MPSAFE. ok jmatthew@ sthen@ mpi@