From owner-freebsd-hackers Mon Jan 8 00:57:08 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id AAA23258 for hackers-outgoing; Mon, 8 Jan 1996 00:57:08 -0800 (PST) Received: from ki1.chemie.fu-berlin.de (ki1.Chemie.FU-Berlin.DE [160.45.24.21]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id AAA23252 for ; Mon, 8 Jan 1996 00:57:03 -0800 (PST) Received: by ki1.chemie.fu-berlin.de (Smail3.1.28.1) from mail.hanse.de (134.100.239.2) with smtp id ; Mon, 8 Jan 96 09:56 MET Received: from wavehh.UUCP by mail.hanse.de with UUCP for freebsd-hackers@freebsd.org id ; Mon, 8 Jan 96 09:56 MET Received: by wavehh.hanse.de (4.1/SMI-4.1) id AA03586; Mon, 8 Jan 96 09:41:34 +0100 From: cracauer@wavehh.hanse.de (Martin Cracauer) Message-Id: <9601080841.AA03586@wavehh.hanse.de> Subject: Any solution for source-based IP routing? To: freebsd-hackers@freebsd.org Date: Mon, 8 Jan 1996 09:41:33 +0100 (MET) Reply-To: cracauer@wavehh.hanse.de X-Mailer: ELM [version 2.4 PL24] Content-Type: text Sender: owner-hackers@freebsd.org Precedence: bulk [Also sent to tech-net@netbsd.org ] A friend of mine needs to do source-based IP routing. For now, he uses a hacked Linux IP stack, because the functionality he needs isn't included in any stack we know and that the Linux stack is (claimed to be) significant easier to hack up to do the job than the more complex *BSD one. Is there any solution for this problem in 4.4BSD? Here's what to be done: A single machine is a router for a number of client networks and is connected to more than one provider. Every client network is associated with exactly one provider and this provider should be the default route for packets from this client's networks. The problem is that in the code regions where the decision about the route a packet has to be sent to is made no information about the source of the packet is available. A local Linux hacker hacked the Linux stack so that the source address is passed along with the destination address and he claims is would be too much work in the BSD kernel, simply because of the number of function calls that have to be changed. I think this is a quite common problem for ISPs and even for me who passes packets from other networks on my private machines and I wonder if some BSD based solution is already done. Thanks for any hints. Happy Hacking Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer Tel.: +49 40 / 522 18 29 Fax.: +49 40 / 522 85 36