Luis R. Rodriguez
2014-Feb-19 17:02 UTC
[Bridge] [Xen-devel] [RFC v2 1/4] bridge: enable interfaces to opt out from becoming the root bridge
On Wed, Feb 19, 2014 at 6:35 AM, Zoltan Kiss <zoltan.kiss at citrix.com> wrote:> On 19/02/14 09:52, Ian Campbell wrote: >> Can't we arrange things in the Xen hotplug scripts such that if the >> root_block stuff isn't available/doesn't work we fallback to the >> existing fe:ff:ff:ff:ff usage? >> >> That would avoid concerns about forward/backwards compat I think. It >> wouldn't solve the issue you are targeting on old systems, but it also >> doesn't regress them any further. > > I agree, I think this problem could be better handled from userspace: if it > can set root_block then change the default MAC to a random one, if it can't, > then stay with the default one. Or if someone doesn't care about STP but DAD > is still important, userspace can have a force_random_mac option somewhere > to change to a random MAC regardless of root_block presence.Folks, what if I repurpose my patch to use the IFF_BRIDGE_NON_ROOT (or relabel to IFF_ROOT_BLOCK_DEF) flag for a default driver preference upon initialization so that root block will be used once the device gets added to a bridge. The purpose would be to avoid drivers from using the high MAC address hack, streamline to use a random MAC address thereby avoiding the possible duplicate address situation for IPv6. In the STP use case for these interfaces we'd just require userspace to unset the root block. I'd consider the STP use case the most odd of all. The caveat to this approach is 3.8 would be needed (or its the root block patches cherry picked) for base kernels older than 3.8. Stephen? Luis
Stephen Hemminger
2014-Feb-19 17:08 UTC
[Bridge] [Xen-devel] [RFC v2 1/4] bridge: enable interfaces to opt out from becoming the root bridge
On Wed, 19 Feb 2014 09:02:06 -0800 "Luis R. Rodriguez" <mcgrof at do-not-panic.com> wrote:> Folks, what if I repurpose my patch to use the IFF_BRIDGE_NON_ROOT (or > relabel to IFF_ROOT_BLOCK_DEF) flag for a default driver preference > upon initialization so that root block will be used once the device > gets added to a bridge. The purpose would be to avoid drivers from > using the high MAC address hack, streamline to use a random MAC > address thereby avoiding the possible duplicate address situation for > IPv6. In the STP use case for these interfaces we'd just require > userspace to unset the root block. I'd consider the STP use case the > most odd of all. The caveat to this approach is 3.8 would be needed > (or its the root block patches cherry picked) for base kernels older > than 3.8. > > Stephen? > > LuisDon't add IFF_ flags that adds yet another API hook into bridge. Please only use the netlink/sysfs flags fields that already exist for new features.
Zoltan Kiss
2014-Feb-20 13:19 UTC
Re: [Xen-devel] [RFC v2 1/4] bridge: enable interfaces to opt out from becoming the root bridge
On 19/02/14 17:02, Luis R. Rodriguez wrote:> On Wed, Feb 19, 2014 at 6:35 AM, Zoltan Kiss <zoltan.kiss@citrix.com> wrote: >> On 19/02/14 09:52, Ian Campbell wrote: >>> Can't we arrange things in the Xen hotplug scripts such that if the >>> root_block stuff isn't available/doesn't work we fallback to the >>> existing fe:ff:ff:ff:ff usage? >>> >>> That would avoid concerns about forward/backwards compat I think. It >>> wouldn't solve the issue you are targeting on old systems, but it also >>> doesn't regress them any further. >> >> I agree, I think this problem could be better handled from userspace: if it >> can set root_block then change the default MAC to a random one, if it can't, >> then stay with the default one. Or if someone doesn't care about STP but DAD >> is still important, userspace can have a force_random_mac option somewhere >> to change to a random MAC regardless of root_block presence. > > Folks, what if I repurpose my patch to use the IFF_BRIDGE_NON_ROOT (or > relabel to IFF_ROOT_BLOCK_DEF) flag for a default driver preference > upon initialization so that root block will be used once the device > gets added to a bridge. The purpose would be to avoid drivers from > using the high MAC address hack, streamline to use a random MAC > address thereby avoiding the possible duplicate address situation for > IPv6. In the STP use case for these interfaces we'd just require > userspace to unset the root block. I'd consider the STP use case the > most odd of all. The caveat to this approach is 3.8 would be needed > (or its the root block patches cherry picked) for base kernels older > than 3.8.How about this: netback sets the root_block flag and a random MAC by default. So the default behaviour won't change, DAD will be happy, and userspace don't have to do anything unless it's using netback for STP root bridge (I don't think there are too many toolstacks doing that), in which case it has to remove the root_block flag instead of setting a random MAC. Zoli