Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Apr 1999 21:39:01 -0700 (PDT)
From:      Archie Cobbs <archie@whistle.com>
To:        kkennawa@physics.adelaide.edu.au (Kris Kennaway)
Cc:        net@FreeBSD.ORG
Subject:   Re: NetGraph and PPP
Message-ID:  <199904290439.VAA89472@bubba.whistle.com>
In-Reply-To: <Pine.OSF.4.10.9904260101230.25421-100000@bragg> from Kris Kennaway at "Apr 26, 99 01:06:09 am"

next in thread | previous in thread | raw e-mail | index | archive | help
Kris Kennaway writes:
> I've been taking a look at the Whistle netgraph code, and it looks very
> interesting. What is the status of work on the mpd code wrt netgraph
> integration?
> 
> I'm interested in doing some work on this - can anyone suggest a simple
> project I can cut my teeth on?

Mpd works great with netgraph, as witnessed by thousands of InterJets
out in the field :-)

For our ISDN driver we took some proprietary 3rd party code (that we
can't donate to FreeBSD obviously) and wrapped it up in a netgraph
node. It's very convenient. For example, we could do frame relay
over ISDN very easily if we wanted to (though nobody does that).

Actually we wrote two nodes, the ISDN device node (which has three
hooks: B1, B2, and D as you might expect) and another node that
represents the ISDN stack.

For the ISDN stack node, control messages are used to do things like
set the switch type and SPIDs, dial, answer, etc. It hooks up to the
device node obviously.

A great project in this area would be to take the i4b code and
make it look like a netgraph node that presents the same "API",
ie. an ISDN stack node. Then we already have an mpd device type
that knows how to use this node for PPP (which we can donate).
I can send you the node's header file if you're interested in
tackling this. Then mpd will work with i4b.

Also, as well as netgraphifying the "top end" of i4b, we could
netgraphify the "bottom end" device drivers to make all the
different hardware types supported by i4b look like netgraph nodes.
Ours (for the Siemens IPAC chip in S and U interface configurations)
could then plug directly into i4b. We could probably donate this too.

Other ideas for netgraph nodes we've had..

  1.  Convert ipfw into a netgraph node

  2.  Write a node type that implements DPF:

        http://www.pdos.lcs.mit.edu/~engler/dpf.html

  3.  Revamped PPP node with separate node types for compression,
      encryption, etc. This is probably my next project, to push
      all PPP data packet processing into the kernel and obliviate
      the need for the existing kernel PPP drivers.

  4.  Make the entire networking stack netgraph based, supporting
      dynamic loading of networking stacks such as IP, IPX, etc.
      Similarly, IP protocols themselves (TCP, UDP, GRE, etc) could
      be netgraph nodes.

I think #4 is a bit of a pipe dream.. for one, it would never pass
the DG filter :-)

Our request to put the netgraph source into the FreeBSD tree has
been rejected (so far)... so the current patch set may need tweaking
to compile right now. More people using and playing with it might
bring it's demand over the threshold... this is a kind of chicken-and-egg
problem in itself.

-Archie

___________________________________________________________________________
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904290439.VAA89472>