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
brian
431437a300
Provide an empty name to getsockname() if one hasn't been set up.
...
Ok'd (for now) by: julian
1999-11-11 20:08:04 +00:00
archie
d434d50084
More bug fixes.
1999-11-10 23:56:57 +00:00
archie
a67be11514
Minor change to the configuration of number of slots.
1999-11-10 23:56:19 +00:00
archie
3ea3ca1586
Fix some bugs; seems to work now. Minor change to the configuration field
...
to make the number of compression slots parameter consistent with what
IPCP negotiates (ie, the number of slots - 1).
1999-11-10 06:17:14 +00:00
archie
5db8057a9f
Move handling of the address and control fields into the PPP node;
...
they belong there because they are device independent.
Also some other misc. fixes.
1999-11-10 06:15:22 +00:00
julian
47eb47edc4
Remove a null pointer reference
...
Submitted by: Brian Somers (brian@freebsd.org )
1999-11-09 00:31:04 +00:00
archie
f251e6d026
Fix crash when trying to duplicate a NULL meta.
1999-11-08 03:11:22 +00:00
archie
abdec24828
Get rid of the 'sync2' hook, which was a hack. Instead, just
...
directly detect outgoing LCP frames and do the right thing.
1999-11-08 03:10:20 +00:00
archie
98adf4da40
Add support for the IFF_MULTICAST flag. There's not
...
much to do because we are a point-to-point interface.
Submitted by: phk
1999-11-08 03:08:59 +00:00
julian
60fe2f9482
Be more accepting about the format of node IDs.
...
Submitted by: Brian Somers <brian@Awfulhak.org>
1999-11-07 04:18:20 +00:00
julian
f43a3631cf
Move a structure Netstat needs back out to ng_socketvar.h (yech)
1999-11-06 19:27:04 +00:00
archie
6e79155735
Fix several bugs found in the first bit of testing.
1999-11-06 02:09:17 +00:00
julian
c32e952e38
Re-add this till I can fix netstat to not need it.
1999-11-05 20:04:00 +00:00
julian
f0855b6e05
Add the option for a socket node to shut down when the last hook
...
to an adjoining node is removed. Also move file scope definitions back
within the file, and remove un-needed include file.
1999-11-05 02:18:08 +00:00
phk
82e6bb0bba
Move isfoo() and friends to the newly created sys/ctype.h.
...
Urged by: bde
1999-11-03 17:54:26 +00:00
archie
43ef9eb6f8
Add statistics counters to "tee" netgraph node type.
1999-11-02 23:31:49 +00:00
archie
4d07ea31a9
Simplify checking/parsing of strings using strtoul(), isdigit(), etc.
1999-11-02 23:18:01 +00:00
archie
9b69b874d8
Fix some bugs in MP allocation routine when links are non-equivalent.
1999-11-01 19:44:28 +00:00
julian
44436e85d3
Add typedefs for node methods
...
Suggested by phk.
1999-11-01 10:00:40 +00:00
julian
0e9f32b035
braino in sample code.
...
picked up by phk.
1999-11-01 05:27:44 +00:00
julian
5cb6554019
Start making the contents of the generic framework opaque to the nodes.
...
This step: IDs are no-longer the address of the node.
Reviewd by: Archie@freebsd.org
1999-11-01 00:31:14 +00:00
archie
48fac00c95
Revamped and more useful PPP node type, supporting multi-link PPP directly.
...
This is one piece of the grand unified PPP daemon concept, whereby using
netgraph nodes enables PPP data to be handled completely in kernel land,
while leaving negotiation/control to be handled by a single user land
daemon, no matter what the link type(s).
This is a safety checkin only; it compiles, but is utterly untested.
Concept reviewed by: julian, brian
1999-10-29 22:30:03 +00:00
julian
68ee601d4d
When the session is running, don't include the ethernet header in the length of the payload.
1999-10-29 04:32:27 +00:00
julian
b370aacbf9
fix typo
1999-10-27 11:53:53 +00:00
julian
ff45a9511b
The node goes away when last session disconnects or when disconnected from
...
the ethernet node.
1999-10-27 11:48:35 +00:00
julian
5b20376c8c
change PPPoE occurences to pppoe. Not JUST a cosmeting change.
...
some occurrances needed to be the same as the filenmnae which was pppoe
not PPPoE.
1999-10-27 11:29:51 +00:00
julian
a55e4bf224
cleanups regarding misused m_pullup() and similar.
1999-10-26 22:33:54 +00:00
julian
6ef2575af3
Send the negotiated session ID on our packets (DUH!).
1999-10-26 11:26:23 +00:00
julian
28c9969894
Send a PADT message to the peer when a session is closed down.
1999-10-26 11:04:25 +00:00
julian
7e5123180f
This one actually gets session data to the waiting ppp daemon
...
(well, my test program at least).
1999-10-26 09:25:18 +00:00
julian
5050a27acd
This one actually negotiated it's way into a session.
...
still tuning to be done.
1999-10-26 08:08:48 +00:00
julian
7502cd6005
Bring ng_iface up-to-date with what has happenned to the bpf code.
1999-10-25 22:36:39 +00:00
julian
7e43d1cf55
more fixes, braino's, typo's, etc.
1999-10-23 22:46:38 +00:00
julian
ec1b7a3596
A version of the pppoe code ellicits a response from the ISP end
...
(but still not quite right)
1999-10-23 15:15:42 +00:00
julian
a1771a35dd
dang, deleted a line
1999-10-23 04:52:54 +00:00
julian
4376a3e634
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
d894cf1c17
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