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>
