Add ether_input_chain2() which could be called by ethernet NIC drivers to
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Mon, 23 Jun 2008 11:57:19 +0000 (11:57 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Mon, 23 Jun 2008 11:57:19 +0000 (11:57 +0000)
commit29bc10926c85d736a7ec855a4c1c62a650ac79e8
treee86b310b607ab437d073f9bed60b6413a460b855
parent66db8054e1d6e1c4c6d1360e0f20cbaf882355fa
Add ether_input_chain2() which could be called by ethernet NIC drivers to
deliver packets into upper layer.  Unlike ether_input_chain(), this function
only locates the msgport for the input packets, rest of the functionalities
of ether_input_chain() are performed in the protocal threads, i.e. after
packets reaches target msgports.  This function and other related functions
are put under kernel option ETHER_INPUT2, which is _not_ enabled by default.
As of this commit, vlan(4) and ipflow don't work with ether_input_chain2().

em(4) is adapted to aware ETHER_INPUT2.

Reviewed-by: dillon@, aggelos@ (early version)
# Additional comments are added to the the reviewed patch.
sys/conf/options
sys/config/LINT
sys/dev/netif/em/if_em.c
sys/net/if_ethersubr.c
sys/net/if_var.h
sys/net/netisr.c
sys/net/netisr.h