Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Feb 2004 00:46:02 -0800
From:      Luigi Rizzo <rizzo@icir.org>
To:        Alexey Dokuchaev <danfe@nsu.ru>
Cc:        Dag-Erling Sm?rgrav <des@des.no>
Subject:   Re: cvs commit: src/sys/contrib/pf/net if_pflog.c if_pflog.h if_pfsync.c if_pfsync.h pf.c pf_ioctl.c pf_norm.c pf_osfp.c pf_table.c pfvar.h src/sys/contrib/pf/netinet in4_cksum.c
Message-ID:  <20040227004602.A73084@xorpc.icir.org>
In-Reply-To: <20040227083630.GC54056@regency.nsu.ru>; from danfe@nsu.ru on Fri, Feb 27, 2004 at 02:36:30PM %2B0600
References:  <200402260234.i1Q2YDx1014240@repoman.freebsd.org> <20040226060126.GA70201@troutmask.apl.washington.edu> <20040226080517.GA29763@cat.robbins.dropbear.id.au> <20040226015016.B23674@xorpc.icir.org> <403DC956.8EA364B2@freebsd.org> <20040226071123.A31631@xorpc.icir.org> <565913D0-68E2-11D8-AE91-000A95AD0668@errno.com> <xzpptc10vvv.fsf@dwp.des.no> <20040227083630.GC54056@regency.nsu.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 27, 2004 at 02:36:30PM +0600, Alexey Dokuchaev wrote:
...
> > The ideal solution would be to convert the entire networking stack to
> > netgraph nodes; we could then insert filter nodes at any point in the
> > graph.

I believe this (convert the entire networking stack to netgraph
nodes) is completely unfeasible.
There are interactions among subsystems all over the place.
The routing subsystem is used by all protocols at different
layers (arp, ipv4 and ipv6, probably more). TCP knows it runs
on top of IP and pokes into its data structures below. It also
plays with the socket buffers on the layer above.

netgraph is nice when you have to deal with packets, but when
interactions become more complex the packet API supplied
by netgraph is not suitable anymore.

	cheers
	luigi

> That idea was attracting my attention for quite some time, probably
> since when emax' bluetooth stuff hit the tree.  It seems the most
> generic and coherent approach; especially provided that all core
> functionality is already implemented and well-tested, and there are lots
> of real-life NG-based solutions already available that come with both
> stock FreeBSD and from third parties.  I'm also wondering how far is it
> possible to push NG usage into the kernel; e.g. can USB stack be
> converted to it (seeing analogy with bluetooth here)?
> 
> ./danfe



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