On Wed, Mar 12, 2008 at 2:45 PM, Philip Prindeville <philipp_subx@xxxxxxxxxxxxxxxxxxxxx> wrote: > > Stephen Hemminger wrote: > > On Wed, 12 Mar 2008 10:46:48 -0400 > > "Andy Gospodarek" <andy@xxxxxxxxxxxxx> wrote: > > > > > >> On Tue, Mar 11, 2008 at 11:29 PM, Philip Prindeville > >> <philipp_subx@xxxxxxxxxxxxxxxxxxxxx> wrote: > >> > >>> Stephen Hemminger wrote: > >>> > On Mon, 10 Mar 2008 11:05:53 -0700 > >>> > Philip Prindeville <philipp_subx@xxxxxxxxxxxxxxxxxxxxx> wrote: > >>> > > >>> > > >>> >> I'm using Linux 2.6.20 (yes, I'll be upgrading to 2.6.24 as soon as it's > >>> >> stable). > >>> >> > >>> >> I have 4 VIA rhine ethernet controllers on my Soekris net5501, plus an > >>> >> ADSL PCI card (a Sangoma S-518) that runs in AAL5-SNAP mode, so it looks > >>> >> like an Ethernet controller. > >>> >> > >>> >> I'm trying to bridge eth0 and w1ad (the ADSL interface) into "br0". And > >>> >> I'm trying to force the traffic on br0 to have the MAC address that my > >>> >> ISP insists I use (i.e. that of the crappy little Westell 6100 modem > >>> >> they sent me). > >>> >> > >>> >> The issue is the following. If I do: > >>> >> > >>> >> ifconfig w1ad down hw ether x:x:x:x:x:x up > >>> >> > >>> >> followed by either: > >>> >> > >>> >> brctl addbr br0 > >>> >> brctl addif br0 eth0 > >>> >> brctl addif br0 w1ad > >>> >> > >>> >> or: > >>> >> > >>> >> brctl addbr br0 > >>> >> brctl addif br0 w1ad > >>> >> brctl addif br0 eth0 > >>> >> > >>> >> the bridge ends up taking the MAC address of eth0 either way, which I > >>> >> don't get (how does it decide which to use?). > >>> >> > >>> >> I can clone the same MAC address to both eth0 and w1ad, but I don't know > >>> >> if that would cause me any problems or not (I haven't read the STP spec > >>> >> in about 15 years). > >>> >> > >>> >> > >>> > > >>> > Having the same mac address on both just is going to be problematic (impossible > >>> > to do STP), so don't if you don't have to. > >>> > But you can set address of bridge and eth0 to any address you want. So set these > >>> > to the ISP assigned address. You probably will have to do it after bridge > >>> > is created. > >>> > > >>> > brctl addbr br0 > >>> > brctl addif br0 w1ad br0 > >>> > ifconfig eth0 hw ether x:x:x:x:x:x up > >>> > ifconfig w1ad up > >>> > ifconfig br0 hw ether x:x:x:x:x:x up > >>> > > >>> > ifconfig br0 A.B.C.D netmask 255.255.255.0 > >>> > > >>> > >>> That seems to not work. I get: > >>> > >>> # ifconfig br0 hw ether "00:18:3A:55:15:35" > >>> > >>> ifconfig: SIOCSIFHWADDR: Cannot assign requested address > >>> # > >>> > >>> Any ideas why? I'm doing this before an IP address has even been > >>> assigned... > >>> > > > > Assign the hardware address of the bridge was only added in later kernels. > > > > Later being which kernel? It looks like this commit did it: commit 4505a3ef720845b5db3ddb440de13cd4800fd508 Author: Stephen Hemminger <shemminger@xxxxxxxx> Date: Wed Dec 21 18:51:49 2005 -0800 [BRIDGE]: allow setting hardware address of bridge pseudo-dev Some people are using bridging to hide multiple machines from an ISP that restricts by MAC address. So in that case allow the bridge mac address to be set to any of the existing interfaces. I don't want to allow any arbitrary value and confuse STP. Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> So that should mean it is in 2.6.15 and later (presuming this patch added all the needed functionality). > And to answer the earlier question, I was doing: > > ifconfig brX down hw ether x:x:x:x:x:x up > > so yes, the interface was down when I tried to change its address. > > -Philip > > > _______________________________________________ Bridge mailing list Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/bridge