Date: Mon, 10 Mar 2008 18:38:16 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-hackers@freebsd.org Subject: Re: Documentation on writing a custom socket Message-ID: <20080310183324.S70549@fledge.watson.org> In-Reply-To: <200803091027.39843.hselasky@c2i.net> References: <200803081133.02575.hselasky@c2i.net> <20080308171435.J88526@fledge.watson.org> <200803091027.39843.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 9 Mar 2008, Hans Petter Selasky wrote: > On Saturday 08 March 2008, Robert Watson wrote: >> On Sat, 8 Mar 2008, Hans Petter Selasky wrote: > >> For example, do you anticipate using or even needing the routing >> facilities, and how might you map ISDN telephony parts into the normal >> network stack infrastructure of addresses, routing, interfaces, etc? > > ISDN is very simple. In the ISDN world there is a term called TEI which is > the Terminal Entity Identifier. This kind of like an IP address. > > Besides from the signalling there are 2 B-channels which can transport data > or audio. One of my goals is to achive zero copy when moving data to/from an > ISDN line and also in combination to Voice over IP. Currently data is moved > through userland (Asterisk typically) which is usable in the short term, but > in the long run I want this extra copying removed. The idea is that I can > route [IP] packets (mbufs) through various filters in the kernel without the > need for copy. While I'm not opposed to the idea in principle, I would recommend thinking very carefully before committing to the protocol stack approach as it comes with a lot of maintenance baggage and is a pretty heavy-weight activity. The reason to do that instead of just doing a custom device stack that plugs into the network stack only where it intersects with, say, encapsulated IP, would be if you really need to expose a full socket abstraction to userspace. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080310183324.S70549>