Rework vlan configuration processing:
commit69df8247a17dd6b9e60b88f6d59a215fbaf0c1fb
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 16 Mar 2008 15:30:20 +0000 (16 15:30 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 16 Mar 2008 15:30:20 +0000 (16 15:30 +0000)
treecd24edd2ee24608c32658799c2cf95671a69e5ba
parent2f6804616b4f88dcc37cd2bf954b201d6db14ae9
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