From owner-freebsd-hackers Thu Jan 23 02:17:15 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id CAA12488 for hackers-outgoing; Thu, 23 Jan 1997 02:17:15 -0800 (PST) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id CAA12483 for ; Thu, 23 Jan 1997 02:17:11 -0800 (PST) Received: from current1.whistle.com (current1.whistle.com [207.76.205.22]) by alpo.whistle.com (8.8.4/8.8.4) with SMTP id BAA25411; Thu, 23 Jan 1997 01:50:15 -0800 (PST) Message-ID: <32E733A4.41C67EA6@whistle.com> Date: Thu, 23 Jan 1997 01:47:16 -0800 From: Julian Elischer Organization: Whistle Communications X-Mailer: Mozilla 3.0Gold (X11; I; FreeBSD 2.2-CURRENT i386) MIME-Version: 1.0 To: Andrew McRae CC: jdp@polstra.com, hackers@freebsd.org Subject: Re: Fault-tolerant network with 2 ethernets References: <199701230714.SAA16460@metaplex-ss10.cisco.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Andrew McRae wrote: > > jdp@polstra.com (John Polstra): > > This is probably a routing 101 question. But I've never had to do much > > with routing, so I could use some advice. > > > > A client wants a fault-tolerant LAN setup like this: > > > > ethernet A (100BaseT) > > ---+------+------+------+------+------+--- > > | | | | | | > > host host host host host host > > | | | | | | > > ---+------+------+------+------+------+--- > > ethernet B (100BaseT) > > > > The goal is that either ethernet could go down, yet all the hosts c Using the 'netgraph' 'streams-like' framework I've been writing for BSD, you could impliment a node that multiplexed between two ethernet interfaces and exported a single virtual interface. you'd have to hack a 'netgraph' interface onto the ethernet driver, but I write the interface specifically to make that easy to do. it would effectively be a carbuncle on the side of the driver that would divert incoming packets into the 'graph' of nodes that has been attached.. hmm maybe it could be done in if_ethersubr.c and would be independent of card type! .. that would be cool. we could loadshare between several nets with different adapters :) (and dynamically switch virtual nets over different physical transports. :) if you hadn't attached a node it would act as normal and use it's own interface. The only bit I'm not sure about would be arp, but I'm sure it can't be that hard.. I'm just chasing down some last silly bugs and hopefully will have documentation and a user-level control program by next week.. the "rfc1490" node works fine, as does "echo", "socket", "blackhole" and a proprietary card specific frame relay node. There is a ppp node under construction by our resident PPP guru.. sorry to get so carried away but when you've got a big new hammer, you keep looking out for nails! the (very) preliminary doc is at: ftp://ftp.freebsd.org/pub/FreeBSD/incoming/Netgraph.txt it's evolved and got a bit simpler and more useable as I've been implimenting it.. code available soon. anxious types can ask for copies tomorrow but will need to UTSL as they can't RTFM yet :) julian