Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Jul 2004 10:20:45 -0700
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        "Sifalakis, Manolis" <mjs@v6testbed.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Communication driver framework ?
Message-ID:  <20040715172045.GC2162@Odin.AC.HMC.Edu>
In-Reply-To: <40F6ADBE.80809@v6testbed.net>
References:  <40F6ADBE.80809@v6testbed.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--DIOMP1UsTsWJauNi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Jul 15, 2004 at 05:15:58PM +0100, Sifalakis, Manolis wrote:
> Hello all,
>=20
> I am new to the list as well as "under the FreeBSD-hood" and this is my=
=20
> first posting so pls forgive me if this has been asked 1000 times before=
=20
> (I did not manage to find it in the archive).
>=20
> We re planning to implement a programmable router framework for FreeBSD,=
=20
> and basically we need to have a piece of code between the NIC driver(s)=
=20
> and the protocol stack to pull out and push (back) in the forwarding=20
> path network packets (and possibly do some low level routing among the=20
> NIC interfaces there).
>=20
> As a result I would like to ask if there is a communications driver=20
> framework similar to NDIS -bleah- (in M$ Win) or STREAMS (in the -early-=
=20
> ATT unix flavors), in FreeBSD. It would be significantly more efficient=
=20
> and portable if we did not have to hard code in the kernel our=20
> "intermediate" driver.

Netgraph can almost certaintly do what you want.  You'd probably
build a module that attached the per nic-module.  You might have to
implement per interface nodes if you need particular pseudo devices to
be supported, but that's not hard.

Here is a somewhat old article on netgraph:

http://www.daemonnews.org/200003/netgraph.html

The code for most netgraph modules lives under sys/netgraph.

-- Brooks

--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

--DIOMP1UsTsWJauNi
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFA9rzsXY6L6fI4GtQRAtmAAKCi2SspaASkLqkvFBqYaQ9OhMknbACgjj0W
emJFf9p54+zgUdEA7XEhQRE=
=Cbnu
-----END PGP SIGNATURE-----

--DIOMP1UsTsWJauNi--



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