On Tue, Aug 09, 2016 at 09:28:45PM +0800, Ding Tianhong wrote: > > This patch is a simple solution for this problem, but I don't think it is the > right solution, the bond is a virtual device base on L2, > if the slave has no mac address, it will break the design principle, so we > need to think more about it.
The important point is: it worked. It solved a problem that at least three people cared enough about to send a bug report. Now it doesn't work anymore. That is a regression. Whether or not L2 has always been a design principle for bonding can be argued as well. But in the face of a regression, I suggest we fix the regression. > I think if the bonding dev has to support L3 virtual device, we need to add > new bond features to distinguish the dev and make the > bond xmit and transfer without the mac address. Simply not checking errors when setting the mac address solves the problem for me. No new features needed. If you want to retain error handling, you can make those checks conditional on the mode. In balance-rr or broadcast mode, ignore the error. I don't need and haven't tested broadcast mode, but it doesn't seem to depend on any L2 attributes either. Jörn -- Do not stop an army on its way home. -- Sun Tzu