Jörn Engel <jo...@purestorage.com> wrote: >Hello Tianhong! > >On Tue, Aug 09, 2016 at 10:18:41AM +0800, Ding Tianhong wrote: >> >> I don't understand your problem clearly, can you explain more about how the >> 00503b6f702e break tun-interfaces >> and we will try to fix it. > >Here is a trivial testcase: >openvpn --mktun --dev tun0 >echo +tun0 > /sys/class/net/bond0/bonding/slaves > >Worked fine before your patch, no longer works after your patch. Works >again after my patch.
Could you describe your use case a bit further? Are you bonding together multiple VPN tunnels? This may be a regression, but since the patch that nominally introduced it was 2 years ago, the impact appears to be very narrow. >> and more, dev_set_mac_address will change the salver's mac address, some nic >> don't support to change the mac address and >> could not work as bond slave, so we need to check the return value, I don't >> think this patch has any effective improvement. > >Using bonding in balance-rr mode, there doesn't seem to be a need to >change the mac address. I suppose you might care in other modes, but I >don't. The balance-rr mode (as well as the -xor mode) is designed to interoperate with a Cisco Etherchannel-style static link aggregation, which requires all members to have the same MAC address for proper function. Now, the above notwithstanding, I don't have an issue if you want to bond together a couple of tun devices and can make it work. However, for the standard balance-rr case, the enslavement must fail if the call to set the slave MAC fails, as permitting the slave into the bond after set-MAC fails can result in a bond that silently loses packets. My tentative suggestion is that we extened fail_over_mac to cover additional modes, as a sort of "I really know what I'm doing" flag, and allow the enslavement to succeed when it is set. This would require setting an additional bonding option for this situation, but that doesn't seem to be a undue burden as this looks to be a niche use case. -J --- -Jay Vosburgh, jay.vosbu...@canonical.com