Philip, sorry for the duplicate email. Forgot to CC the list the first time.
Perhaps the needed patch is the following, which allows setting the
bridge hardware address to anything rather than just one of the port
interface addresses. Seems to have got in after Linux 2.6.21, so
should be in 2.6.22.
[~/git/linux-2.6] git-describe ffe1d49cc300f3dff990093aa952a2fbb371c1b6
v2.6.21-324-gffe1d49
[~/git/linux-2.6] git-diff-tree -p --pretty=fuller
ffe1d49cc300f3dff990093aa952a2fbb371c1b6
commit ffe1d49cc300f3dff990093aa952a2fbb371c1b6
Author: Stephen Hemminger <[EMAIL PROTECTED]>
AuthorDate: Mon Apr 9 11:49:58 2007 -0700
Commit: David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Apr 25 22:28:50 2007 -0700
bridge: allow changing hardware address to any valid address
For case of bridging pseudo devices, the get created/destroyed (Xen)
need to allow setting address to any valid value.
Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index b22ada5..39b87da 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -83,27 +83,22 @@ static int br_change_mtu(struct net_device *dev,
int new_mtu)
return 0;
}
-/* Allow setting mac address of pseudo-bridge to be same as
- * any of the bound interfaces
- */
+/* Allow setting mac address to any valid ethernet address. */
static int br_set_mac_address(struct net_device *dev, void *p)
{
struct net_bridge *br = netdev_priv(dev);
struct sockaddr *addr = p;
struct net_bridge_port *port;
- int err = -EADDRNOTAVAIL;
+
+ if (!is_valid_ether_addr(addr->sa_data))
+ return -EINVAL;
spin_lock_bh(&br->lock);
- list_for_each_entry(port, &br->port_list, list) {
- if (!compare_ether_addr(port->dev->dev_addr, addr->sa_data)) {
- br_stp_change_bridge_id(br, addr->sa_data);
- err = 0;
- break;
- }
- }
+ memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+ br_stp_change_bridge_id(br, addr->sa_data);
spin_unlock_bh(&br->lock);
- return err;
+ return 0;
}
static void br_getinfo(struct net_device *dev, struct ethtool_drvinfo *info)
On Thu, Mar 13, 2008 at 10:09 AM, Philip Prindeville
<[EMAIL PROTECTED]> wrote:
>
> Well, I don't get it then.
>
> I'm running Linux 2.6.20, with bridge-utils-1.2, and I'm still seeing it.
>
> Can you send me the link to the patch, and I'll make sure it's in my
> sources?
>
> Thanks,
>
> -Philip
_______________________________________________
Bridge mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/bridge