Date: Fri, 24 Apr 1998 08:07:24 +0200 (MET DST) From: Luigi Rizzo <luigi@labinfo.iet.unipi.it> To: current@FreeBSD.ORG Subject: Bridging... Message-ID: <199804240607.IAA20557@labinfo.iet.unipi.it>
next in thread | raw e-mail | index | archive | help
I am trying to see what could be the best way to implement bridging within FreeBSD. The main app would be to connect 10/100 Mbit interfaces in the most transparent way (I know doing packet filtering on a 100 Mbit segment places a bit of load on the host and a dedicated solution could be cheaper/more efficient). After thinking a bit, how about the following: + add a "linked" (or whatever name you like) command to "ifconfig" so that you can say ifconfig de1 linked ed0 and then de1 inherits all features (ethernet and ip addresses, aliases, netmasks...) of ed0. (Using the same ethernet addr makes life easier when responding to ARP requests...) Implementing this probably requires adding a list of pointers to the clustered interfaces in the descriptor of the parent interface. + add a small table (perhaps this info is already in the arp table) to determine on what interface is each destination. This is used on output as follows: if the interface to use is known, then use it, otherwise send to all interfaces which are part of the same cluster. + when not configured as a bridge, interfaces are configured the usual way (non promiscuous). Input is straightforward, output is managed as above. + when configured as a bridge, just set the interfaces in promiscuous mode, and pass incoming packets to the other interfaces in the cluster using the usual bridging algorithms (see my bridge code on my web page). Comments/opinions ? cheers luigi -----------------------------+-------------------------------------- Luigi Rizzo | Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it | Universita' di Pisa tel: +39-50-568533 | via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 | http://www.iet.unipi.it/~luigi/ _____________________________|______________________________________ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804240607.IAA20557>