Commit Graph

63 Commits

Author SHA1 Message Date
Lutz Donnerhacke
cfd6422a52 netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph type
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-26 16:53:24 +01:00
Nick Hibma
e8db04c389 New Netgraph module ng_macfilter:
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
2020-12-08 15:09:42 +00:00
Maxim Sobolev
470b28812f Hook up ng_checksum(4) module and appropriate manpage to the build. The module
was added back in 2016, but has never been connected.

MFC after:	1 week
2018-12-09 02:58:53 +00:00
Enji Cooper
193d9e768b sys/modules: normalize .CURDIR-relative paths to SRCTOP
This simplifies make output/logic

Tested with:	`cd sys/modules; make ALL_MODULES=` on amd64
MFC after:	1 month
Sponsored by:	Dell EMC Isilon
2017-03-04 10:10:17 +00:00
Bryan Drewery
64bd42622a Build all of sys/modules with SUBDIR_PARALLEL.
Sponsored by:	EMC / Isilon Storage Division
MFC after:	3 weeks
2015-11-10 17:15:36 +00:00
Enji Cooper
f1bbec5a6f Enable parallel subdirectory building with sys/modules/netgraph
MFC after: 2 weeks
2015-09-27 07:40:19 +00:00
Warner Losh
df3394b3de Remove dependence on source tree options. Move all kernel module
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
2014-08-11 14:50:49 +00:00
Warner Losh
c6063d0da8 Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
Gleb Smirnoff
506658cc1e Axe ng_fec(4). It has never been a real netgraph(4) module, since
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).
2013-10-28 12:47:05 +00:00
Andrey V. Elsukov
d359a62d44 New netgraph node ng_patch(4). It performs data modification of packets
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
2010-06-09 12:25:57 +00:00
Marko Zec
991633af2e Connect ng_pipe to the default build.
Approved by:	julian (mentor)
2009-06-23 06:11:04 +00:00
Robert Watson
e5adda3d51 Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced
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@
2009-03-15 14:21:05 +00:00
Alexander Motin
ee8b2cf02a Rejoin ng_tty module to the build. 2008-12-25 09:32:20 +00:00
Julian Elischer
1018c6cbf9 Hook up the ether_echo node and fix the man page 2008-12-25 07:34:14 +00:00
Ed Schouten
200d80cd74 Disconnect drivers that haven't been ported to MPSAFE TTY yet.
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).
2008-08-03 10:32:17 +00:00
Alexander Motin
1adb54142d A node that implements various traffic shaping and rate limiting algorithms.
Approved by:	glebius (mentor)
2007-05-15 16:24:50 +00:00
Gleb Smirnoff
9e6f1d3be4 Build bits for ng_deflate(4) and ng_pred1(4). 2006-12-29 13:16:43 +00:00
Gleb Smirnoff
d473c9d543 A netgraph node that can do different manipulations with
mbuf_tags(9) on packets.

Submitted by:		Vadim Goncharov <vadimnuclight tpu.ru>
mdoc(7) reviewed by:	ru
2006-06-27 12:45:28 +00:00
Ruslan Ermilov
e1fe3dba5c Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Gleb Smirnoff
e9110049aa Attach ng_tcpmss to the build. 2005-06-10 08:05:13 +00:00
Gleb Smirnoff
6cd047a0bb Attach ng_nat and libalias to build. 2005-05-06 14:47:54 +00:00
Ruslan Ermilov
db60a05a92 Connect ng_source(4) to the build. 2005-02-12 17:04:21 +00:00
Ruslan Ermilov
39621ad154 Connect ng_atmllc(4) to the build. 2005-02-12 12:49:32 +00:00
Gleb Smirnoff
aa70aaecdb Add ng_ipfw to kernel module build. 2005-02-05 12:09:38 +00:00
Ruslan Ermilov
2154e70d14 Connect ng_device(4) to the build. 2005-02-03 19:54:58 +00:00
Warner Losh
fe9ec26797 ar and sr (and their netgraph cousins) don't appear to be 64-bit clean, so
disable them on all but i386.
2005-01-27 01:45:15 +00:00
Ruslan Ermilov
a216173556 NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
Ruslan Ermilov
10cdf827cd Sort SUBDIR. 2004-10-24 06:22:16 +00:00
Gleb Smirnoff
cec50dea12 Attach ng_netflow to kernel build.
Approved by:	julian (mentor)
2004-09-16 20:35:28 +00:00
Maksim Yevmenkin
23d1e148af Make bluetooth compile on all platforms
Reviewed by:	imp, ru
2004-07-07 22:48:30 +00:00
Roman Kurakin
8cd65c072e Add ng_sppp(4) to the modules build process. 2004-04-25 08:56:46 +00:00
Ruslan Ermilov
b462702f94 A simple packet distribution node type that acts like an Ethernet hub. 2004-04-17 12:42:17 +00:00
Ruslan Ermilov
407ea29095 Netgraph node type for IEEE 802.1Q VLAN tagging. 2004-03-01 17:22:16 +00:00
Maksim Yevmenkin
18d948adb1 Add NO_BLUETOOTH knob to the build process
Requested by:	phk
Reviewed by:	imp (mentor), ru
2004-01-28 00:42:51 +00:00
Ruslan Ermilov
9cf7b16038 Normalize SUBDIR. 2004-01-19 12:36:08 +00:00
Hartmut Brandt
cfca62bfac This is a netgraph node to access ATM interfaces. It works with the
hatm(4) and fatm(4) drivers, en(4) will follow soon.
2003-06-25 13:20:19 +00:00
Bill Paul
87b4a25958 Add device driver support for the ASIX Electronics AX88172 USB 2.0
ethernet controller. The driver has been tested with the LinkSys
USB200M adapter. I know for a fact that there are other devices out
there with this chip but don't have all the USB vendor/device IDs.

Note: I'm not sure if this will force the driver to end up in the
install kernel image or not. Special magic needs to be done to exclude
it to keep the boot floppies from bloating again, someone please
advise.
2003-04-20 19:05:33 +00:00
Julian Elischer
075c3f0781 Make the bluetooth modules
Approved by:	re
2002-11-21 00:40:11 +00:00
Archie Cobbs
613744fcb4 Keep subdirectory list sorted. 2002-08-20 23:58:49 +00:00
Archie Cobbs
a9c61b3dfc Add ng_l2tp module. 2002-08-20 22:03:57 +00:00
Julian Elischer
561dac2175 turn on the ethertype filter module 2002-02-27 08:54:13 +00:00
Brooks Davis
c2eed10556 Add ng_ip_input. A new netgraph node for queuing IP packets into the
main IP input processing code.
2001-09-27 21:54:27 +00:00
Brooks Davis
94408d94c3 /home/brooks/ng_gif.message 2001-09-26 23:50:17 +00:00
Julian Elischer
b40ce4165d KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
Brooks Davis
851127a276 Make ng_split part of the module building process.
MFC after:	7 weeks
2001-07-24 23:42:56 +00:00
Brooks Davis
09261c4f2f Put module directories one per line so adding new modules creates readable
diffs and produces less conflicts with local source trees.
2001-07-15 04:55:37 +00:00
John Hay
01b96fdf9e Make klds for the ar and sr devices and hook them up.
The normal versions are called if_ar.ko and if_sr.ko and the netgraph
versions ng_sync_ar.ko and ng_sync_sr.ko.
2001-01-30 10:20:43 +00:00
Jonathan Lemon
fe96e26dd0 Fix another callout_init() that I missed. 2000-11-26 21:59:30 +00:00
Poul-Henning Kamp
a1bb9fabb1 unhook netgraph/bridge until somebody makes it compile in LINT 2000-11-26 16:40:00 +00:00
Archie Cobbs
7cc2023054 Add one2many subdirectory (previously forgotten). 2000-11-22 19:04:42 +00:00