[Bridge] brctl project

Stephen Hemminger
Wed, 03 Dec 2008 19:35:17 -0000

On Wed, 3 Dec 2008 18:47:14 +0100
Christian Salgado Gonz?lez <chrisalga at hotmail.com> wrote:

>
> Hi Stephen,
>
> My name is Christian Salgado, I am studying computer engeneering, this is
my last year and I am doing my final Project.
> I have sent you a previous email, but I think that you have not understood
my problem. I will try to explain you:
> (3 pcs)
> I have a Pc,called "switch" running brctl(3 interfaces: 2
ethernet and one wifi card, ath0, using Mafwifi).
> Other Pc,called client Pc, with two interfaces(wlan0 and eth0),at this
computer I have ifenslave bounding both interfaces.
> A pc called server.
> When I send a media stream from the server to the client, through the
switch(brctl), Ifenslave makes load balancing (mode 0 is the only one which I am
able to use). To know when ifenslave change the operation interface I have used
wireshark. It is very simply, when the client receive a ping request ifenslave
answer it one time on eth0 and the next on wlan0.  Then brctl learn which is the
interface to forward the data.
>
> I think that changing the interface sending a ping is not a good way of
doing things. This is the reason why I am writing to you.
> Please, correct me if I am wrong, but I think that brctl join the
interfaces assigning the same port number  to both interfaces.
>   1     00:11:22:33:44:55       yes                0.00
>   1     00:aa:ff:ff:ff:ff       no                 5.81

Two interfaces should never have same port number (at least as far as bridge is
concerned).

>   2     00:11:11:11:11:11       yes                0.00
>
>
> For example in the previous table there is a connection between the 2 first
interfaces.
>
> Could be possible change the port number of   00:aa:....:ff   to 2 ?

Port number only matters to STP, which you probably are not using.

>
> In that case it will be on the same network as 00:11...:11,  isn't it??

Two active interfaces on same network with bridge is equivalent to forwarding
loop. You need to run STP, and have only one active interface.

> I have been looking at the code of brtcl and I have found the struc fdb.
What do you think that it is the best way of doing it??
>

Yes you can go do what you want with the code, but this is really one
of those: "I think I can hack the bridge code to do my own personal
idea of special case routing"

My answer to this is: "have fun, tell us what you find out, don't
expect any support"