From owner-freebsd-hackers@FreeBSD.ORG Tue Jun 19 07:38:23 2007 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1A41516A421 for ; Tue, 19 Jun 2007 07:38:23 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outX.internet-mail-service.net (outX.internet-mail-service.net [216.240.47.247]) by mx1.freebsd.org (Postfix) with ESMTP id 09A8913C447 for ; Tue, 19 Jun 2007 07:38:22 +0000 (UTC) (envelope-from julian@elischer.org) Received: from mx0.idiom.com (HELO idiom.com) (216.240.32.160) by out.internet-mail-service.net (qpsmtpd/0.32) with ESMTP; Tue, 19 Jun 2007 00:38:22 -0700 Received: from julian-mac.elischer.org (home.elischer.org [216.240.48.38]) by idiom.com (Postfix) with ESMTP id 3EBB6125ADA; Tue, 19 Jun 2007 00:38:22 -0700 (PDT) Message-ID: <467787EF.9060009@elischer.org> Date: Tue, 19 Jun 2007 00:38:23 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.4 (Macintosh/20070604) MIME-Version: 1.0 To: Nicolas Cormier References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, John Polstra Subject: Re: in-kernel tcp server 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: Tue, 19 Jun 2007 07:38:23 -0000 Nicolas Cormier wrote: > Hi, > > I'm trying to write a little tcp-server kernel module (like tftp). > I didn't find a lot of documents about the kernel network programming, > just one thread which talks about netgraph. > In the freebsd includes I found /usr/include/sys/socketvar.h (so*). > > What's the easy way to create a basic tcp server > (create/bind/listen/accept/send/recv) : use netgraph's ksocket or so* > ? > > Thanks in advance ! > PS: the whole job must be done in the kernel. yes it can (and has been) done.. John Polstra did it many years ago.. using netgraph ksockets. He had an in-kernel web server. At least I THINK it was him :-)