Archie Cobbs
b715c697bf
Add hook for IPv6.
2000-05-10 16:54:00 +00:00
Archie Cobbs
9bee7adfa8
Fix a couple of bugs:
...
- Properly handle 32 bit sequence numbers when they wrap around
- Don't drop GRE packets with stale ACK numbers, just ignore the ACK
- Close race between node being shutdown and timer going off
Also add support for lots of statistics, and control message ASCIIfication
2000-05-05 01:11:39 +00:00
Archie Cobbs
1bdebe4d45
Don't assume *lasthook is initialized in ng_path2node().
2000-05-02 17:09:46 +00:00
Archie Cobbs
a9b3dca54d
Fix broken multi-link fragment reassembly algorithm.
...
Add hook for IPv6. Misc cleanups.
PR: kern/16335
2000-05-02 00:09:18 +00:00
Archie Cobbs
dce9390ed0
Macro call to ng_send_dataq() should have been to ng_send_data() instead.
2000-05-01 23:34:15 +00:00
Archie Cobbs
a096e45ab9
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 Wemm
cc3daab531
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 Wemm
99ff81767f
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 Elischer
a4ec03cfa8
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
Poul-Henning Kamp
3389ae9350
Remove ~25 unneeded #include <sys/conf.h>
...
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
Archie Cobbs
52ec4a0370
Fix uninitialized variable.
...
PR: kern/17911
Submitted by: Tom Pavel <pavel@alum.mit.edu>
2000-04-12 17:29:33 +00:00
Archie Cobbs
af7ab18437
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 Cobbs
382379f8a8
Call bpfdetach() before going away.
2000-03-21 01:42:56 +00:00
Poul-Henning Kamp
63909a9015
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 Cobbs
15ba31b9ad
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 Cobbs
9a9a26fd5a
Some minor prototype tweaks.
2000-03-13 19:05:11 +00:00
Archie Cobbs
af207f2160
Use snprintf() instead of sprintf().
2000-03-13 18:54:10 +00:00
Archie Cobbs
c1b9e5f25b
Fix typo: "ng_parse_fixedsstring_info" -> "ng_parse_fixedstring_info"
2000-03-13 18:50:38 +00:00
Archie Cobbs
5c63f81fd4
Add control message ASCII conversion for this node type.
2000-01-27 01:32:53 +00:00
Archie Cobbs
4c641908e9
Fix a few obscure memory leaks.
2000-01-05 20:36:07 +00:00
Archie Cobbs
4164c44770
Fix race condition caused by missing splnet()'s.
2000-01-04 22:06:08 +00:00
Peter Wemm
664a31e496
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 Cobbs
1e7a9f724c
Fix bugs in the MP fragment reassembly code that can cause a panic.
1999-12-17 23:29:04 +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
Julian Elischer
647b86df6e
Remove a bunch of un-needed includes.
...
Submitted by: phk@freebsd.org
1999-12-07 05:50:48 +00:00
Archie Cobbs
ab0d3c94db
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 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
899e9c4e44
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 Cobbs
2076235ada
Fix bug parsing 32 bit integers on machines where sizeof(long) == 4.
1999-12-03 20:27:33 +00:00
Archie Cobbs
3fae25a8a6
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 Cobbs
63e2ac54d1
Add more comments describing how to use parse types and how they work.
1999-12-01 19:41:15 +00:00
Archie Cobbs
fa200997c8
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 Elischer
d0fef8084f
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 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
Archie Cobbs
25792ef324
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 Elischer
aa548c6abe
oops cut-n-paste error
1999-11-21 23:11:52 +00:00
Julian Elischer
cae912fcc8
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 Elischer
490ccf9c5a
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 Elischer
6faf164ce9
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 Cobbs
046eea23cf
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 Elischer
0d28d9ea80
Add a field archie forgot to merge in from out sources.
1999-11-19 20:32:46 +00:00
Archie Cobbs
0e97a08fe9
Use 'struct ng_xxx_private' instead of 'struct private' to help gdb
...
disambiguate when debugging.
1999-11-19 05:50:29 +00:00
Archie Cobbs
62838fae89
Fix bug where hook pointers were not getting updated on disconnection.
1999-11-19 05:49:54 +00:00
Archie Cobbs
da0929306d
Move misplaced #define.
1999-11-19 05:49:18 +00:00
Archie Cobbs
19bff684a4
Add some safety using KASSERT() and splnet().
1999-11-19 05:45:11 +00:00
Archie Cobbs
b2da83c2f5
Use KASSERT() instead of old #ifdef DIAGNOSTICS.
...
Add more INVARIANTS-enabled sanity checking.
1999-11-19 05:43:33 +00:00
Archie Cobbs
19a52c592d
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 Cobbs
3a58352eb0
Rename 'struct private' to 'struct ng_xxx_private' to allow gdb
...
to disambiguate when debugging.
1999-11-19 04:25:39 +00:00
Archie Cobbs
4e256e6e1b
When allocating a new PKTHDR mbuf, always set m->m_pkthdr.rcvif = NULL.
1999-11-17 17:41:22 +00:00
Archie Cobbs
cb3c7a5d3b
New netgraph node type "ksocket".
...
Obtained from: Whistle source tree
1999-11-16 23:25:11 +00:00