freebsd-skq/sys/net
Will Andrews 54bfbd5153 Allow carp(4) to be loaded as a kernel module. Follow precedent set by
bridge(4), lagg(4) etc. and make use of function pointers and
pf_proto_register() to hook carp into the network stack.

Currently, because of the uncertainty about whether the unload path is free
of race condition panics, unloads are disallowed by default.  Compiling with
CARPMOD_CAN_UNLOAD in CFLAGS removes this anti foot shooting measure.

This commit requires IP6PROTOSPACER, introduced in r211115.

Reviewed by:	bz, simon
Approved by:	ken (mentor)
MFC after:	2 weeks
2010-08-11 00:51:50 +00:00
..
bpf_buffer.c Always embed pointer to BPF JIT function in BPF descriptor 2009-08-12 17:28:53 +00:00
bpf_buffer.h
bpf_filter.c
bpf_jitter.c General style cleanup, no functional change. 2009-11-20 21:12:40 +00:00
bpf_jitter.h - Allocate scratch memory on stack instead of pre-allocating it with 2009-11-20 18:49:20 +00:00
bpf_zerocopy.c Remove page queues locking from all sf_buf_mext()-like functions. The page 2010-05-06 17:43:41 +00:00
bpf_zerocopy.h
bpf.c Implement flexible BPF timestamping framework. 2010-06-15 19:28:44 +00:00
bpf.h Implement flexible BPF timestamping framework. 2010-06-15 19:28:44 +00:00
bpfdesc.h Implement flexible BPF timestamping framework. 2010-06-15 19:28:44 +00:00
bridgestp.c Rework global locks for interface list and index management, correcting 2009-08-23 20:40:19 +00:00
bridgestp.h
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 Update several places that iterate over CPUs to use CPU_FOREACH(). 2010-06-11 18:46:34 +00:00
flowtable.h allocate ipv6 flows from the ipv6 flow zone 2010-05-16 21:48:39 +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
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 Add ARP statistics to the kernel and netstat. 2009-09-03 21:10:57 +00:00
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 Allow carp(4) to be loaded as a kernel module. Follow precedent set by 2010-08-11 00:51:50 +00:00
if_bridgevar.h
if_clone.c Take a reference to make sure that the interface cannot go away during 2010-04-11 18:47:38 +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 Remove if_timer/if_watchdog now that they are no longer used. The space 2009-11-30 21:25:57 +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
if_ef.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_enc.c Unbreak the VIMAGE build with IPSEC, broken with r197952 by 2009-10-14 11:55:55 +00:00
if_enc.h
if_epair.c Update several places that iterate over CPUs to use CPU_FOREACH(). 2010-06-11 18:46:34 +00:00
if_ethersubr.c Allow carp(4) to be loaded as a kernel module. Follow precedent set by 2010-08-11 00:51:50 +00:00
if_faith.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +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 Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_gif.h MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
if_gre.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_gre.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-01 17:05:46 +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 Remove the check for IFF_DRV_OACTIVE right before adding a port into lagg 2010-03-09 00:52:16 +00:00
if_lagg.h Propagate the vlan eventis to the underlying interfaces/members so they can do initialization of hw related features. 2010-02-06 13:49:35 +00:00
if_llatbl.c Don't check malloc(M_WAITOK) result. 2010-07-27 11:56:49 +00:00
if_llatbl.h - restructure flowtable to support ipv6 2010-03-12 05:03:26 +00:00
if_llc.h
if_loop.c ifconfig(8) expects interface fooX to be supported by the module if_foo, 2010-02-21 15:25:47 +00:00
if_media.c
if_media.h Add MCS to the list of media types. 2010-03-23 13:15:11 +00:00
if_mib.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
if_mib.h
if_sppp.h
if_spppfr.c
if_spppsubr.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
if_stf.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_stf.h
if_tap.c Verify interface up status using its link state only 2010-03-16 17:59:12 +00:00
if_tap.h
if_tapvar.h
if_tun.c Verify interface up status using its link state only 2010-03-16 17:59:12 +00:00
if_tun.h
if_types.h
if_var.h This patch fixes the problem where proxy ARP entries cannot be added 2010-05-25 20:42:35 +00:00
if_vlan_var.h
if_vlan.c Adjust the interface type in the link layer socket address for vlan(4) 2010-08-06 15:15:26 +00:00
if.c Allow carp(4) to be loaded as a kernel module. Follow precedent set by 2010-08-11 00:51:50 +00:00
if.h Verify interface up status using its link state only 2010-03-16 17:59:12 +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_internal.h Changes to support crashdump analysis of netisr: 2010-03-01 00:42:36 +00:00
netisr.c Update several places that iterate over CPUs to use CPU_FOREACH(). 2010-06-11 18:46:34 +00:00
netisr.h Whitespace tweak. 2010-03-01 00:43:05 +00:00
pfil.c Clean up comments, white space, and style in pfil.c (especially new VNET 2009-10-19 15:19:14 +00:00
pfil.h small portability fix to build on linux/windows 2010-07-15 14:41:06 +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_mpath.c One of the advantages of enabling ECMP (a.k.a RADIX_MPATH) is to 2010-03-09 01:11:45 +00:00
radix_mpath.h
radix.c whitespace cleanup 2010-07-15 14:41:59 +00:00
radix.h Not only flush the ipfw tables when unloading ipfw or tearing 2010-03-07 15:37:58 +00:00
raw_cb.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +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 Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
route.c This patch fixes the problem where proxy ARP entries cannot be added 2010-05-25 20:42:35 +00:00
route.h Verify interface up status using its link state only 2010-03-16 17:59:12 +00:00
rtsock.c Properly set ifi_datalen for compat32 struct if_data32. 2010-08-03 15:40:42 +00:00
slcompress.c
slcompress.h
vnet.c Fix an issue with the dynamic pcpu/vnet data allocators. 2010-05-14 21:11:58 +00:00
vnet.h Provide a macro for registering a virtualized sysctl handler for 2010-06-02 15:29:21 +00:00
zlib.c
zlib.h Merge projects/enhanced_coredumps (r204346) into HEAD: 2010-03-02 06:58:58 +00:00
zutil.h Merge projects/enhanced_coredumps (r204346) into HEAD: 2010-03-02 06:58:58 +00:00