freebsd-dev/sys
Bruce M Simpson 443fc3176d Introduce a number of changes to the MROUTING code.
This is purely a forwarding plane cleanup; no control plane
code is involved.

Summary:
 * Split IPv4 and IPv6 MROUTING support. The static compile-time
   kernel option remains the same, however, the modules may now
   be built for IPv4 and IPv6 separately as ip_mroute_mod and
   ip6_mroute_mod.
 * Clean up the IPv4 multicast forwarding code to use BSD queue
   and hash table constructs. Don't build our own timer abstractions
   when ratecheck() and timevalclear() etc will do.
 * Expose the multicast forwarding cache (MFC) and virtual interface
   table (VIF) as sysctls, to reduce netstat's dependence on libkvm
   for this information for running kernels.
   * bandwidth meters however still require libkvm.
 * Make the MFC hash table size a boot/load-time tunable ULONG,
   net.inet.ip.mfchashsize (defaults to 256).
 * Remove unused members from struct vif and struct mfc.
 * Kill RSVP support, as no current RSVP implementation uses it.
   These stubs could be moved to raw_ip.c.
 * Don't share locks or initialization between IPv4 and IPv6.
 * Don't use a static struct route_in6 in ip6_mroute.c.
   The v6 code is still using a cached struct route_in6, this is
   moved to mif6 for the time being.
 * More cleanup remains to be merged from ip_mroute.c to ip6_mroute.c.

v4 path tested using ports/net/mcast-tools.
v6 changes are mostly mechanical locking and *have not* been tested.
As these changes partially break some kernel ABIs, they will not
be MFCed. There is a lot more work to be done here.

Reviewed by:	Pavlin Radoslavov
2009-03-19 01:43:03 +00:00
..
amd64 Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
arm Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
boot Chase the k8temp->amdtemp rename in NOTES and loader.conf. 2009-03-16 10:36:24 +00:00
bsm Merge OpenBSM 1.1 beta 1 from OpenBSM vendor branch to head, both 2009-03-02 13:29:18 +00:00
cam GCC attacks! 2009-02-16 18:02:32 +00:00
cddl The zfs_get_xattrdir() function is used to find the extended attribute 2009-03-18 16:19:44 +00:00
compat Some NDIS USB drivers try to call URB funcs like URB_FUNCTION_VENDOR_xxx 2009-03-18 02:38:35 +00:00
conf Initial suspend/resume support for amd64. 2009-03-17 00:48:11 +00:00
contrib For all files including net/vnet.h directly include opt_route.h and 2009-02-27 14:12:05 +00:00
crypto identify routine takes driver_t *, not device_t *. 2009-02-05 19:30:28 +00:00
ddb Prefer prototypes to k&r definitions. 2009-03-09 13:32:19 +00:00
dev Minor cleanups of tdma protocol handling: 2009-03-18 19:28:17 +00:00
fs Do not use null_bypass for VOP_ISLOCKED, directly call default 2009-03-18 13:54:35 +00:00
gdb
geom Detach GELI providers on shutdown/reboot, which will allow providers underneath 2009-03-16 19:31:08 +00:00
gnu Fix two issues with bufdaemon, often causing the processes to hang in 2009-03-16 15:39:46 +00:00
i386 Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
ia64 Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
isa Allow syscons to work on amd64 and i386 without any hints: 2009-03-05 19:10:17 +00:00
kern Fix an old-standing bug that crept in along the several revisions: 2009-03-17 16:30:49 +00:00
kgssapi
legacy/dev remove now-redunant cardbus attachment lines. 2009-03-09 13:25:34 +00:00
libkern Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
mips Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
modules Introduce a number of changes to the MROUTING code. 2009-03-19 01:43:03 +00:00
net Remove the splimp()/splx() calls around the setting of the MTU. They are 2009-03-17 02:32:36 +00:00
net80211 Use plural in a comment. No functional change. 2009-03-18 21:33:28 +00:00
netatalk Remove local variable 'ddp' from DDP's attach and detach routines; they 2009-02-04 20:04:32 +00:00
netgraph Make Netgraph compile with Clang. 2009-03-03 18:47:33 +00:00
netinet Introduce a number of changes to the MROUTING code. 2009-03-19 01:43:03 +00:00
netinet6 Introduce a number of changes to the MROUTING code. 2009-03-19 01:43:03 +00:00
netipsec Fixed deletion of sav entries in key_delsah() 2009-03-18 14:01:41 +00:00
netipx Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through 2008-12-11 10:29:35 +00:00
netnatm Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced 2009-03-15 14:21:05 +00:00
netncp
netsmb
nfs
nfs4client Last step of splitting up minor and unit numbers: remove minor(). 2009-01-28 17:57:16 +00:00
nfsclient - Remove code to set SAVENAME for CREATE or RENAME requests that get a -ve 2009-03-10 18:41:06 +00:00
nfsserver Include audit.h so that the system call path protected by NFS_LEGACYRPC 2009-02-23 23:04:15 +00:00
nlm
opencrypto Fix return type for detach routine (should be int) 2009-02-05 17:43:12 +00:00
pc98 Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced 2009-03-15 14:21:05 +00:00
pci intpm: minor enhancements 2009-03-16 16:15:14 +00:00
powerpc Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
rpc Use the correct creds when reconnecting so that we have enough privilege to 2009-02-05 11:48:10 +00:00
security - Correct logic in if statement - we want to allocate temporary buffer 2009-03-14 20:40:06 +00:00
sparc64 Add missing const. 2009-03-18 23:52:20 +00:00
sun4v Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
sys Supply AT_EXECPATH auxinfo entry to the interpreter, both for native and 2009-03-17 12:53:28 +00:00
tools
ufs Fix two issues with bufdaemon, often causing the processes to hang in 2009-03-16 15:39:46 +00:00
vm Adjust some variables (mostly related to the buffer cache) that hold 2009-03-09 19:35:20 +00:00
xdr Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
xen Merge in support for Xen HVM on amd64 architecture. 2009-03-11 15:30:12 +00:00
Makefile Removal pccard directory requires removing it from the list of things 2009-02-15 18:19:24 +00:00