opnsense-src/sys/netinet
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
..
cc Add an option to use rfc6675 based pipe/inflight bytes calculation in htcp. 2016-05-09 19:19:03 +00:00
khelp The TCP PAWS fix for kernels with fast tick rates (r231767) changed the TCP 2012-08-17 01:49:51 +00:00
libalias sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
tcp_stacks This small change adopts the excellent suggestion for using named 2016-05-17 09:53:22 +00:00
accf_data.c
accf_dns.c In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
accf_http.c In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
icmp6.h Implement Enhanced DAD algorithm for IPv6 described in 2015-03-02 17:30:26 +00:00
icmp_var.h Remove more constants related to static sysctl nodes. The MAXID constants 2014-02-25 18:44:33 +00:00
if_atm.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_atm.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
if_ether.c Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET. 2016-06-03 13:57:10 +00:00
if_ether.h This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
igmp.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
igmp.h
igmp_var.h - Rename 'struct igmp_ifinfo' into 'struct igmp_ifsoftc', since it really 2015-02-19 22:35:23 +00:00
in.c in_lltable_alloc and in6 copy: Don't leak LLE in error path 2016-04-26 23:13:48 +00:00
in.h Provide functions to determine presence of a given address 2015-04-17 11:57:06 +00:00
in_cksum.c nobody uses this file except the userspace ipfw code, but the cast 2012-07-31 08:04:49 +00:00
in_debug.c Remove last remnants of classful addressing: 2011-10-15 16:28:06 +00:00
in_fib.c MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
in_fib.h Merge helper fib* functions used for basic lookups. 2015-12-08 10:50:03 +00:00
in_gif.c Merge helper fib* functions used for basic lookups. 2015-12-08 10:50:03 +00:00
in_kdtrace.c Fix style issues around existing SDT probes. 2015-12-16 23:39:27 +00:00
in_kdtrace.h Fix style issues around existing SDT probes. 2015-12-16 23:39:27 +00:00
in_mcast.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
in_pcb.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
in_pcb.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
in_pcbgroup.c Unbreak the RSS/PCBGROUp build. 2016-03-31 00:53:23 +00:00
in_proto.c The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
in_rmx.c Code duplication but rib_head is special. Not found an easy way to go 2016-02-03 21:56:51 +00:00
in_rss.c Rename rss_soft_m2cpuid() -> rss_soft_m2cpuid_v4() in preparation for 2015-08-29 06:58:30 +00:00
in_rss.h Rename rss_soft_m2cpuid() -> rss_soft_m2cpuid_v4() in preparation for 2015-08-29 06:58:30 +00:00
in_systm.h Where appropriate, use the modern terms for the one true time base 2014-12-21 05:07:11 +00:00
in_var.h MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
ip.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
ip6.h Eliminate use of M_EXT in IP6_EXTHDR_CHECK() by trimming a redundant 2014-10-05 06:28:53 +00:00
ip_carp.c Revert r292275 & r292379 2015-12-17 14:41:30 +00:00
ip_carp.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
ip_divert.c The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
ip_divert.h Various cleanup done in ipfw3-head branch including: 2010-01-04 19:01:22 +00:00
ip_dummynet.h Import Dummynet AQM version 0.2.1 (CoDel, FQ-CoDel, PIE and FQ-PIE). 2016-05-26 21:40:13 +00:00
ip_ecn.c
ip_ecn.h Remove unneded #include "opt_inet.h". 2015-07-31 09:02:28 +00:00
ip_encap.c Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
ip_encap.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
ip_fastfwd.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
ip_fw.h Make named objects set-aware. Now it is possible to create named 2016-05-17 07:47:23 +00:00
ip_gre.c o Use new function ip_fillid() in all places throughout the kernel, 2015-04-01 22:26:39 +00:00
ip_icmp.c When sending in ICMP response to an SCTP packet, 2016-05-25 22:16:11 +00:00
ip_icmp.h Add support for handling ICMP and ICMP6 messages sent in response 2016-04-29 20:22:01 +00:00
ip_id.c Provide a comment explaining issues with the counter(9) trick, so that 2015-04-02 14:22:59 +00:00
ip_input.c Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET. 2016-06-03 13:57:10 +00:00
ip_ipsec.c Set the proper direction to check for policies in this one case. 2015-10-29 21:26:32 +00:00
ip_ipsec.h Remove flag/flags argument from the following functions: 2014-12-11 18:35:34 +00:00
ip_mroute.c netinet: for pointers replace 0 with NULL. 2016-04-15 15:46:41 +00:00
ip_mroute.h Migrate structs arpstat, icmpstat, mrtstat, pimstat and udpstat to PCPU 2013-07-09 09:50:15 +00:00
ip_options.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
ip_options.h Make net.inet.ip.sourceroute, net.inet.ip.accept_sourceroute, and 2014-09-15 07:20:40 +00:00
ip_output.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
ip_reass.c Fix RSS build - netisr input / NETISR_IP_DIRECT is used here. 2015-04-15 00:57:21 +00:00
ip_var.h The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
pim.h
pim_var.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
raw_ip.c The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
sctp.h This is work done by Michael Tuexen and myself at the IETF. This 2016-04-07 09:10:34 +00:00
sctp_asconf.c Add the UDP encaps port as a parameter to sctp_add_remote_addr(). 2016-04-30 14:25:00 +00:00
sctp_asconf.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
sctp_auth.c Use __func__ instead of __FUNCTION__. 2015-10-19 11:17:54 +00:00
sctp_auth.h Use a consistent type for the number of HMAC algorithms. 2014-09-16 14:20:33 +00:00
sctp_bsd_addr.c netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_bsd_addr.h Do packet logging in a consistent way. 2012-06-24 21:25:54 +00:00
sctp_cc_functions.c netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_constants.h netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_crc32.c Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_crc32.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_dtrace_declare.h - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
sctp_dtrace_define.h This is work done by Michael Tuexen and myself at the IETF. This 2016-04-07 09:10:34 +00:00
sctp_header.h Don't use anonymous unions. 2016-04-18 06:38:53 +00:00
sctp_indata.c Fix a locking bug which only shows up on Mac OS X. 2016-05-14 13:44:49 +00:00
sctp_indata.h A couple of minor changes that I missed that Michael had done, most noted 2016-04-07 09:34:41 +00:00
sctp_input.c netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_input.h Add FIB support for SCTP. 2015-06-17 15:20:14 +00:00
sctp_lock_bsd.h netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_os.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_os_bsd.h A couple of minor changes that I missed that Michael had done, most noted 2016-04-07 09:34:41 +00:00
sctp_output.c Store the peers vtag in host byte order in the cookie, since all 2016-06-03 07:24:41 +00:00
sctp_output.h Don't allow a remote encapsulation port change during the 2016-01-30 12:58:38 +00:00
sctp_pcb.c netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_pcb.h netinet/sctp*: minor spelling fixes in comments. 2016-05-02 20:56:11 +00:00
sctp_peeloff.c Add a SCTP socket option to limit the cwnd for each path. 2015-03-10 19:49:25 +00:00
sctp_peeloff.h Remove unused function. 2012-11-25 14:25:08 +00:00
sctp_ss_functions.c Add const to several constants. Thanks to Nicholas Nethercote for 2016-03-23 13:28:04 +00:00
sctp_structs.h Get struct sctp_net_route in-sync with struct route again. 2016-06-03 07:43:04 +00:00
sctp_syscalls.c netinet: for pointers replace 0 with NULL. 2016-04-15 15:46:41 +00:00
sctp_sysctl.c Retire net.inet.sctp.strict_sacks and net.inet.sctp.strict_data_order 2016-05-12 16:34:59 +00:00
sctp_sysctl.h Retire net.inet.sctp.strict_sacks and net.inet.sctp.strict_data_order 2016-05-12 16:34:59 +00:00
sctp_timer.c Cleanup a comment. 2016-05-09 16:35:05 +00:00
sctp_timer.h Code cleanup which will silence a warning in PVS / D5245. 2016-02-17 18:04:22 +00:00
sctp_uio.h Make struct sctp_paddrthlds compliant to RFC 7829. 2016-05-26 11:38:26 +00:00
sctp_usrreq.c The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
sctp_var.h The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
sctputil.c Fix a bug introduced by the implementation of I-DATA support. 2016-05-13 09:11:41 +00:00
sctputil.h Remove a function, which is not used anymore. 2016-04-23 09:15:58 +00:00
siftr.c Use SI_SUB_LAST instead of SI_SUB_SMP as the "catch-all" subsystem. 2016-03-11 23:18:06 +00:00
tcp.h Provide new socket option TCP_CCALGOOPT, which stands for TCP congestion 2016-01-22 02:07:48 +00:00
tcp_debug.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_debug.h
tcp_fastopen.c Mfp: r296259 2016-04-09 10:58:08 +00:00
tcp_fastopen.h Implementation of server-side TCP Fast Open (TFO) [RFC7413]. 2015-12-24 19:09:48 +00:00
tcp_fsm.h
tcp_hostcache.c Clean up unused bandwidth entry in the TCP hostcache. 2015-12-11 06:22:58 +00:00
tcp_hostcache.h Clean up unused bandwidth entry in the TCP hostcache. 2015-12-11 06:22:58 +00:00
tcp_input.c Change net.inet.tcp.ecn.enable sysctl mib from a binary off/on 2016-05-19 22:20:35 +00:00
tcp_lro.c Use insertion sort instead of bubble sort in TCP LRO. 2016-06-03 08:35:07 +00:00
tcp_lro.h Use optimised complexity safe sorting routine instead of the kernel's 2016-05-26 11:10:31 +00:00
tcp_offload.c Augment struct tcpstat with tcps_states[], which is used for book-keeping 2016-01-27 00:45:46 +00:00
tcp_offload.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
tcp_output.c tcp: Don't prematurely drop receiving-only connections 2016-05-30 03:31:37 +00:00
tcp_pcap.c Garbage collect unused arguments of m_init(). 2016-02-10 18:54:18 +00:00
tcp_pcap.h There are times when it would be really nice to have a record of the last few 2015-10-14 00:35:37 +00:00
tcp_reass.c Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
tcp_sack.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
tcp_seq.h Fix PAWS (Protect Against Wrapped Sequence numbers) in cases when 2012-02-15 16:09:56 +00:00
tcp_subr.c The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
tcp_syncache.c tcp/syncache: Add comment for syncache_respond 2016-05-10 04:59:04 +00:00
tcp_syncache.h Grab a snap amount of TCP connections in syncache from tcpstat. 2016-01-27 00:48:05 +00:00
tcp_timer.c This small change adopts the excellent suggestion for using named 2016-05-17 09:53:22 +00:00
tcp_timer.h This cleans up the timers code in TCP to start using the new 2016-04-28 13:27:12 +00:00
tcp_timewait.c Redo r294869. The array of counters for TCP states doesn't belong to 2016-03-15 00:15:10 +00:00
tcp_usrreq.c tcp_usrreq: Free allocated buffer in relock case 2016-04-26 23:02:18 +00:00
tcp_var.h The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
tcpip.h
toecore.c This change re-adds L2 caching for TCP and UDP, as originally added in D4306 2016-06-02 17:51:29 +00:00
toecore.h * Convert TOE framework to use new routing api. 2014-10-25 18:25:00 +00:00
udp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00
udp_usrreq.c The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
udp_var.h The pr_destroy field does not allow us to run the teardown code in a 2016-06-01 10:14:04 +00:00
udplite.h Add support for UDP-Lite protocol (RFC 3828) to IPv4 and IPv6 stacks. 2014-04-07 01:53:03 +00:00