MAC addresses on ports
Hi,
I need some explanation/help with a probably bit uncommon bridge setup. I have devices that come with their manufacturer MAC addresses, and I need to create a bridge that uses my MAC address instead and has to look about like this:
br0: unique MAC address from my range wlan0: same MAC as br0
(madwifi supports 4 MAC frames in STA mode so the actual bridging works, just if you are curious :p)
eth0: any MAC address higher than the br0 MAC,
and as long as the assumptions below hold, unique in just this bridge,
eth1: ditto
...
ethN: ditto
Now, the only reason I can think about from my naive point of view, why the bridge cares about port MAC address at all, is maintaining a reliable and persistent connection between the logical port and the actual physical device for STP purposes.
So if I'm right, I can assign any MAC addresses to the ethernet ports, as long as they are higher than the wlan0 address, to ensure that the bridge selects the wlan0 MAC as its own, and as long as they are locally unique. The MAC addresses of the ethernet ports will not appear in any non-STP packets and don't have to be globally unique, because they identify ports in just this bridge and STP handles that, just a port has always to have the same address and not a random one.
Is this correct? If not, is there any other way to create a bridge and not to have to allocate a unique MAC to each port?
Any comments and/or pointers to relevant documentation are highly appreciated.
Best Regards
Marian
Quoted 30 lines · On Wed, 16 Jan 2008 15:09:48 +0100 Marian Jancar <[email protected]> wrote:
Hi,
I need some explanation/help with a probably bit uncommon bridge setup. I have devices that come with their manufacturer MAC addresses, and I need to create a bridge that uses my MAC address instead and has to look about like this:
br0: unique MAC address from my range wlan0: same MAC as br0(madwifi supports 4 MAC frames in STA mode so the actual bridging works, just if you are curious :p)
eth0: any MAC address higher than the br0 MAC,
and as long as the assumptions below hold, unique in just this bridge,
eth1: ditto
...
ethN: dittoNow, the only reason I can think about from my naive point of view, why the bridge cares about port MAC address at all, is maintaining a reliable and persistent connection between the logical port and the actual physical device for STP purposes.
So if I'm right, I can assign any MAC addresses to the ethernet ports, as long as they are higher than the wlan0 address, to ensure that the bridge selects the wlan0 MAC as its own, and as long as they are locally unique. The MAC addresses of the ethernet ports will not appear in any non-STP packets and don't have to be globally unique, because they identify ports in just this bridge and STP handles that, just a port has always to have the same address and not a random one.
Quoted 4 lines
Is this correct? If not, is there any other way to create a bridge and not to have to allocate a unique MAC to each port?
Any comments and/or pointers to relevant documentation are highly appreciated.
Latest version of code allows bridge to have any mac address. You do HAVE to make sure device in bridge has a unique mac address.
Quoted 30 lines · Marian Jancar
Hi,
I need some explanation/help with a probably bit uncommon bridge setup. I have devices that come with their manufacturer MAC addresses, and I need to create a bridge that uses my MAC address instead and has to look about like this:
br0: unique MAC address from my range wlan0: same MAC as br0(madwifi supports 4 MAC frames in STA mode so the actual bridging works, just if you are curious :p)
eth0: any MAC address higher than the br0 MAC,
and as long as the assumptions below hold, unique in just this bridge,
eth1: ditto
...
ethN: dittoNow, the only reason I can think about from my naive point of view, why the bridge cares about port MAC address at all, is maintaining a reliable and persistent connection between the logical port and the actual physical device for STP purposes.
So if I'm right, I can assign any MAC addresses to the ethernet ports, as long as they are higher than the wlan0 address, to ensure that the bridge selects the wlan0 MAC as its own, and as long as they are locally unique. The MAC addresses of the ethernet ports will not appear in any non-STP packets and don't have to be globally unique, because they identify ports in just this bridge and STP handles that, just a port has always to have the same address and not a random one.
Quoted 2 lines
Is this correct? If not, is there any other way to create a bridge and not to have to allocate a unique MAC to each port?
I'm pretty sure you have it nailed except for one thing... what is all this "higher than" another MAC address? There's no ordering defined for MAC addresses, and it wouldn't matter anyway, in my experience the bridge takes the MAC address of the lowest-numbered port, that is the first one added to the bridge, without regard for the addresses.
So you can just let ethX use the manufacturer assigned addresses, as long as you add wlan0 to the bridge before ethX.
Quoted 12 lines
Any comments and/or pointers to relevant documentation are highly appreciated.
Best Regards
Marian_______________________________________________
Bridge mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/bridge
Quoted 5 lines · [email protected] wrote:
I'm pretty sure you have it nailed except for one thing... what is all this "higher than" another MAC address? There's no ordering defined for MAC addresses, and it wouldn't matter anyway, in my experience the bridge takes the MAC address of the lowest-numbered port, that is the first one added to the bridge, without regard for the addresses.
It used to take the lowest MAC address (and effectively changing it when you added new port with lower MAC that it had), but it seems to be changed recently.
Marian