sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
Move most of the 15 variations on generating opt_inet.h andopt_inet6.h into kmod.mk by forcing almost everybody to eat the samedogfood. While at it, consolidate the opt_bpf.h and opt_mroute.htarge
Move most of the 15 variations on generating opt_inet.h andopt_inet6.h into kmod.mk by forcing almost everybody to eat the samedogfood. While at it, consolidate the opt_bpf.h and opt_mroute.htargets here too.
show more ...
Remove unnecessary inclusions of bsd.own.mk.
After r193232 rt_tables in vnet.h are no longer indirectly dependent onthe ROUTETABLES kernel option thus there is no need to include opt_route.hanymore in all consumers of vnet.h and no longer dep
After r193232 rt_tables in vnet.h are no longer indirectly dependent onthe ROUTETABLES kernel option thus there is no need to include opt_route.hanymore in all consumers of vnet.h and no longer depend on it for modulebuilds.Remove the hidden include in flowtable.h as well and leave the twoexplicit #includes in ip_input.c and ip_output.c.
Remove opt_mac.h generation for various kernel modules that no longerrequire it.Submitted by: pjd
Introduce a number of changes to the MROUTING code.This is purely a forwarding plane cleanup; no control planecode is involved.Summary: * Split IPv4 and IPv6 MROUTING support. The static compile
Introduce a number of changes to the MROUTING code.This is purely a forwarding plane cleanup; no control planecode 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 notbe MFCed. There is a lot more work to be done here.Reviewed by: Pavlin Radoslavov
Rather than using hidden includes (with cicular dependencies),directly include only the header files needed. This reduces theunneeded spamming of various headers into lots of files.For now, this
Rather than using hidden includes (with cicular dependencies),directly include only the header files needed. This reduces theunneeded spamming of various headers into lots of files.For now, this leaves us with very few modules including vnet.hand thus needing to depend on opt_route.h.Reviewed by: brooks, gnn, des, zec, impSponsored by: The FreeBSD Foundation
Options spring cleanup:- Add and document the KVM and KVM_SUPPORT options thatare needed for the ifmcstats(3) makefile- Garbage collect unused variables- Add missing inclusion of bsd.own.mk where
Options spring cleanup:- Add and document the KVM and KVM_SUPPORT options thatare needed for the ifmcstats(3) makefile- Garbage collect unused variables- Add missing inclusion of bsd.own.mk where neededApproved by: kan (mentor)Reviewed by: ru
Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel.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 l
Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel.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).
Remove an unneeded define.
Let modules use the kernel's opt_*.h files if built along withthe kernel by wrapping all targets for fake opt_*.h files in.if defined(KERNBUILDDIR). Thus, such fake files won't becreated at all i
Let modules use the kernel's opt_*.h files if built along withthe kernel by wrapping all targets for fake opt_*.h files in.if defined(KERNBUILDDIR). Thus, such fake files won't becreated at all if modules are built with the kernel.Some modules undergo cleanup like removing unused or unneededoptions or .h files, without which they wouldn't build this wayor the other.Reviewed by: ruTested by: no binary changes in modules built aloneTested on: i386 sparc64 amd64
Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSDhave already done this, so I have styled the patch on their work: 1) introduce a ip_newid() static inline function that check
Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSDhave 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, umeBased on: NetBSDMFC after: 2 months
Hook up opt_mac.h to the build dependencies. The way we currentlyhandle this stuff is dangerous. :-)Obtained from: TrustedBSD ProjectSponsored by: DARPA, Network Associates Laboratories
Drop <bsd.man.mk> support from <bsd.kmod.mk>.Not objected to by: -current
Unbreak ip_mroute_mod
Use a consistent style and one much closer to the rest of /usr/src
Use .include <bsd.kmod.mk> to get to ../../*/conf/kmod.mk instead ofencoding the relative path.
Pull in sys/conf/kmod.mk, rather than /usr/share/mk/bsd.kmod.mk.This means that the kernel can be totally self contained now and is notdependent on the last buildworld to update /usr/share/mk. Thi
Pull in sys/conf/kmod.mk, rather than /usr/share/mk/bsd.kmod.mk.This means that the kernel can be totally self contained now and is notdependent on the last buildworld to update /usr/share/mk. This mightalso make it easier to build 5.x kernels on 4.0 boxes etc, assuminggensetdefs and config(8) are updated.
$Id$ -> $FreeBSD$
Sample initial set of kld-ified modules. Not all have been completelyconverted yet. These are more of a starting point. This is NOT connectedto the parent Makefile.OK'ed by jkh (who is ever so
Sample initial set of kld-ified modules. Not all have been completelyconverted yet. These are more of a starting point. This is NOT connectedto the parent Makefile.OK'ed by jkh (who is ever so patiently waiting)
Revert $FreeBSD$ back to $Id$
Make the long-awaited change from $Id$ to $FreeBSD$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
Make the long-awaited change from $Id$ to $FreeBSD$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 beeninsane otherwise.
Per discussion on the mailing-lists, move LKMs from /sbin to /lkm, andarrange for that directory to get created by mtree. Also, process securedirectory after all the others, because the programs t
Per discussion on the mailing-lists, move LKMs from /sbin to /lkm, andarrange for that directory to get created by mtree. Also, process securedirectory after all the others, because the programs there may overlayones installed from the main part of the tree.