From owner-freebsd-net@FreeBSD.ORG  Thu Nov  1 00:45:31 2007
Return-Path: <owner-freebsd-net@FreeBSD.ORG>
Delivered-To: freebsd-net@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4ED0016A420
	for <freebsd-net@FreeBSD.org>; Thu,  1 Nov 2007 00:45:31 +0000 (UTC)
	(envelope-from julian@elischer.org)
Received: from outU.internet-mail-service.net (outU.internet-mail-service.net
	[216.240.47.244])
	by mx1.freebsd.org (Postfix) with ESMTP id 327D813C4B6
	for <freebsd-net@FreeBSD.org>; Thu,  1 Nov 2007 00:45:30 +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.40) with ESMTP;
	Wed, 31 Oct 2007 09:53:23 -0700
X-Client-Authorized: MaGic Cook1e
X-Client-Authorized: MaGic Cook1e
X-Client-Authorized: MaGic Cook1e
X-Client-Authorized: MaGic Cook1e
X-Client-Authorized: MaGic Cook1e
Received: from julian-mac.elischer.org (home.elischer.org [216.240.48.38])
	by idiom.com (Postfix) with ESMTP id 61D17126880;
	Wed, 31 Oct 2007 09:53:23 -0700 (PDT)
Message-ID: <4728B324.2000406@elischer.org>
Date: Wed, 31 Oct 2007 09:53:56 -0700
From: Julian Elischer <julian@elischer.org>
User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728)
MIME-Version: 1.0
To: Matus Harvan <mharvan@inf.ethz.ch>
References: <20070909201837.GA18107@inf.ethz.ch>	<20071026154057.GG1049@styx.ethz.ch>
	<4722AEB3.1010208@FreeBSD.org>	<20071029150424.GA68594@lor.one-eyed-alien.net>	<4726395B.8080905@FreeBSD.org>
	<20071031144915.GE1165@styx.ethz.ch>
In-Reply-To: <20071031144915.GE1165@styx.ethz.ch>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: freebsd-net@FreeBSD.org, Brooks Davis <brooks@FreeBSD.org>,
	"Bruce M. Simpson" <bms@FreeBSD.org>, Max Laier <max@love2party.net>
Subject: Re: UDP catchall
X-BeenThere: freebsd-net@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net>
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Nov 2007 00:45:31 -0000

It's possible using ipfw to mostly implement this, and with an upcoming change, possible 
to completely implement this.

the "uid" function of ipfw can act as a "does there exist a socket to which this packet would go?" test.
and a variant of it called "for_me" that I am adding (we use it at work) does this even better.

so, basically,

yyy:   skipto xxx ip from any to-me
yyy+1: fwd 127.0.0.1,1234
xxx: