diff options
author | bms <bms@FreeBSD.org> | 2009-03-19 01:43:03 +0000 |
---|---|---|
committer | bms <bms@FreeBSD.org> | 2009-03-19 01:43:03 +0000 |
commit | 76f193cd692e42617fb7f33b9581e7e5a3da58f0 (patch) | |
tree | d8c3186aadc92c08ebcc649765a90704c2e1d233 /sbin/dump/itime.c | |
parent | be7293a078080bef32e2a64d792bfdfa0c65dead (diff) | |
download | FreeBSD-src-76f193cd692e42617fb7f33b9581e7e5a3da58f0.zip FreeBSD-src-76f193cd692e42617fb7f33b9581e7e5a3da58f0.tar.gz |
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
Diffstat (limited to 'sbin/dump/itime.c')
0 files changed, 0 insertions, 0 deletions