Skip site navigation (1)Skip section navigation (2)
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>