On Thursday, February 19, 2015 09:31:08 Andreas Pape wrote:
the problem seems to be a little bit more complex. Your latest patch does not solve the problem.
But I found out, that commenting out the following line in your patch makes bat0 work:
slave->master = master;
But as this is the core of "enslaving" a device to a master device, this breaks the complete concept behind this I guess (I'm not a skilled kernel developer). From this I conclude that there might be a bug somewhere deeper in the kernel version I use. I don't want to give up too early, but it looks a little bit as if this "enslaving concept using rtnl" might not be usable in these older kernels. What do you think?
Please try the attached patch instead. This time we are replacing the function with our own function doing nothing at all. The net_dev->master variable seems to be reserved for interface bonding and shouldn't be touched at all on these ancient kernels.