summaryrefslogtreecommitdiff
path: root/sys/modules/netgraph
AgeCommit message (Collapse)Author
2025-10-09modules: Simplify some expressionsWarner Losh
When we only use SYSDIR once or twice, expand it and don't define it. Minor other consistency changes. Sponsored by: Netflix
2025-10-09kern: Remove needless kern.opts.mkWarner Losh
We don't need kern.opts.mk in any of these places. None of these Makefiles reference any MK_ options. Some don't even need SYSDIR, but leave that defined in the ones that do. Sponsored by: Netflix
2025-08-23sys/modules: fix standalone build for multiple modulesShengYi Hung
Multiple Makefile miss opt_*.h and *_if.h header file. We fix it by running make in sys/modules to build all modules. Approved by: lwhsu (mentor), markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52062
2024-11-07ng_ubt(4): do not attach Realtek 87XX/88XX adaptors in bootloader mode.Vladimir Kondratyev
Attempt to initialize FreeBSD bluetooth stack while such a device is in bootloader mode locks the adapter hardly so it requires power on/off cycle to restore. This change blocks ng_ubt attachment unless operational firmware is loaded thus preventing the lock up. Sponsored by: Future Crew LLC MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D46738
2024-07-15Remove residual blank line at start of MakefileWarner Losh
This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
2023-08-16sys: Remove $FreeBSD$: one-line sh patternWarner Losh
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-03-09ng_atmllc: removeBrooks Davis
This standalone module is the last vestage of ATM support in the tree so send it on its way. Reviewed by: manu, emaste Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38880
2023-03-09NgATM: Remove netgraph ATM supportBrooks Davis
Most ATM support was removed prior to FreeBSD 12. The netgraph support was kept as it was less intrusive, but it is presumed to be unused. Reviewed by: manu Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38879
2021-11-18Fix some modules to export more used symbolsKonstantin Belousov
and remove non-present symbols that are now reported by kmod_syms.awk. Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32878
2021-10-22Retire synchronous PPP kernel driver sppp(4).Gleb Smirnoff
The last two drivers that required sppp are cp(4) and ce(4). These devices are still produced and can be purchased at Cronyx <http://cronyx.ru/hardware/wan.html>. Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no longer support FreeBSD officially. Later they have dropped support for Linux drivers to. As of mid-2020 they don't even have a developer to maintain their Windows driver. However, their support verbally told me that they could provide aid to a FreeBSD developer with documentaion in case if there appears a new customer for their devices. These drivers have a feature to not use sppp(4) and create an interface, but instead expose the device as netgraph(4) node. Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on top of the node and get your synchronous PPP. Alternatively you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC. Actually, last time I used cp(4) back in 2004, using netgraph(4) instead of sppp(4) was already the right way to do. Thus, remove the sppp(4) related part of the drivers and enable by default the negraph(4) part. Further maintenance of these drivers in the tree shouldn't be a big deal. While doing that, remove some cruft and enable cp(4) compilation on amd64. The ce(4) for some unknown reason marks its internal DDK functions with __attribute__ fastcall, which most likely is safe to remove, but without hardware I'm not going to do that, so ce(4) remains i386-only. Reviewed by: emaste, imp, donner Differential Revision: https://reviews.freebsd.org/D32590 See also: https://reviews.freebsd.org/D23928
2021-09-29modules: netflow: need opt_inet.hKyle Evans
This fixes the standalone build.
2021-09-29bluetooth: complete removal of ng_h4Warner Losh
The ng_h4 module was disconnected 13 years ago when the tty later was locked by Ed. It completely fails to compile, and has a number of false positives for Giant use. Remove it for lack of interest. Bluetooth has largely (completely?) moved on from bluetooth over UART transport. OK'd by: emax Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D31846
2021-01-26netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph typeLutz Donnerhacke
This node is part of an A10-NSP (L2-BSA) development. Carrier networks tend to stack three or more tags for internal purposes and therefore hiding the service tags deep inside of the stack. When decomposing such an access network frame, the processing order is typically reversed: First distinguish by service, than by other means. This new netgragh node allows to bring the relevant VLAN in front (to the out-most position). This way other netgraph nodes (like ng_vlan) can operate on this specific type. Reviewed by: manpages (gbe), brueffer (manpages), kp Approved by: kp (mentor) MFC after: 1 month Relnotes: yes Sponsored by: IKS Service GmbH Differential Revision: https://reviews.freebsd.org/D22076
2021-01-07pccard: Remove bt3c(4) driverWarner Losh
pccard is being removed, so remove bt3c driver since it only has PC Card attachment. Also remove bt3cfw(8) since it's the firmware for this driver. Relnotes: Yes
2020-12-08New Netgraph module ng_macfilter:Nick Hibma
Macfilter to route packets through different hooks based on sender MAC address. Based on ng_macfilter written by Pekka Nikander Sponsered by Retina b.v. Reviewed by: afedorov MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27268 Notes: svn path=/head/; revision=368443
2019-08-18ng_ubt(4): do not attach Intel Wireless 8260/8265 in bootloader mode.Vladimir Kondratyev
Add helper function for synchronous execution of HCI commands at probe stage and use this function to check firmware state of Intel Wireless 8260/8265 bluetooth devices found in many post 2016 year laptops. Attempt to initialize FreeBSD bluetooth stack while such a device is in bootloader mode locks the adapter hardly so it requires power on/off cycle to restore. This change blocks ng_ubt attachment unless operational firmware is loaded thus preventing the lock up. PR: 237083 Reviewed by: hps, emax MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21071 Notes: svn path=/head/; revision=351196
2018-12-09Hook up ng_checksum(4) module and appropriate manpage to the build. The moduleMaxim Sobolev
was added back in 2016, but has never been connected. MFC after: 1 week Notes: svn path=/head/; revision=341749
2018-03-17Remove commented out code to generate opt_inet*.h. That's handledWarner Losh
automatically by kern.opts.mk now. Include that instead. Notes: svn path=/head/; revision=331100
2017-04-24Remove the NATM framework including the en(4), fatm(4), hatm(4), andBrooks Davis
patm(4) devices. Maintaining an address family and framework has real costs when we make infrastructure improvements. In the case of NATM we support no devices manufactured in the last 20 years and some will not even work in modern motherboards (some newer devices that patm(4) could be updated to support apparently exist, but we do not currently have support). With this change, support remains for some netgraph modules that don't require NATM support code. It is unclear if all these should remain, though ng_atmllc certainly stands alone. Note well: FreeBSD 11 supports NATM and will continue to do so until at least September 30, 2021. Improvements to the code in FreeBSD 11 are certainly welcome. Reviewed by: philip Approved by: harti Notes: svn path=/head/; revision=317383
2017-03-04sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper
This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
2016-08-01netgraph module for reconstructing checksumsJulian Elischer
PR: 206108 Submitted by: Dmitry Vagin daemon.hammer@ya.ru MFC after: 1 month Notes: svn path=/head/; revision=303612
2016-06-07ng_mppc(4): Bring netgraph(3) MPPC compression support.Pedro F. Giffuni
Support for compression has been available from July 2007 but it was never imported due to concerns with patents once held by STAC/HiFn. The issues have clearly been resolved so bring it in now. Special thanks to Brett Glass for preserving the code and pointing documentation for the expiration case. Obtained from: mav (through Brett Glass) Relnotes: yes MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D6739 Notes: svn path=/head/; revision=301549
2015-11-10Build all of sys/modules with SUBDIR_PARALLEL.Bryan Drewery
Sponsored by: EMC / Isilon Storage Division MFC after: 3 weeks Notes: svn path=/head/; revision=290665
2015-09-27Enable parallel subdirectory building with sys/modules/netgraphEnji Cooper
MFC after: 2 weeks Notes: svn path=/head/; revision=288304
2014-08-11Remove dependence on source tree options. Move all kernel moduleWarner Losh
options into kern.opts.mk and change all the places where we use src.opts.mk to pull in the options. Conditionally define SYSDIR and use SYSDIR/conf/kern.opts.mk instead of a CURDIR path. Replace all instances of CURDIR/../../etc with STSDIR, but only in the affected files. As a special compatibility hack, include bsd.owm.mk at the top of kern.opts.mk to allow the bare build of sys/modules to work on older systems. If the defaults ever change between 9.x, 10.x and current for these options, however, you'll wind up with the host OS' defaults rather than the -current defaults. This hack will be removed when we no longer need to support this build scenario. Reviewed by: jhb Differential Revision: https://phabric.freebsd.org/D529 Notes: svn path=/head/; revision=269812
2014-08-04Move most of the 15 variations on generating opt_inet.h andWarner Losh
opt_inet6.h into kmod.mk by forcing almost everybody to eat the same dogfood. While at it, consolidate the opt_bpf.h and opt_mroute.h targets here too. Notes: svn path=/head/; revision=269540
2014-05-06Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh
from the latter. Notes: svn path=/head/; revision=265420
2014-03-14Remove AppleTalk support.Gleb Smirnoff
AppleTalk was a network transport protocol for Apple Macintosh devices in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was a legacy protocol and primary networking protocol is TCP/IP. The last Mac OS X release to support AppleTalk happened in 2009. The same year routing equipment vendors (namely Cisco) end their support. Thus, AppleTalk won't be supported in FreeBSD 11.0-RELEASE. Notes: svn path=/head/; revision=263152
2014-03-14Remove IPX support.Gleb Smirnoff
IPX was a network transport protocol in Novell's NetWare network operating system from late 80s and then 90s. The NetWare itself switched to TCP/IP as default transport in 1998. Later, in this century the Novell Open Enterprise Server became successor of Novell NetWare. The last release that claimed to still support IPX was OES 2 in 2007. Routing equipment vendors (e.g. Cisco) discontinued support for IPX in 2011. Thus, IPX won't be supported in FreeBSD 11.0-RELEASE. Notes: svn path=/head/; revision=263140
2013-10-28Axe ng_fec(4). It has never been a real netgraph(4) module, sinceGleb Smirnoff
it had no hooks. It has abused ifnet's if_afdata slot and actually abused every subsystem it touched. lagg(4) is a proper trunking solution at ifnet(9) layer. ng_one2many(4) is a proper trunking solution in netgraph(4). Notes: svn path=/head/; revision=257249
2012-03-13Use rt_numfibs variable instead of compile-time RT_NUMFIBS.Alexander V. Chernikov
Reviewed by: glebius (previous version) Approved by: kib(mentor), ae(mentor) Notes: svn path=/head/; revision=232921
2011-09-15Add IPv6 support to the ng_ipfw(4) [1]. Also add ifdefs to be ableAndrey V. Elsukov
build it with and without INET/INET6 support. Submitted by: Alexander V. Chernikov <melifaro at yandex-team.ru> [1] Tested by: Alexander V. Chernikov <melifaro at yandex-team.ru> [1] Approved by: re (bz) MFC after: 2 weeks Notes: svn path=/head/; revision=225586
2011-04-16Remove missing include directory in preparation for addingRebecca Cran
-Wmissing-include-dirs to CWARNFLAGS. Notes: svn path=/head/; revision=220712
2011-03-02Add support for NetFlow version 9 into ng_netflow(4) node.Gleb Smirnoff
Submitted by: Alexander V. Chernikov <melifaro ipfw.ru> Notes: svn path=/head/; revision=219182
2010-06-09New netgraph node ng_patch(4). It performs data modification of packetsAndrey V. Elsukov
passing through. Modifications are restricted to a subset of C language operations on unsigned integers of 8, 16, 32 or 64 bit size. These are: set to new value (=), addition (+=), subtraction (-=), multiplication (*=), division (/=), negation (= -), bitwise AND (&=), bitwise OR (|=), bitwise eXclusive OR (^=), shift left (<<=), shift right (>>=). Several operations are all applied to a packet sequentially in order they were specified by user. Submitted by: Maxim Ignatenko <gelraen.ua at gmail.com> Vadim Goncharov <vadimnuclight at tpu.ru> Discussed with: net@ Approved by: mav (mentor) MFC after: 1 month Notes: svn path=/head/; revision=208946
2009-06-23Connect ng_pipe to the default build.Marko Zec
Approved by: julian (mentor) Notes: svn path=/head/; revision=194683
2009-06-08After r193232 rt_tables in vnet.h are no longer indirectly dependent onBjoern A. Zeeb
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
2009-05-27Hook ubt and ubtbcmfw back up to the build.Andrew Thompson
Notes: svn path=/head/; revision=192909
2009-04-16Garbage collect unbuildable and unusable non-MPSAFE network deviceRobert Watson
drivers that depended on the historic IFF_NEEDSGIANT compatibility mechanism: ar(4) ray(4) sr(4) Discussed on: arch@ Notes: svn path=/head/; revision=191138
2009-03-15Remove IFF_NEEDSGIANT, a compatibility infrastructure introducedRobert Watson
in FreeBSD 5.x to allow network device drivers to run with Giant despite the network stack being Giant-free. This significantly simplifies calls into ioctl() on network interfaces, especially in the multicast code, as well as eliminates deferred invocation of interface if_start routines. Disable the build on device drivers still depending on IFF_NEEDSGIANT as they no longer compile. They will be removed in a few weeks if they haven't been made MPSAFE in that time. Disabled drivers: if_ar if_axe if_aue if_cdce if_cue if_kue if_ray if_rue if_rum if_sr if_udav if_ural if_zyd Drivers that were already disabled because of tty changes: if_ppp if_sl Discussed on: arch@ Notes: svn path=/head/; revision=189851
2009-02-23Hook up new USB modules.Andrew Thompson
Notes: svn path=/head/; revision=188943
2008-12-25Rejoin ng_tty module to the build.Alexander Motin
Notes: svn path=/head/; revision=186490
2008-12-25Hook up the ether_echo node and fix the man pageJulian Elischer
Notes: svn path=/head/; revision=186486
2008-12-25Add a trivial node to reflect ethernet frames to whence they came.Julian Elischer
MFC after: 1 month Notes: svn path=/head/; revision=186481
2008-12-02Rather than using hidden includes (with cicular dependencies),Bjoern A. Zeeb
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
2008-09-01Per email to arch@ a little while ago (that was greeted with silence),Warner Losh
prefer the more common > ${.TARGET} over > opt_foo.h in modules makefiles. Notes: svn path=/head/; revision=182668
2008-08-03Disconnect drivers that haven't been ported to MPSAFE TTY yet.Ed Schouten
As clearly mentioned on the mailing lists, there is a list of drivers that have not been ported to the MPSAFE TTY layer yet. Remove them from the kernel configuration files. This means people can now still use these drivers if they explicitly put them in their kernel configuration file, which is good. People should keep in mind that after August 10, these drivers will not work anymore. Even though owners of the hardware are capable of getting these drivers working again, I will see if I can at least get them to a compilable state (if time permits). Notes: svn path=/head/; revision=181233
2008-07-30Hook up Bluetooth SCO sockets code to the buildMaksim Yevmenkin
MFC after: 3 months Notes: svn path=/head/; revision=181034
2008-05-25Remove netatm from HEAD as it is not MPSAFE and relies on the now removedRobert Watson
NET_NEEDS_GIANT. netatm has been disconnected from the build for ten months in HEAD/RELENG_7. Specifics: - netatm include files - netatm command line management tools - libatm - ATM parts in rescue and sysinstall - sample configuration files and documents - kernel support as a module or in NOTES - netgraph wrapper nodes for netatm - ctags data for netatm. - netatm-specific device drivers. MFC after: 3 weeks Reviewed by: bz Discussed with: bms, bz, harti Notes: svn path=/head/; revision=179308
2007-08-13Make ng_h4(4) MPSAFE. Use similar to ng_tty(4) locking strategy.Maksim Yevmenkin
Reconnect ng_h(4) back to the build. Reviewed by: kensmith Approved by: re (kensmith) MFC after: 1 month Notes: svn path=/head/; revision=171818