Rework vlan configuration processing:
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 16 Mar 2008 15:30:20 +0000 (15:30 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 16 Mar 2008 15:30:20 +0000 (15:30 +0000)
commit9433ab014e2b625232db0a5ee8445a8f93a71f85
treeab93db8a81f7b33c965d074aa58b64790455d903
parent81843664978479a09b6f825c1e73e31298005f1d
Rework vlan configuration processing:
- vlan config, unconfig and multicast filter programming is now serialized
  by netisr0, so that no one could sneak in when a vlan interface's
  serializer is released during configuration.
- vlan's serializer is released before reprogramming parent interface's
  multicast filter to avoid possible dead lock.
- Factor out vlan_clrmulti() from vlan_unconfig() and vlan_setmulti().
- Register vlan module for the ifnet_detach_event
- Create per-cpu vlan trunk on parent interface.  Creating and destroying
  of these trunks is serialized by netisr0.  Add a "staw man" vlan trunk
  implementation using linked list. (*)
- Turn on vlan's IFF_RUNNING only if we are asked to do so.
- White space and minor style changes.

# (*) is not used on input path yet
sys/net/if_var.h
sys/net/vlan/if_vlan.c