From owner-freebsd-net Wed Feb 28 3:23:58 2001 Delivered-To: freebsd-net@freebsd.org Received: from cobweb.example.org (par-ilm-dhcp1-vl132-24.cisco.com [144.254.57.219]) by hub.freebsd.org (Postfix) with SMTP id 1EEA437B71A for ; Wed, 28 Feb 2001 03:23:54 -0800 (PST) (envelope-from molter@tin.it) Received: (qmail 1757 invoked by uid 1000); 28 Feb 2001 11:23:44 -0000 Date: Wed, 28 Feb 2001 12:23:44 +0100 From: Marco Molteni To: freebsd-net@freebsd.org Subject: How to implement a transport protocol with netgraph? Message-ID: <20010228122343.A425@cobweb.example.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi all, I have to implement a kernel version of the transport protocol SCTP (Stream Control Transmission Protocol, RFC 2960), plus a socket interface to it as in draft-ietf-stewart-sctpsocket-sigtran-01.txt (the RFC has an ad hoc user interface). It seems to me that the modularity of netgraph would help a lot in this project, as opposed to go hacking half the kernel networking stack to put SCTP in it (and yes, this is my first big project in kernel land). I read the netgraph blueprint article on Daemonnews and the various netgraph manpages. The problem is that all the examples and applications I could find are layer 2 and layer 3, there is no example of a transport protocol done with netgraph. Since SCTP is reliable, at the very minimum I will have to handle timers, buffers, retransmissions and friends. So my questions are: o Any example of a transport protocol done with netgraph, or any hints (the more detailed the better :-) on how to tackle this task? Is netgraph suited for this (I think yes) ? o Let's say the socket interface will be something like sd = socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP) How (or where) do I connect the socket system call to the netgraph framework? Thanks for the help Marco To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message