From owner-freebsd-net Sun Apr 2 23:24:19 2000 Delivered-To: freebsd-net@freebsd.org Received: from osku.suutari.iki.fi (osku.syncrontech.com [213.28.98.4]) by hub.freebsd.org (Postfix) with ESMTP id 67C0137BB73 for ; Sun, 2 Apr 2000 23:24:14 -0700 (PDT) (envelope-from ari@suutari.iki.fi) Received: from coffee (espresso-adsl.syncrontech.com [213.28.98.3]) by osku.suutari.iki.fi (8.9.3/8.9.3) with SMTP id JAA09981; Mon, 3 Apr 2000 09:24:03 +0300 (EEST) (envelope-from ari@suutari.iki.fi) Message-ID: <006401bf9d35$37bddb00$0e05a8c0@intranet.syncrontech.com> From: "Ari Suutari" To: "Arun Sharma" , References: <20000331234156.A28140@sharmas.dhs.org> Subject: Re: kernel vs user level implementation of NAT Date: Mon, 3 Apr 2000 09:24:02 +0300 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, > Can someone point me to some discussion or literature on why *BSDs chose > to implement natd as a daemon as opposed to a kernel service ? I'm > particularly interested in the performance (latency) aspects of the issue. > The history goes something like this: Some years ago I had a cable modem connection at home. I had internal network with some hosts and a FreeBSD server machine (running 2.x if I remember correctly). I was looking for solutions how to get my internal machines to access internet with similar manner as ip masquerading in Linux (Couldn't use Linux, I'v always been fond of *BSD). Well, I found that Darren Reed's ipfilter didn't work with 2.x so that was out. Porting of it looked like too much effort at that time. Then I found out from somewhere that user mode ppp had nat features and took a look at it. Surprisingly all the functions necessary to do it were packaged to a few source files which I took into natd. These sources were written by Charles Mott and eventually ended into libalias library. There was also another similar program in the beginning, Brian Somer's masqd. I don't remeber any more why I decided to go along with natd - maybe both were at very early stage of development and I just had more time to play with natd. Anyway, Brian also contributed to natd. What I found good about doing this in user process was the ease of debugging and testing of new versions. Ari S. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message