Commit Graph

87 Commits

Author SHA1 Message Date
archie
d3b6f2b7d9 Macro call to ng_send_dataq() should have been to ng_send_data() instead. 2000-05-01 23:34:15 +00:00
archie
5d5ea68a69 Use 'type_name' structure field instead of 'typename', which is
a C++ reserved work.

Add a ng_copy_meta() function.
2000-05-01 23:29:19 +00:00
peter
21896b3609 A temporary band-aid for ng_base. It works for some people, a better
fix will follow.

Submitted by:   Gary Jennejohn <garyj@muc.de>
2000-05-01 21:26:50 +00:00
peter
70a10fae0c Minimal tweak to make the ng_XXX modules depend on netgraph so that they
see its symbols and link ok.
2000-04-29 13:36:07 +00:00
julian
c823368bff Two simple changes to the kernel internal API for netgraph modules,
to support future work in flow-control and 'packet reject/replace'
processing modes.

reviewed by: phk, archie
2000-04-28 17:09:00 +00:00
phk
43018e3fb6 Remove ~25 unneeded #include <sys/conf.h>
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
archie
d6596bcad2 Fix uninitialized variable.
PR:		kern/17911
Submitted by:	Tom Pavel <pavel@alum.mit.edu>
2000-04-12 17:29:33 +00:00
archie
119898c763 A netgraph node that implements Microsoft Point-to-Point compression
(MPPC) and Microsoft Point-to-Point encryption (MPPE) protocols.

Note: the MPPC part is disabled as it requires proprietary files.

Obtained from:	Whistle source tree
2000-04-09 21:04:55 +00:00
archie
68826a1850 Call bpfdetach() before going away. 2000-03-21 01:42:56 +00:00
phk
85c09f4445 Newer ciscos have become more picky, and will not accept the MULTICAST bit
being set for unicast packets.
2000-03-17 17:06:33 +00:00
archie
008dd6112b Updates to the ng_iface(8) netgraph node type:
- Make iface nodes removable on shutdown since FreeBSD now supports
    removable interfaces
  - Simplify supporting new protocols using family_enqueue(); add a
    few new ones including IPv6
  - Add support for configurable interface mode using new
    NGM_IFACE_POINT2POINT and NGM_IFACE_BROADCAST control messages
  - Remove NGM_IFACE_GET_IFADDRS control message; it just duplicates
    the functionality of SIOCGIFCONF
2000-03-13 19:18:10 +00:00
archie
8b895c9455 Some minor prototype tweaks. 2000-03-13 19:05:11 +00:00
archie
5621bcbfd1 Use snprintf() instead of sprintf(). 2000-03-13 18:54:10 +00:00
archie
bff10fbd33 Fix typo: "ng_parse_fixedsstring_info" -> "ng_parse_fixedstring_info" 2000-03-13 18:50:38 +00:00
archie
90a547357d Add control message ASCII conversion for this node type. 2000-01-27 01:32:53 +00:00
archie
383dbdb9af Fix a few obscure memory leaks. 2000-01-05 20:36:07 +00:00
archie
730cef58af Fix race condition caused by missing splnet()'s. 2000-01-04 22:06:08 +00:00
peter
a5782dd663 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 04:46:21 +00:00
archie
73a7de0123 Fix bugs in the MP fragment reassembly code that can cause a panic. 1999-12-17 23:29:04 +00:00
archie
28ac486495 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
julian
c2b6c6a872 Remove a bunch of un-needed includes.
Submitted by: phk@freebsd.org
1999-12-07 05:50:48 +00:00
archie
98e110b391 Change definition of NG_BPF_HOOKPROG_SIZE() so as not to require
a structure pointer, just the number of BPF instructions.
1999-12-06 18:43:32 +00:00
archie
de3375808e 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
bab0449b1e Add a new function ng_findhook() for finding a node's hook;
if the node type provides a more efficient implementation than
the normal linear scan, use it.

Reviewed by:	julian
1999-12-03 21:17:30 +00:00
archie
8a5973672d Fix bug parsing 32 bit integers on machines where sizeof(long) == 4. 1999-12-03 20:27:33 +00:00
archie
0a65bcc0b9 Use m_dup() instead of m_copypacket() to duplicate the mbuf chain.
This fixes a bug where if the original packet was modified downstream
of the tee node, then the copy could get modified too.
1999-12-01 23:11:58 +00:00
archie
0303f37809 Add more comments describing how to use parse types and how they work. 1999-12-01 19:41:15 +00:00
archie
944f405be6 Show how to supply a struct ng_cmdlist for (de)asciification
of control messages.

Suggested by:	julian
1999-12-01 19:40:37 +00:00
julian
3d178fa093 change intial timeout for session negotiation from 1 to 2 seconds.
One second was being hit too many times in normal situations.
1999-12-01 08:05:56 +00:00
archie
f95f4dac4c 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
archie
b600a98c28 Change the prototype of the strto* routines to make the second
parameter a char ** instead of a const char **.  This make these
kernel routines consistent with the corresponding libc userland
routines.

Which is actually 'correct' is debatable, but consistency and
following the spec was deemed more important in this case.

Reviewed by (in concept):	phk, bde
1999-11-24 01:03:08 +00:00
julian
0e36b2a986 oops cut-n-paste error 1999-11-21 23:11:52 +00:00
julian
fd9124327f It's time to only allow root to manipulate netgraph nodes.
(I meant to do this before checking in to FreeBSD and forgot)
1999-11-21 23:06:30 +00:00
julian
e9f2cca55e Hopefully the last patch from Brian to get server side PPPoE working.
remove a 'free' that is no longer needed.
1999-11-21 22:18:54 +00:00
julian
5144b94763 Fixes from brian. With some changes from me.
Allows FreeBSD to run as a PPPOE server
One patch still not included.
1999-11-21 10:43:05 +00:00
archie
426a4bdbb8 Revert previous commit now that 'acfcomp' has been removed from
libnetgraph/debug.c to fix make world.
1999-11-19 20:42:14 +00:00
julian
c30011b12a Add a field archie forgot to merge in from out sources. 1999-11-19 20:32:46 +00:00
archie
ff3fc1ace3 Use 'struct ng_xxx_private' instead of 'struct private' to help gdb
disambiguate when debugging.
1999-11-19 05:50:29 +00:00
archie
5964efbc0c Fix bug where hook pointers were not getting updated on disconnection. 1999-11-19 05:49:54 +00:00
archie
3e19d32258 Move misplaced #define. 1999-11-19 05:49:18 +00:00
archie
4a3c2b3a2b Add some safety using KASSERT() and splnet(). 1999-11-19 05:45:11 +00:00
archie
def8efaae7 Use KASSERT() instead of old #ifdef DIAGNOSTICS.
Add more INVARIANTS-enabled sanity checking.
1999-11-19 05:43:33 +00:00
archie
6b3973fdbd Remove the address and control field compression functionality of this
node type.  ACF is device independent and therefore belongs in ng_ppp.c
(which already implements it).
1999-11-19 04:27:53 +00:00
archie
16a17349f3 Rename 'struct private' to 'struct ng_xxx_private' to allow gdb
to disambiguate when debugging.
1999-11-19 04:25:39 +00:00
archie
55a5f9d015 When allocating a new PKTHDR mbuf, always set m->m_pkthdr.rcvif = NULL. 1999-11-17 17:41:22 +00:00
archie
3214640d2a New netgraph node type "ksocket".
Obtained from:	Whistle source tree
1999-11-16 23:25:11 +00:00
archie
117f8c3763 More bug fixes for the VJ Compression node. Seems to work now (really). 1999-11-15 20:02:58 +00:00
julian
9a4599bc1d Small fixes from Brian for the Server side of PPPoE. 1999-11-15 04:03:34 +00:00
julian
29327260a4 Rework some tag handling, prompted by Brian Somers. 1999-11-14 17:26:58 +00:00
julian
7cf1dca477 Try handle missing packet tags better.
Inspired by changes suggested by brian Somers.
1999-11-14 10:21:26 +00:00