From owner-freebsd-hackers@FreeBSD.ORG Fri Jun 23 10:12:22 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org 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 C28DC16A47B for ; Fri, 23 Jun 2006 10:12:22 +0000 (UTC) (envelope-from jchoque@tlmat.unican.es) Received: from luna.tlmat.unican.es (luna.tlmat.unican.es [193.144.186.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 24E4243D48 for ; Fri, 23 Jun 2006 10:12:21 +0000 (GMT) (envelope-from jchoque@tlmat.unican.es) Received: from Altair (altair.tlmat.unican.es [193.144.186.43]) by luna.tlmat.unican.es (8.12.11/8.12.11) with ESMTP id k5N9ndgw007279 for ; Fri, 23 Jun 2006 11:49:40 +0200 From: "Johnny Choque" To: Date: Fri, 23 Jun 2006 12:12:17 +0200 Message-ID: <006701c696ad$81b41850$2bba90c1@Altair> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 thread-index: AcaWrYFnWtXOi3fMRcegmX6lFp410w== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Subject: Virtual device driver programming X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Jun 2006 10:12:22 -0000 Hi all, I'm interested in programming a virtual network device driver -Linux concept- on a FreeBSD box. The idea behind of this sort of interface is the following: "From the kernel's point of view, a network interface is a software object that can process outgoing packets, and the actual transmission mechanism remains hidden inside the interface driver. Even though most interfaces are associated to physical devices (or, for the loopback interface, to a software-only data loop), it is possible to design network interface drivers that rely on other interfaces to perform actual packet transmission. The idea of a ``virtual'' interface can be useful to implement special-purpose processing on data packets while avoiding to hack with the network subsystem of the kernel." I know that is not too complicated to program this sort of functionality in linux but I would like to do it over freebsd, has anybody some idea on how could I start doing it? I've been searching in the freebsd handbook but I haven't found anything really relevant. Regards, Johnny PS: You can find more information about virtual network device driver in the following link: http://www.linux.it/~rubini/docs/vinter/vinter.html