Date: Thu, 19 Mar 2009 01:43:03 +0000 (UTC) From: Bruce M Simpson <bms@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src UPDATING src/sys/modules/ip6_mroute_mod Makefile src/sys/modules/ip_mroute_mod Makefile src/sys/netinet ip_mroute.c ip_mroute.h src/sys/netinet6 ip6_mroute.c ip6_mroute.h src/usr.bin/netstat main.c mroute.c netstat.h Message-ID: <200903190147.n2J1l5IK062336@repoman.freebsd.org>
index | next in thread | raw e-mail
bms 2009-03-19 01:43:03 UTC
FreeBSD src repository
Modified files:
. UPDATING
sys/modules/ip_mroute_mod Makefile
sys/netinet ip_mroute.c ip_mroute.h
sys/netinet6 ip6_mroute.c ip6_mroute.h
usr.bin/netstat main.c mroute.c netstat.h
Added files:
sys/modules/ip6_mroute_mod Makefile
Log:
SVN rev 190012 on 2009-03-19 01:43:03Z by bms
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
Revision Changes Path
1.584 +7 -0 src/UPDATING
1.1 +19 -0 src/sys/modules/ip6_mroute_mod/Makefile (new)
1.18 +0 -9 src/sys/modules/ip_mroute_mod/Makefile
1.144 +410 -611 src/sys/netinet/ip_mroute.c
1.33 +4 -20 src/sys/netinet/ip_mroute.h
1.54 +267 -129 src/sys/netinet6/ip6_mroute.c
1.14 +1 -1 src/sys/netinet6/ip6_mroute.h
1.96 +6 -3 src/usr.bin/netstat/main.c
1.32 +189 -117 src/usr.bin/netstat/mroute.c
1.58 +1 -1 src/usr.bin/netstat/netstat.h
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903190147.n2J1l5IK062336>
