RFC: ported NetBSD if_bridge

Julian Elischer julian at elischer.org
Sat Apr 17 01:02:06 PDT 2004

On Sat, 17 Apr 2004, Mark Nipper wrote:

> On 17 Apr 2004, Julian Elischer wrote:
> > people looking to make or port "neat" network features would do well to
> > first learn about all the existing features, including netgraph
> > which has so many hidden features that you can just about 
> > re-impliment several standard network features using it..
> 	Isn't this part of the problem?  Hidden features?  I'm

It's not so much that they are hidden (bad wording on my part), rather
there are just so many ways to combine the parts that one can't possibly
be expected to enumerate the possibilities..

"list all the things you can make from lego"..

There are man pages for each of the node types and examples, but
we can't list the possible uses.

> all for reading the manual and even going to source if necessary
> to uncover some little known or even worse, undocumented feature,
> but it doesn't make those features very accessible to the masses.
> The OpenBSD bridge interfaces are all well documented and the
> examples make sense out of just about every situation you would
> want to use them in.  Not to mention the PF integration is
> virtually flawless.
> 	I've heard of people doing pretty much anything and
> everything via ng, including encapsulating swiss cheese in
> ethernet frames just for the fun of it.  But I don't think anyone
> is going to claim the ins and outs of ng are straightforward by
> any means.

What's so difficult?. you connect the bits together..
learn the characteristics of each type of building block
and stick them together in the order required..

hmm we want to caputure ehternet packets, filter them, bridge them 
encapsulate one bridge leg in UDP and send another to userland..

that means I need an ng_ether node, an ng_etf, a ng_bridge, an
ng_ksocket and an ng_socket..
plug plug plug... done...
and if there isn't a node to do what you want..

cd /sys/netgraph
cp ng_sample.c ng_mytype.c
vi mytype.c
[hack hack]

submit back to tree....

> 	Having a system which the other BSD's use seems to make
> good sense.  And as long as it is something which is either
> optional or simply doesn't get in the way, should it really
> matter if you don't choose to use it?

it's ok to have it but it distracts developers from 
improving other things.

> -- 
> Mark Nipper                                                e-contacts:
> Computing and Information Services                      nipsy at tamu.edu
> Texas A&M University                        http://ops.tamu.edu/nipsy/
> College Station, TX 77843-3142     AIM/Yahoo: texasnipsy ICQ: 66971617
> (979)575-3193                                      MSN: nipsy at tamu.edu
> GG/IT d- s++:+ a- C++$ UBL+++$ P--->+++ L+++$ E---
> W++ N+ o K++ w(---) O++ M V(--) PS+++(+) PE(--) Y+
> PGP++(+) t 5 X R tv b+++ DI+(++) D+ G e h r++ y+(**)
> ------END GEEK CODE BLOCK------
> ---begin random quote of the moment---
> "Fire and brimstone coming down from the skies!  Rivers and seas
> boiling!  Forty years of darkness, earthquakes, volcanoes, the
> dead rising from the grave!  Human sacrifice, dogs and cats
> living together...  Mass hysteria!"
>  -- Dr. Peter Venkman (Bill Murray in "Ghostbusters", 1984)
> ----end random quote of the moment----

More information about the freebsd-current mailing list