freebsd-dev/sys/net
Bjoern A. Zeeb 484149def8 Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET.
Add accessor functions to toggle the state per VNET.
The base system (vnet0) will always enable itself with the normal
registration. We will share the registered protocol handlers in all
VNETs minimising duplication and management.
Upon disabling netisr processing for a VNET drain the netisr queue from
packets for that VNET.

Update netisr consumers to (de)register on a per-VNET start/teardown using
VNET_SYS(UN)INIT functionality.

The change should be transparent for non-VIMAGE kernels.

Reviewed by:	gnn (, hiren)
Obtained from:	projects/vnet
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D6691
2016-06-03 13:57:10 +00:00
..
altq Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
bpf_buffer.c
bpf_buffer.h
bpf_filter.c sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
bpf_jitter.c
bpf_jitter.h
bpf_zerocopy.c
bpf_zerocopy.h
bpf.c sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
bpf.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
bpfdesc.h
bridgestp.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
bridgestp.h
ethernet.h Add ethertype reserved for network testing 2016-03-28 18:25:54 +00:00
fddi.h
firewire.h
flowtable.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
flowtable.h
ieee8023ad_lacp.c Add sysctl to control LACP strict compliance default 2015-11-06 15:33:27 +00:00
ieee8023ad_lacp.h
ieee_oui.h
if_arc.h
if_arcsubr.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
if_arp.h
if_atm.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_atmsubr.c sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
if_bridge.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_bridgevar.h
if_clone.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_clone.h
if_dead.c
if_debug.c Add more fields from struct ifnet needed during debugging a kernel panic. 2016-04-20 21:04:39 +00:00
if_disc.c sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
if_dl.h
if_edsc.c
if_enc.c Just checkpoint the WIP in order to be able to make the tree update 2016-01-22 15:00:01 +00:00
if_enc.h Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
if_epair.c Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET. 2016-06-03 13:57:10 +00:00
if_ethersubr.c Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET. 2016-06-03 13:57:10 +00:00
if_fddisubr.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
if_fwsubr.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
if_gif.c Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
if_gif.h
if_gre.c Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
if_gre.h
if_iso88025subr.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
if_lagg.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_lagg.h Revert accidental submit of WIP as part of r297609 2016-04-06 04:58:20 +00:00
if_llatbl.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_llatbl.h This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
if_llc.h
if_loop.c sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
if_me.c
if_media.c
if_media.h
if_mib.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
if_mib.h
if_pflog.h
if_pfsync.h
if_sppp.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_spppfr.c
if_spppsubr.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_stf.c Convert if_stf(4) to new routing api. 2015-12-16 09:18:20 +00:00
if_tap.c
if_tap.h
if_tapvar.h
if_tun.c Allow writing IP packets of length TUNMRU no matter if TUNSIFHEAD is set 2016-05-19 13:52:12 +00:00
if_tun.h Allow an MTU of 65535 bytes to be set via TUN[SG]IFINFO. This requires 2016-05-24 11:47:14 +00:00
if_types.h
if_var.h Rather than having the if_vmove() code intermixed in the vnet_destroy() 2016-05-18 20:06:45 +00:00
if_vlan_var.h
if_vlan.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_vxlan.c Complete the UDP tunneling of ICMP msgs to those protocols 2016-04-28 15:53:10 +00:00
if_vxlan.h
if.c In if_attachdomain1() there does not seem to be any reason 2016-05-28 08:32:15 +00:00
if.h
ifdi_if.m Import the 'iflib' API library for network drivers. From the author: 2016-05-18 04:35:58 +00:00
iflib.c Remove assertions that don't make sense for the data type. 2016-05-18 15:44:45 +00:00
iflib.h Import the 'iflib' API library for network drivers. From the author: 2016-05-18 04:35:58 +00:00
ifq.h buf_ring/drbr: Add buf_ring_peek_clear_sc and use it in drbr_peek 2016-02-29 03:54:51 +00:00
iso88025.h
mp_ring.c sys/net: more spelling. 2016-05-19 16:28:05 +00:00
mp_ring.h Import the 'iflib' API library for network drivers. From the author: 2016-05-18 04:35:58 +00:00
netisr_internal.h
netisr.c Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET. 2016-06-03 13:57:10 +00:00
netisr.h Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET. 2016-06-03 13:57:10 +00:00
netmap_user.h
netmap.h
paravirt.h
pfil.c Just checkpoint the WIP in order to be able to make the tree update 2016-01-22 15:00:01 +00:00
pfil.h
pfkeyv2.h Implement the sadb_x_policy_priority field as it is done in Linux: 2015-11-17 14:39:33 +00:00
pfvar.h These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
ppp_defs.h
radix_mpath.c radix_mpath: Don't derefence a NULL pointer in for loop iteration 2016-04-26 20:27:17 +00:00
radix_mpath.h MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
radix.c radix rn_inithead: Fix minor leak in low memory conditions 2016-04-20 02:01:45 +00:00
radix.h MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
raw_cb.c
raw_cb.h
raw_usrreq.c sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
route_var.h FreeBSD previously provided route caching for TCP (and UDP). Re-add 2016-03-24 07:54:56 +00:00
route.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
route.h This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
rss_config.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
rss_config.h
rtsock.c Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET. 2016-06-03 13:57:10 +00:00
sff8436.h Add SFF-8024 Extended Specification Compliance 2015-12-28 09:26:07 +00:00
sff8472.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
slcompress.c
slcompress.h
toeplitz.c
toeplitz.h
vnet.c Rather than having the if_vmove() code intermixed in the vnet_destroy() 2016-05-18 20:06:45 +00:00
vnet.h Add a "vnet_state" field to struct vnet. 2016-05-18 15:50:52 +00:00