opnsense-src/sys/net
Robert Watson d0728d7174 Introduce and use a sysinit-based initialization scheme for virtual
network stacks, VNET_SYSINIT:

- Add VNET_SYSINIT and VNET_SYSUNINIT macros to declare events that will
  occur each time a network stack is instantiated and destroyed.  In the
  !VIMAGE case, these are simply mapped into regular SYSINIT/SYSUNINIT.
  For the VIMAGE case, we instead use SYSINIT's to track their order and
  properties on registration, using them for each vnet when created/
  destroyed, or immediately on module load for already-started vnets.
- Remove vnet_modinfo mechanism that existed to serve this purpose
  previously, as well as its dependency scheme: we now just use the
  SYSINIT ordering scheme.
- Implement VNET_DOMAIN_SET() to allow protocol domains to declare that
  they want init functions to be called for each virtual network stack
  rather than just once at boot, compiling down to DOMAIN_SET() in the
  non-VIMAGE case.
- Walk all virtualized kernel subsystems and make use of these instead
  of modinfo or DOMAIN_SET() for init/uninit events.  In some cases,
  convert modular components from using modevent to using sysinit (where
  appropriate).  In some cases, do minor rejuggling of SYSINIT ordering
  to make room for or better manage events.

Portions submitted by:	jhb (VNET_SYSINIT), bz (cleanup)
Discussed with:		jhb, bz, julian, zec
Reviewed by:		bz
Approved by:		re (VIMAGE blanket)
2009-07-23 20:46:49 +00:00
..
bpf.c Implement the -z (zero counters) option for the various bpf counters. 2009-06-19 20:31:44 +00:00
bpf.h Sync DLTs with latest libpcap version. 2009-04-02 13:02:12 +00:00
bpf_buffer.c Fill in BPF sysctl descriptions. 2008-07-25 23:58:09 +00:00
bpf_buffer.h Introduce support for zero-copy BPF buffering, which reduces the 2008-03-24 13:49:17 +00:00
bpf_filter.c Fix the last missing parentheses for a return statement in bpf_filter.c. 2008-08-29 20:00:55 +00:00
bpf_jitter.c Initialize scratch memory for JIT-compiled filter when it is allocated. 2008-08-28 16:40:51 +00:00
bpf_jitter.h Fix a typo in copyrights. 2008-08-25 20:43:13 +00:00
bpf_zerocopy.c Clarify some comments, fix some types, and rename ZBUF_FLAG_IMMUTABLE to 2009-03-07 10:21:37 +00:00
bpf_zerocopy.h Make sure we are clearing the ZBUF_FLAG_IMMUTABLE any time a free buffer 2008-07-05 20:11:28 +00:00
bpfdesc.h Remove trailing ';' in BPFD_LOCK_ASSERT macro. 2008-08-01 22:08:14 +00:00
bridgestp.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
bridgestp.h Fix spelling. 2007-12-09 20:47:12 +00:00
ethernet.h Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
fddi.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
firewire.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
flowtable.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
flowtable.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
ieee8023ad_lacp.c Use the flowid if its available for selecting the tx port. 2009-04-30 14:25:44 +00:00
ieee8023ad_lacp.h Remove extra semicolons. 2008-03-17 01:26:44 +00:00
if.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
if.h Manage vnets via the jail system. If a jail is given the boolean 2009-06-15 18:59:29 +00:00
if_arc.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_arcsubr.c Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_arp.h
if_atm.h Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
if_atmsubr.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
if_bridge.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_bridgevar.h Add an option to limit the number of source MACs that can be behind a bridge 2007-11-04 08:32:27 +00:00
if_clone.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
if_clone.h Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
if_dead.c During if_detach(), invoke if_dead() to set the ifnet's function 2009-04-23 11:51:53 +00:00
if_disc.c Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
if_dl.h
if_edsc.c Give a hint that softc can contain many things besides ifp. 2007-03-26 09:05:10 +00:00
if_ef.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_enc.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_enc.h Increase statistic counters for enc0 interface when enabled 2008-08-12 09:05:01 +00:00
if_epair.c Merge from p4: CH154790,154793,154874 2009-06-24 22:21:30 +00:00
if_ethersubr.c Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
if_faith.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_fddisubr.c Break at_ifawithnet() into two variants: 2009-06-24 10:32:44 +00:00
if_fwsubr.c Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_gif.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
if_gif.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
if_gre.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_gre.h Add support for the optional key in the GRE header. 2008-06-20 17:26:34 +00:00
if_iso88025subr.c Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_lagg.c Use the flowid if its available for selecting the tx port. 2009-04-30 14:25:44 +00:00
if_lagg.h Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
if_llatbl.c When an interface address is removed and the last prefix 2009-05-20 21:07:15 +00:00
if_llatbl.h When an interface address is removed and the last prefix 2009-05-20 21:07:15 +00:00
if_llc.h Move the __packed declarations. This makes sizeof(struct llc) 8 again 2006-12-01 17:50:11 +00:00
if_loop.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
if_media.c
if_media.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
if_mib.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_mib.h
if_sppp.h
if_spppfr.c
if_spppsubr.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_stf.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_stf.h
if_tap.c Change the type of uio_resid member of struct uio from int to ssize_t. 2009-06-25 18:46:30 +00:00
if_tap.h Add new TAPGIFNAME tap(4) character device ioctl. This is a 2008-09-08 22:43:55 +00:00
if_tapvar.h
if_tun.c Update if_stf and if_tun to use if_addr_rlock()/if_addr_runlock() rather 2009-06-26 00:45:20 +00:00
if_tun.h
if_types.h Remove IPX over IP tunneling support, which allows IPX routing over IP 2007-06-13 14:01:43 +00:00
if_var.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
if_vlan.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
if_vlan_var.h Prepare for 802.1p: 2007-02-28 22:05:30 +00:00
iso88025.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
netisr.c In case we cannot queue a packet reaching the queue limit, retain the 2009-06-30 05:21:00 +00:00
netisr.h Add an optional callback function that will be invoked when a per-CPU 2009-06-14 17:15:18 +00:00
pfil.c A few locking fixes and cleanups to pfil hook registration, 2008-12-16 17:03:22 +00:00
pfil.h Make the rmlock(9) interface a bit more like the rwlock(9) interface: 2009-05-29 10:52:37 +00:00
pfkeyv2.h Added support for NAT-Traversal (RFC 3948) in IPsec stack. 2009-06-12 15:44:35 +00:00
ppp_defs.h
radix.c remove assertion checks for now - ipfw uses its own lock for protecting its radix tree instance 2008-12-16 11:01:36 +00:00
radix.h - convert radix node head lock from mutex to rwlock 2008-12-07 21:15:43 +00:00
radix_mpath.c Extend route command: 2009-04-14 23:05:36 +00:00
radix_mpath.h When RADIX_MPATH is enabled, the route selection is not rotating 2008-05-30 09:34:35 +00:00
raw_cb.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
raw_cb.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
raw_usrreq.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
route.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
route.h Collect all VIMAGE_GLOBALS variables in one place. 2009-06-22 15:07:12 +00:00
rtsock.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
slcompress.c
slcompress.h
vnet.c Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
vnet.h Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
zlib.c
zlib.h