From owner-freebsd-net@FreeBSD.ORG Tue Jun 28 11:10:37 2005 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4C0516A41C for ; Tue, 28 Jun 2005 11:10:37 +0000 (GMT) (envelope-from net@dino.sk) Received: from bsd.dino.sk (bsd.dino.sk [213.215.72.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3E55B43D1D for ; Tue, 28 Jun 2005 11:10:37 +0000 (GMT) (envelope-from net@dino.sk) Received: from home.dino.sk ([213.215.74.194]) (AUTH: LOGIN milan) by bsd.dino.sk with esmtp; Tue, 28 Jun 2005 13:13:32 +0200 id 000000EB.42C130DC.0001715A From: Milan Obuch To: freebsd-net@freebsd.org Date: Tue, 28 Jun 2005 13:10:10 +0200 User-Agent: KMail/1.8 References: <42C0DB3B.6000606@elischer.org> <20050628102728.GZ1283@obiwan.tataz.chchile.org> <200506281238.04373.max@love2party.net> In-Reply-To: <200506281238.04373.max@love2party.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200506281310.12252.net@dino.sk> Subject: Re: Julian's netowrking challenge 2005 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2005 11:10:37 -0000 On Tuesday 28 June 2005 12:37, Max Laier wrote: > On Tuesday 28 June 2005 12:27, Jeremie Le Hen wrote: > > > Wouldn't a more general approach be better. e.g. a way to "tag" a > > > packet before it is sent to divert and a matching tag-lookup that can > > > do further action. This would make it very easy to do all kinds of > > > stuff that needs to know the original address instead of the translated > > > one while avoiding code duplication. > > > > Having the possibility to tag a packet would be worth indeed. But I > > think that Milan wants to bring network stack virtualization in > > newer release of FreeBSD IIUC. This would be, IMO, a great improvement > > of FreeBSD networking, although I'm pretty sure this would make Netgraph > > people react a bit ;-). > > Stack virtualization is independent of this. All I am trying to say here, > is that I think it is better to have a general mechanism to do thing like > that, instead of a special solution for fwd (i.e. set-nexthop). > We agree on this. Tagging and virtualization are independent and solve different purposes. My reaction was to post mentioning request caused from various limitations/deficiences, namely lack of multiple routing tables support. > > > pf does something along these lines in case you are looking for > > > references. > > > > Would it be possible to share this tag among pf and ipfw ? > > Sure, it's a simple mbuf tag with a (at this point) 16bit cookie. The > downside of this approach is that you need to malloc the tag, but on the > other hand it's even more complicated for set-nexthop where you need to > allocate a route and maybe even hold it for some time and make sure you > properly GC it ... tags seem way simpler to me. Agreed. I am far from being networking code guru, so maybe this question sounds stupid, but could not this cookie be allocated when packet enters system? Maybe optionally... Milan