Switch to ETHER_INPUT2 on ethernet input path by default:
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 27 Jul 2008 10:06:57 +0000 (10:06 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 27 Jul 2008 10:06:57 +0000 (10:06 +0000)
commit297c8124098bb857574ecaf19ace744d20f54b30
tree523d4a7f299a88e06fe7780af1a3b75eca570796
parent4853cd0f87579e192fdf4e0b345a26c6e4e1a844
Switch to ETHER_INPUT2 on ethernet input path by default:
- Nuke old ether_input_chain and ether_demux_chain
- Nuke old vlan_input
- Nuke ETHER_INPUT2 kernel option
- Adjust comment about functions on old ether input path
- Adjust NIC drivers which aware ETHER_INPUT2

vlan(4):
Clearing of ifnet.if_vlantrunks is now protected in the following way
    trunks = ifp->if_vlantrunks;
    ifp->if_vlantrunks = NULL;
    netmsg_service_sync();
    kfree(trunks);
Users of ifnet.if_vlantrunks have already been adjusted to aware of this.

bridge(4):
Clearing of ifnet.if_bridge is now protected in the following way
    ifp->if_bridge = NULL;
    netmsg_service_sync();
Users of ifnet.if_bridge have already been adjusted to aware of this.

carp(4):
Remove the LK_NOWAIT lockmgr lock flags; using LK_NOWAIT was actually a
workaround for that lockmgr lock was used in NIC's interrupt routine
(i.e. old ether_input)
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue957>

ipflow:
- Now per-cpu ipflow hash table installs its own ipflow entry instead of
  having ipflow entry duplicated onto each cpu
- Remove the serializer parameter to ipflow_fastforward()
- Comment out ipflow_fastforward() in ef(4) and ppp(4), they need to be
  changed to fit the current ipflow cpu localization model
25 files changed:
sys/conf/options
sys/config/LINT
sys/dev/netif/bce/if_bce.c
sys/dev/netif/bfe/if_bfe.c
sys/dev/netif/bge/if_bge.c
sys/dev/netif/em/if_em.c
sys/dev/netif/et/if_et.c
sys/dev/netif/fxp/if_fxp.c
sys/dev/netif/msk/if_msk.c
sys/dev/netif/nfe/if_nfe.c
sys/dev/netif/re/if_re.c
sys/dev/netif/xl/if_xl.c
sys/net/bridge/if_bridge.c
sys/net/dummynet/ip_dummynet_glue.c
sys/net/ef/if_ef.c
sys/net/ethernet.h
sys/net/if_ethersubr.c
sys/net/if_var.h
sys/net/ppp/if_ppp.c
sys/net/vlan/if_vlan.c
sys/netgraph/ether/ng_ether.c
sys/netinet/in_var.h
sys/netinet/ip_carp.c
sys/netinet/ip_flow.c
sys/netinet/ip_input.c