Commit Graph

141 Commits

Author SHA1 Message Date
Julian Elischer
585ff168dc Add the netgraph 'source' module.
This is NOT YET CONVERTED TO -current.
This node is a source for preprogrammed packets at a known rate for testing.

I will convert it to -current "in place" but will MFC teh original
pre-conversion variant as that is  what is originally submitted.
Man page my me, info from Dave's README.

Submitted by:	Dave Chapeskie <dchapeskie@SANDVINE.com>
Obtained from:	Sandvine inc.
MFC after:	1 week
2002-10-31 23:03:09 +00:00
Julian Elischer
6da3d5ce7f Finally get around to committing Bill Paul's FEC netgraph nodes.
These are really only partly netgraph nodes as they do not use the
netgraph interfaces for many of the functions for which they could
be used, however they represent important functionality.

Submitted by:	wpaul
MFC after: 2 days
2002-10-29 19:12:44 +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
a835396035 A node that creates a device entry in /dev (yay devfs)
so that /dev/mumble can be the entrypoint to some networking graph,
e.g. a tunnel or a remote tape drive or whatever...

Not fully tested (by me) yet.

Submitted by:	Mark Santcroos <marks@ripe.net>
MFC after:	3 weeks
2002-06-18 21:32:33 +00:00
Julian Elischer
561dac2175 turn on the ethertype filter module 2002-02-27 08:54:13 +00:00
Archie Cobbs
bf2ed16b89 Export "ng_ether_enaddr_type" because the ng_bridge type uses it. 2002-01-12 17:31:25 +00:00
Ruslan Ermilov
17d6c63672 Drop <bsd.man.mk> support from <bsd.kmod.mk>.
Not objected to by:	-current
2002-01-11 15:49:02 +00:00
Mike Smith
4535126875 Turn on unconditional symbol export for modules whose API is
not clear enough, will require additional analysis, or will
require some input from their maintainers.
2002-01-11 01:19:26 +00:00
Julian Elischer
10d7ccab88 A node that allows ethernet type packets to be filtered to different
hooks depending on ethertype. Great for prototyping protocols.
connects to the lower and upper hooks of an ethernet type of node.

Obtained from: Monzoon Networks.
	Thanks to Andre Oppermann, May 2001.
2001-10-30 07:28:17 +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
Bruce Evans
4b8db4a299 Backed out rev.1.8. Rev.1.8 was just to support a bogus unused include
in ng_tty.c.
2001-05-17 11:54:30 +00:00
John Hay
0d1b4aef96 Move the isa parts to a separate file. 2001-04-16 13:20:39 +00:00
Julian Elischer
e548a5c513 Allow the eiface node to be made as a module (not linked into build yet) 2001-02-25 06:18:22 +00:00
Julian Elischer
6de306ecee Add a Makefile for the sample node so It can be compiled.
This helps to stop it from geting out of sync.
It is not part of the normal build but I can use it with all the others
when I make changes to netgraph to ensure it is buildable.
2001-02-25 05:34:33 +00:00
Julian Elischer
cdee49f986 Add a 'splitter' node to separate a bidirectional
packet flow into two unidirectional flows.

Part of a suite of nodes developed for packet flow control.
More to follow as I have time to port them to 5.x or
as others do so. The ipfw node will be the hardest..

Submitted by:	"Vitaly V. Belekhov" <vitaly@riss-telecom.ru>
2001-02-22 17:14:36 +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
David E. O'Brien
c68159a6d8 Use a consistent style and one much closer to the rest of /usr/src 2001-01-06 14:00:42 +00:00
Mike Smith
bb0d0a8efc Next phase in the PCI subsystem cleanup.
- Move PCI core code to dev/pci.
 - Split bridge code out into separate modules.
 - Remove the descriptive strings from the bridge drivers.  If you
   want to know what a device is, use pciconf.  Add support for
   broadly identifying devices based on class/subclass, and for
   parsing a preloaded device identification database so that if
   you want to waste the memory, you can identify *anything* we know
   about.
 - Remove machine-dependant code from the core PCI code.  APIC interrupt
   mapping is performed by shadowing the intline register in machine-
   dependant code.
 - Bring interrupt routing support to the Alpha
   (although many platforms don't yet support routing or mapping
   interrupts entirely correctly).  This resulted in spamming
   <sys/bus.h> into more places than it really should have gone.
 - Put sys/dev on the kernel/modules include path.  This avoids
   having to change *all* the pci*.h includes.
2000-12-08 22:11:23 +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
Archie Cobbs
6e8d625628 New netgraph node type ng_one2many(4). 2000-11-16 05:58:33 +00:00
Jason Evans
0384fff8c5 Major update to the way synchronization is done in the kernel. Highlights
include:

* Mutual exclusion is used instead of spl*().  See mutex(9).  (Note: The
  alpha port is still in transition and currently uses both.)

* Per-CPU idle processes.

* Interrupts are run in their own separate kernel threads and can be
  preempted (i386 only).

Partially contributed by:	BSDi (BSD/OS)
Submissions by (at least):	cp, dfr, dillon, grog, jake, jhb, sheldonh
2000-09-07 01:33:02 +00:00
Archie Cobbs
ed2dbd316a New netgraph node type for Ethernet bridging.
No ipfw support yet.
2000-09-01 01:37:13 +00:00
Sheldon Hearn
c146223678 When manual pages are moved or removed, MANX should be changed
to NOMAN.

Reported by:	bde
2000-07-24 13:52:07 +00:00
Sheldon Hearn
b601c69bdb Move the netgraph-related manual pages into share/man/man4/, as
discussed with archie.
2000-07-21 10:46:58 +00:00
Archie Cobbs
55f205ecae Build ng_ether(4) KLD. 2000-06-26 23:41:08 +00:00
Peter Wemm
64db83a8ab Use .include <bsd.kmod.mk> to get to ../../*/conf/kmod.mk instead of
encoding the relative path.
2000-05-27 01:14:33 +00:00
Archie Cobbs
5feb7588af Update man page to reflect new IPv6 hook. Simplify Makefile. 2000-05-10 16:54:40 +00:00
Sheldon Hearn
0f5fcaa3f1 Supply only one author name per instance of %A, as per mdoc.samples(7).
PR:		18465
Submitted by:	Kazu TAKAMUNE <takamune@avrl.mei.co.jp>
2000-05-10 09:49:04 +00:00
Archie Cobbs
12aef8b7e9 AUTHOR -> AUTHORS 2000-05-05 17:08:55 +00:00
Archie Cobbs
7a52493f42 Document the new statistics control messages.
Add a note about the IP header asymmetry on the "lower" hook.
2000-05-05 01:20:28 +00:00
Archie Cobbs
bec35b9a5f Move netgraph node type man pages from section 8 to section 4. 2000-05-04 17:54:37 +00:00
Peter Wemm
56ca39961b 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 not
dependent on the last buildworld to update /usr/share/mk.  This might
also make it easier to build 5.x kernels on 4.0 boxes etc, assuming
gensetdefs and config(8) are updated.
2000-05-04 12:08:52 +00:00
Peter Wemm
23f282aa31 Zap KMODDEPS line 2000-05-01 18:58:48 +00:00
Julian Elischer
ac4445057f Update the man page to reflect the recent changes to the kernel API for
netgraph.
2000-04-30 10:01:11 +00:00
Archie Cobbs
71bd3f0cc1 Only build the ng_mppc KLD if !NOCRYPT and required crypto sources exist. 2000-04-12 19:57:32 +00:00
Archie Cobbs
ee5bb5a822 Revert to previous state, plus a few cleanups pointed out by bde.
Instead, make the decision as to whether to build this KLD in ../Makefile.
2000-04-12 19:56:16 +00:00
Archie Cobbs
2a92d3584c Turn off build of ng_mppc KLD until I can figure out how to have the
Makefile correctly handle all the possible permutations (including
missing crypto sources). Suggestions welcome.
2000-04-11 17:14:48 +00:00
Archie Cobbs
8e5b414e24 Turn off MPPE encryption if NOCRYPT is defined. If neither compression
nor encryption is enabled, don't build or install anything.
2000-04-10 22:22:18 +00:00
Archie Cobbs
807a5caa14 Add ng_mppc(8) netgraph node as a KLD module.
Obtained from:  Whistle source tree
2000-04-09 21:07:39 +00:00
Philippe Charnier
46a32e616a Remove duplicate word 2000-03-26 15:24:53 +00:00
Archie Cobbs
a7dc837919 - Document updates in iface netgraph node type functionality
- Remove makefile hacks for opt_inet.h, etc: the KLD now supports
  whatever address families your kernel was compiled with automagically
2000-03-13 19:19:48 +00:00
Archie Cobbs
ef02c1e500 Fix typo.
Reported by:	Robert Swindells <swindellsr@genrad.co.uk>
2000-03-13 18:29:58 +00:00
Archie Cobbs
8081ce2ea7 Correct man page title. 2000-03-10 20:38:24 +00:00
Bill Fumerola
958b92d24d Add a little more history of when netgraph appeared in FreeBSD.
Reviewed by:	asmodai
2000-02-29 18:32:26 +00:00
Archie Cobbs
010c5481fd Work around aparent bug in the .Dv macro by eliminating some spaces.
The closing curly-brace in this line was being omitted somehow.
2000-01-17 20:10:39 +00:00
Archie Cobbs
0f9183be1b Fix typos per PR 15649. Also did some rewording for clarity.
PR:		docs/15649
Submitted by:	Kazuo Horikawa <horikawa@jp.FreeBSD.org>
2000-01-03 18:36:42 +00:00
Archie Cobbs
c01c073c4c Revert previous checkin; I incorrectly thought that it was needed
due to having an old version of bsd.kmod.mk.

Caught by:	bde
1999-12-21 20:51:34 +00:00
Julian Elischer
5129159789 Manual page style work.
Submitted by:	Alexey Zelkin <phantom@FreeBSD.org>
thanks!
1999-12-21 01:25:21 +00:00
Archie Cobbs
4fc461b343 Add reference to RFC 1702, after learning how to have "T. Li"
as an author without nroff blowing up.

Problem solved by:	fenner
1999-12-10 19:29:43 +00:00
Archie Cobbs
c4cb96e576 Update man page: BPF is supported even in the KLD version. 1999-12-09 00:25:37 +00:00
Archie Cobbs
d6e03b7f2e Fix 'make clean' 1999-12-09 00:22:34 +00:00
Archie Cobbs
add85a1d6e New netgraph node type 'pptpgre': this performs GRE encapsulation
for the PPTP protocol as specified in RFC 2637.
1999-12-08 18:55:39 +00:00
Archie Cobbs
4562620cd4 Include net/slcompress.c in the build of this module. 1999-12-08 18:51:13 +00:00
Julian Elischer
907b6f57b9 forgot .CURDIR
caught by Steven G. Kargl <kargl@troutmask.apl.washington.edu>
1999-12-04 03:52:29 +00:00
Archie Cobbs
92a3e5521f New netgraph node type, ng_bpf(8). This node type allows you to
apply bpf(4) filters to data travelling through a netgraph network.
1999-12-03 21:21:49 +00:00
Archie Cobbs
8e0788736e Update documentation to reflect new functionality. 1999-11-30 07:24:05 +00:00
Archie Cobbs
ac83689e01 Fix typo. 1999-11-30 06:47:54 +00:00
Archie Cobbs
f8307e1233 Add two new generic control messages, NGM_ASCII2BINARY and
NGM_BINARY2ASCII, which convert control messages to ASCII and back.
This allows control messages to be sent and received in ASCII form
using ngctl(8), which makes ngctl a lot more useful.

This also allows all the type-specific debugging code in libnetgraph
to go away -- instead, we just ask the node itself to do the ASCII
translation for us.

Currently, all generic control messages are supported, as well as
messages associated with the following node types: async, cisco,
ksocket, and ppp.

See /usr/share/examples/netgraph/ngctl for an example of using this.

Also give ngctl(8) the ability to print out incoming data and
control messages at any time.  Eventually nghook(8) may be subsumed.

Several other misc. bug fixes.

Reviewed by:	julian
1999-11-30 02:45:32 +00:00
Bruce Evans
6f940b3847 Removed special rules for building and cleaning device interface files
and empty options files.  The rules are now generated automatically in
bsd.kmod.mk.  Cleaned up related things ($S and ${CLEANFILES}).
1999-11-28 18:53:47 +00:00
Julian Elischer
6a192c5e8c Document the requirement for root privileges. 1999-11-21 23:19:13 +00:00
Julian Elischer
93abfafb05 Document new feature (support for write(2) when 1 hook attached). 1999-11-21 12:03:00 +00:00
Archie Cobbs
8d6703c6be Update references. 1999-11-19 04:41:09 +00:00
Archie Cobbs
01e86e31a7 Miscellaneous edits. 1999-11-19 04:40:34 +00:00
Archie Cobbs
326c3126d5 Add reference to ng_pppoe(8). 1999-11-19 04:32:28 +00:00
Archie Cobbs
debfa5183b Update to reflect changed functionality. 1999-11-19 04:30:26 +00:00
Archie Cobbs
8be226ccde Add reference to new netgraph node type "ksocket". 1999-11-16 23:27:37 +00:00
Archie Cobbs
f7045ac0eb New Netgraph node type "ksocket".
Obtained from:  Whistle source tree
1999-11-16 23:27:10 +00:00
Archie Cobbs
71cb548de4 Update to reflect changes in the node type. 1999-11-10 06:17:51 +00:00
Archie Cobbs
db8cd7ce1f Update to better reflect reality. 1999-11-08 03:14:58 +00:00
Archie Cobbs
aa5297630e Add missing documentation for the two control messages supported
by this node type.
1999-11-08 03:14:15 +00:00
Archie Cobbs
d1f183b5d8 Add some more clarification. 1999-11-08 03:13:28 +00:00
Julian Elischer
a14a0223ae Stop nroff from complaining about the freeBSD version..
Also some updates to the vjc node man page.
1999-11-07 05:16:27 +00:00
Julian Elischer
41d4aa314c Bring the man page for netgraph socket nodes up to date. 1999-11-06 21:07:32 +00:00
Julian Elischer
5cb03e7cb2 Turn on the pppoe node module 1999-11-06 19:47:03 +00:00
Julian Elischer
d8b4f68815 bpf need no longer be an option 1999-11-01 00:48:06 +00:00
Mike Pritchard
7f9d26bd9d Fix some spelling errors. 1999-10-30 20:30:19 +00:00
Archie Cobbs
10c2a9dbbd Revamped and more useful PPP node type, supporting multi-link PPP directly. 1999-10-29 22:30:26 +00:00
Julian Elischer
235d5c76dc Slight touchups noticed after checkin. 1999-10-29 06:00:11 +00:00
Julian Elischer
0332e30b19 Add a man page for the pppoe node. Includes sample code. 1999-10-29 05:56:00 +00:00
Matthew Dillon
b130e2d2dc Put tty back in, problem was due to cvsup mess on freefall. 1999-10-24 03:01:41 +00:00
Matthew Dillon
576801718f Temporarily remove 'tty' netgraph sub module until it can be made
to compile.
1999-10-23 18:53:46 +00:00
Julian Elischer
b58a8a3b1d Now that Netgraph is in the system there are some cleanups we can do.
Also save a slightly closer to completion version of the PPPOE code.

Submitted by: Archie Cobbs <archie@freebsd.org>
1999-10-23 04:28:11 +00:00
Julian Elischer
4cf49a4355 Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from:  Whistle CVS tree
1999-10-21 09:06:11 +00:00
Julian Elischer
6ca8cb1e72 Test commit of first Netgraph file 1999-10-21 07:27:47 +00:00