From owner-freebsd-hackers@FreeBSD.ORG Thu Jul 15 17:20:46 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 10BA016A4CE for ; Thu, 15 Jul 2004 17:20:46 +0000 (GMT) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC88443D48 for ; Thu, 15 Jul 2004 17:20:45 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (IDENT:brdavis@localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.12.10/8.12.10) with ESMTP id i6FHKjOF013921; Thu, 15 Jul 2004 10:20:45 -0700 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.12.10/8.12.3/Submit) id i6FHKjlo013919; Thu, 15 Jul 2004 10:20:45 -0700 Date: Thu, 15 Jul 2004 10:20:45 -0700 From: Brooks Davis To: "Sifalakis, Manolis" Message-ID: <20040715172045.GC2162@Odin.AC.HMC.Edu> References: <40F6ADBE.80809@v6testbed.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="DIOMP1UsTsWJauNi" Content-Disposition: inline In-Reply-To: <40F6ADBE.80809@v6testbed.net> User-Agent: Mutt/1.5.4i cc: freebsd-hackers@freebsd.org Subject: Re: Communication driver framework ? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jul 2004 17:20:46 -0000 --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--