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>