sys: Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
modules: adding some missing opt_* dependenciesif_vlan grew a dependency on opt_inet6.h in r356993if_lagg and if_vlan both grew a dependency on opt_kern_tls.h in r351522This is needed for standa
modules: adding some missing opt_* dependenciesif_vlan grew a dependency on opt_inet6.h in r356993if_lagg and if_vlan both grew a dependency on opt_kern_tls.h in r351522This is needed for standalone module builds of these guys.
show more ...
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
Implement kernel support for hardware rate limited sockets.- Add RATELIMIT kernel configuration keyword which must be set toenable the new functionality.- Add support for hardware driven, Receiv
Implement kernel support for hardware rate limited sockets.- Add RATELIMIT kernel configuration keyword which must be set toenable the new functionality.- Add support for hardware driven, Receive Side Scaling, RSS aware, ratelimited sendqueues and expose the functionality through the alreadyestablished SO_MAX_PACING_RATE setsockopt(). The API support rates inthe range from 1 to 4Gbytes/s which are suitable for regular TCP andUDP streams. The setsockopt(2) manual page has been updated.- Add rate limit function callback API to "struct ifnet" which supportsthe following operations: if_snd_tag_alloc(), if_snd_tag_modify(),if_snd_tag_query() and if_snd_tag_free().- Add support to ifconfig to view, set and clear the IFCAP_TXRTLMTflag, which tells if a network driver supports rate limiting or not.- This patch also adds support for rate limiting through VLAN and LAGGintermediate network devices.- How rate limiting works:1) The userspace application calls setsockopt() after accepting ormaking a new connection to set the rate which is then stored in thesocket structure in the kernel. Later on when packets are transmitteda check is made in the transmit path for rate changes. A rate changeimplies a non-blocking ifp->if_snd_tag_alloc() call will be made to thedestination network interface, which then sets up a custom sendqueuewith the given rate limitation parameter. A "struct m_snd_tag" pointer isreturned which serves as a "snd_tag" hint in the m_pkthdr for thesubsequently transmitted mbufs.2) When the network driver sees the "m->m_pkthdr.snd_tag" differentfrom NULL, it will move the packets into a designated rate limited sendqueuegiven by the snd_tag pointer. It is up to the individual drivers how the ratelimited traffic will be rate limited.3) Route changes are detected by the NIC drivers in the ifp->if_transmit()routine when the ifnet pointer in the incoming snd_tag mismatches theone of the network interface. The network adapter frees the mbuf andreturns EAGAIN which causes the ip_output() to release and clear the sendtag. Upon next ip_output() a new "snd_tag" will be tried allocated.4) When the PCB is detached the custom sendqueue will be released by anon-blocking ifp->if_snd_tag_free() call to the currently bound networkinterface.Reviewed by: wblock (manpages), adrian, gallatin, scottl (network)Differential Revision: https://reviews.freebsd.org/D3687Sponsored by: Mellanox TechnologiesMFC after: 3 months
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.
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
if_vlan no more depends on INET.
Fix standalone module build.Reported by: Boris Samorodov
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
Drop <bsd.man.mk> support from <bsd.kmod.mk>.Not objected to by: -current
Make vlan(4) loadable, unloadable, and clonable. As a side effect,interfaces must now always enable VLAN support.Reviewed by: jlemonMFC after: 3 weeks