aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/ip_mroute_mod
Commit message (Collapse)AuthorAgeFilesLines
* After r193232 rt_tables in vnet.h are no longer indirectly dependent onBjoern A. Zeeb2009-06-081-1/+1
| | | | | | | | | | | | the ROUTETABLES kernel option thus there is no need to include opt_route.h anymore in all consumers of vnet.h and no longer depend on it for module builds. Remove the hidden include in flowtable.h as well and leave the two explicit #includes in ip_input.c and ip_output.c. Notes: svn path=/head/; revision=193744
* Remove opt_mac.h generation for various kernel modules that no longerRobert Watson2009-06-061-1/+1
| | | | | | | | | require it. Submitted by: pjd Notes: svn path=/head/; revision=193588
* Introduce a number of changes to the MROUTING code.Bruce M Simpson2009-03-191-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=190012
* Rather than using hidden includes (with cicular dependencies),Bjoern A. Zeeb2008-12-021-1/+1
| | | | | | | | | | | | | | directly include only the header files needed. This reduces the unneeded spamming of various headers into lots of files. For now, this leaves us with very few modules including vnet.h and thus needing to depend on opt_route.h. Reviewed by: brooks, gnn, des, zec, imp Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=185571
* Options spring cleanup:Stephane E. Potvin2007-06-131-2/+4
| | | | | | | | | | | | | - Add and document the KVM and KVM_SUPPORT options that are needed for the ifmcstats(3) makefile - Garbage collect unused variables - Add missing inclusion of bsd.own.mk where needed Approved by: kan (mentor) Reviewed by: ru Notes: svn path=/head/; revision=170644
* Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel.Bruce M Simpson2007-02-241-3/+16
| | | | | | | | | It is built in the same module as IPv4 multicast forwarding, i.e. ip_mroute.ko, if and only if IPv6 support is enabled for loadable modules. Export IPv6 forwarding structs to userland netstat(1) via sysctl(9). Notes: svn path=/head/; revision=166938
* Remove an unneeded define.Bruce M Simpson2007-02-091-2/+0
| | | | Notes: svn path=/head/; revision=166579
* Let modules use the kernel's opt_*.h files if built along withYaroslav Tykhiy2005-10-141-0/+2
| | | | | | | | | | | | | | | | | the kernel by wrapping all targets for fake opt_*.h files in .if defined(KERNBUILDDIR). Thus, such fake files won't be created at all if modules are built with the kernel. Some modules undergo cleanup like removing unused or unneeded options or .h files, without which they wouldn't build this way or the other. Reviewed by: ru Tested by: no binary changes in modules built alone Tested on: i386 sparc64 amd64 Notes: svn path=/head/; revision=151350
* Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSDDavid Malone2004-08-141-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | have already done this, so I have styled the patch on their work: 1) introduce a ip_newid() static inline function that checks the sysctl and then decides if it should return a sequential or random IP ID. 2) named the sysctl net.inet.ip.random_id 3) IPv6 flow IDs and fragment IDs are now always random. Flow IDs and frag IDs are significantly less common in the IPv6 world (ie. rarely generated per-packet), so there should be smaller performance concerns. The sysctl defaults to 0 (sequential IP IDs). Reviewed by: andre, silby, mlaier, ume Based on: NetBSD MFC after: 2 months Notes: svn path=/head/; revision=133720
* Hook up opt_mac.h to the build dependencies. The way we currentlyRobert Watson2002-10-201-1/+1
| | | | | | | | | | handle this stuff is dangerous. :-) Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories Notes: svn path=/head/; revision=105588
* Drop <bsd.man.mk> support from <bsd.kmod.mk>.Ruslan Ermilov2002-01-111-1/+0
| | | | | | | Not objected to by: -current Notes: svn path=/head/; revision=89260
* Unbreak ip_mroute_modBill Fenner2001-07-251-2/+13
| | | | Notes: svn path=/head/; revision=80352
* Use a consistent style and one much closer to the rest of /usr/srcDavid E. O'Brien2001-01-061-1/+3
| | | | Notes: svn path=/head/; revision=70711
* Use .include <bsd.kmod.mk> to get to ../../*/conf/kmod.mk instead ofPeter Wemm2000-05-271-1/+1
| | | | | | | encoding the relative path. Notes: svn path=/head/; revision=60966
* Pull in sys/conf/kmod.mk, rather than /usr/share/mk/bsd.kmod.mk.Peter Wemm2000-05-041-1/+1
| | | | | | | | | | This means that the kernel can be totally self contained now and is not dependent on the last buildworld to update /usr/share/mk. This might also make it easier to build 5.x kernels on 4.0 boxes etc, assuming gensetdefs and config(8) are updated. Notes: svn path=/head/; revision=59951
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Sample initial set of kld-ified modules. Not all have been completelyPeter Wemm1998-10-161-3/+3
| | | | | | | | | | converted yet. These are more of a starting point. This is NOT connected to the parent Makefile. OK'ed by jkh (who is ever so patiently waiting) Notes: svn path=/head/; revision=40440
* Revert $FreeBSD$ back to $Id$Peter Wemm1997-02-221-1/+1
| | | | Notes: svn path=/head/; revision=22982
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* Per discussion on the mailing-lists, move LKMs from /sbin to /lkm, andGarrett Wollman1994-09-161-0/+9
arrange for that directory to get created by mtree. Also, process secure directory after all the others, because the programs there may overlay ones installed from the main part of the tree. Notes: svn path=/head/; revision=2834