From owner-freebsd-net Thu Mar 1 4:37:43 2001 Delivered-To: freebsd-net@freebsd.org Received: from mailhub.fokus.gmd.de (mailhub.fokus.gmd.de [193.174.154.14]) by hub.freebsd.org (Postfix) with ESMTP id 4780D37B71A for ; Thu, 1 Mar 2001 04:37:39 -0800 (PST) (envelope-from brandt@fokus.gmd.de) Received: from beagle (beagle [193.175.132.100]) by mailhub.fokus.gmd.de (8.8.8/8.8.8) with ESMTP id NAA20704; Thu, 1 Mar 2001 13:37:32 +0100 (MET) Date: Thu, 1 Mar 2001 13:37:32 +0100 (CET) From: Harti Brandt To: Marco Molteni Cc: Subject: Re: How to implement a transport protocol with netgraph? (2) In-Reply-To: <20010301133045.A1485@cobweb.example.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Thu, 1 Mar 2001, Marco Molteni wrote: MM>[Since I didn't received a reply on my first posting, I am trying once more] MM> MM>Hi all, MM> MM>I have to implement a kernel version of the transport protocol SCTP MM>(Stream Control Transmission Protocol, RFC 2960), plus a socket MM>interface to it as in draft-ietf-stewart-sctpsocket-sigtran-01.txt MM>(the RFC has an ad hoc user interface). MM> MM>It seems to me that the modularity of netgraph would help a lot in MM>this project, as opposed to go hacking half the kernel networking MM>stack to put SCTP in it (and yes, this is my first big project in MM>kernel land). MM> MM>I read the netgraph blueprint article on Daemonnews and the various MM>netgraph manpages. The problem is that all the examples and MM>applications I could find are layer 2 and layer 3, there is no example MM>of a transport protocol done with netgraph. MM> MM>Since SCTP is reliable, at the very minimum I will have to handle MM>timers, buffers, retransmissions and friends. MM> MM>So my questions are: MM> MM>o Any example of a transport protocol done with netgraph, or any hints MM> (the more detailed the better :-) on how to tackle this task? Is MM> netgraph suited for this (I think yes) ? MM> MM>o Let's say the socket interface will be something like MM> sd = socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP) MM> How (or where) do I connect the socket system call to the netgraph MM> framework? MM> MM>Thanks for the help MM>Marco I have implemented SSCOP for ATM signalling in netgraph lately. If it helps you, I can send you the current code. There are however still a number of issues: - It has no socket interface yet. I plan to do one base on the ng_socket code. There should be a lot of similarities. - How to do flow control is not very clear up to now. There are a number of messages defined in netgraph.h for this and I have used them, but had no time to do a thourough test. harti -- harti brandt, http://www.fokus.gmd.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.gmd.de, harti@begemot.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message