aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/netgraph
Commit message (Collapse)AuthorAgeFilesLines
* modules: Simplify some expressionsWarner Losh8 days1-2/+0
| | | | | | | When we only use SYSDIR once or twice, expand it and don't define it. Minor other consistency changes. Sponsored by: Netflix
* kern: Remove needless kern.opts.mkWarner Losh8 days1-3/+0
| | | | | | | | 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
* sys/modules: fix standalone build for multiple modulesShengYi Hung2025-08-231-0/+2
| | | | | | | | | 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
* ng_ubt(4): do not attach Realtek 87XX/88XX adaptors in bootloader mode.Vladimir Kondratyev2024-11-061-2/+2
| | | | | | | | | | | | | 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
* Remove residual blank line at start of MakefileWarner Losh2024-07-1526-26/+0
| | | | | | | 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
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-1659-59/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* ng_atmllc: removeBrooks Davis2023-03-092-7/+0
| | | | | | | | | | 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
* NgATM: Remove netgraph ATM supportBrooks Davis2023-03-098-95/+0
| | | | | | | | | | 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
* Fix some modules to export more used symbolsKonstantin Belousov2021-11-184-0/+8
| | | | | | | | | 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
* Retire synchronous PPP kernel driver sppp(4).Gleb Smirnoff2021-10-222-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* modules: netflow: need opt_inet.hKyle Evans2021-09-301-1/+1
| | | | This fixes the standalone build.
* bluetooth: complete removal of ng_h4Warner Losh2021-09-301-12/+0
| | | | | | | | | | | 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
* netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph typeLutz Donnerhacke2021-01-262-1/+8
| | | | | | | | | | | | | | | | | | | | | 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
* pccard: Remove bt3c(4) driverWarner Losh2021-01-082-13/+0
| | | | | | | | 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
* New Netgraph module ng_macfilter:Nick Hibma2020-12-082-0/+10
| | | | | | | | | | | | | | | 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
* ng_ubt(4): do not attach Intel Wireless 8260/8265 in bootloader mode.Vladimir Kondratyev2019-08-181-2/+2
| | | | | | | | | | | | | | | | | | | | | 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
* Hook up ng_checksum(4) module and appropriate manpage to the build. The moduleMaxim Sobolev2018-12-091-0/+1
| | | | | | | | | was added back in 2016, but has never been connected. MFC after: 1 week Notes: svn path=/head/; revision=341749
* Remove commented out code to generate opt_inet*.h. That's handledWarner Losh2018-03-171-13/+2
| | | | | | | automatically by kern.opts.mk now. Include that instead. Notes: svn path=/head/; revision=331100
* Remove the NATM framework including the en(4), fatm(4), hatm(4), andBrooks Davis2017-04-242-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-0420-40/+40
| | | | | | | | | | | 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
* netgraph module for reconstructing checksumsJulian Elischer2016-08-011-0/+20
| | | | | | | | | PR: 206108 Submitted by: Dmitry Vagin daemon.hammer@ya.ru MFC after: 1 month Notes: svn path=/head/; revision=303612
* ng_mppc(4): Bring netgraph(3) MPPC compression support.Pedro F. Giffuni2016-06-071-2/+1
| | | | | | | | | | | | | | | | | | 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
* Build all of sys/modules with SUBDIR_PARALLEL.Bryan Drewery2015-11-101-2/+0
| | | | | | | | Sponsored by: EMC / Isilon Storage Division MFC after: 3 weeks Notes: svn path=/head/; revision=290665
* Enable parallel subdirectory building with sys/modules/netgraphEnji Cooper2015-09-271-0/+2
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=288304
* Remove dependence on source tree options. Move all kernel moduleWarner Losh2014-08-111-2/+3
| | | | | | | | | | | | | | | | | | | | | 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
* Move most of the 15 variations on generating opt_inet.h andWarner Losh2014-08-044-41/+0
| | | | | | | | | 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
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh2014-05-063-3/+3
| | | | | | | from the latter. Notes: svn path=/head/; revision=265420
* Remove AppleTalk support.Gleb Smirnoff2014-03-141-4/+1
| | | | | | | | | | | | | 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
* Remove IPX support.Gleb Smirnoff2014-03-141-4/+1
| | | | | | | | | | | | | | 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
* Axe ng_fec(4). It has never been a real netgraph(4) module, sinceGleb Smirnoff2013-10-282-9/+0
| | | | | | | | | | | | 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
* Use rt_numfibs variable instead of compile-time RT_NUMFIBS.Alexander V. Chernikov2012-03-131-2/+0
| | | | | | | | Reviewed by: glebius (previous version) Approved by: kib(mentor), ae(mentor) Notes: svn path=/head/; revision=232921
* Add IPv6 support to the ng_ipfw(4) [1]. Also add ifdefs to be ableAndrey V. Elsukov2011-09-151-1/+15
| | | | | | | | | | | | 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
* Remove missing include directory in preparation for addingRebecca Cran2011-04-161-1/+1
| | | | | | | -Wmissing-include-dirs to CWARNFLAGS. Notes: svn path=/head/; revision=220712
* Add support for NetFlow version 9 into ng_netflow(4) node.Gleb Smirnoff2011-03-021-1/+14
| | | | | | | Submitted by: Alexander V. Chernikov <melifaro ipfw.ru> Notes: svn path=/head/; revision=219182
* New netgraph node ng_patch(4). It performs data modification of packetsAndrey V. Elsukov2010-06-092-0/+7
| | | | | | | | | | | | | | | | | | | 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
* Connect ng_pipe to the default build.Marko Zec2009-06-232-0/+7
| | | | | | | Approved by: julian (mentor) Notes: svn path=/head/; revision=194683
* After r193232 rt_tables in vnet.h are no longer indirectly dependent onBjoern A. Zeeb2009-06-083-3/+3
| | | | | | | | | | | | 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
* Hook ubt and ubtbcmfw back up to the build.Andrew Thompson2009-05-272-10/+12
| | | | Notes: svn path=/head/; revision=192909
* Garbage collect unbuildable and unusable non-MPSAFE network deviceRobert Watson2009-04-162-26/+0
| | | | | | | | | | | | | | 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
* Remove IFF_NEEDSGIANT, a compatibility infrastructure introducedRobert Watson2009-03-151-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Hook up new USB modules.Andrew Thompson2009-02-232-10/+10
| | | | Notes: svn path=/head/; revision=188943
* Rejoin ng_tty module to the build.Alexander Motin2008-12-251-0/+1
| | | | Notes: svn path=/head/; revision=186490
* Hook up the ether_echo node and fix the man pageJulian Elischer2008-12-251-0/+1
| | | | Notes: svn path=/head/; revision=186486
* Add a trivial node to reflect ethernet frames to whence they came.Julian Elischer2008-12-251-0/+7
| | | | | | | MFC after: 1 month Notes: svn path=/head/; revision=186481
* Rather than using hidden includes (with cicular dependencies),Bjoern A. Zeeb2008-12-023-3/+3
| | | | | | | | | | | | | | 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
* Per email to arch@ a little while ago (that was greeted with silence),Warner Losh2008-09-012-6/+6
| | | | | | | | prefer the more common > ${.TARGET} over > opt_foo.h in modules makefiles. Notes: svn path=/head/; revision=182668
* Disconnect drivers that haven't been ported to MPSAFE TTY yet.Ed Schouten2008-08-032-2/+0
| | | | | | | | | | | | | | | | 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
* Hook up Bluetooth SCO sockets code to the buildMaksim Yevmenkin2008-07-301-1/+2
| | | | | | | MFC after: 3 months Notes: svn path=/head/; revision=181034
* Remove netatm from HEAD as it is not MPSAFE and relies on the now removedRobert Watson2008-05-252-13/+0
| | | | | | | | | | | | | | | | | | | | | | 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
* Make ng_h4(4) MPSAFE. Use similar to ng_tty(4) locking strategy.Maksim Yevmenkin2007-08-131-2/+1
| | | | | | | | | | | 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