I started with a freshly unpacked source code of the 2014.4.0 release and applied only your latest patch.
As expected from the tests done so far with the old kernel effectively not calling netdev_set_master allows the usage of the latest batman-adv version in combination with older kernels (at least the 2.6.32 I tested with).
I think this patch is worth to be integrated into the next batman-adv version.
Regards, Andreas
"B.A.T.M.A.N" b.a.t.m.a.n-bounces@lists.open-mesh.org schrieb am 19.02.2015 10:40:34:
Von: Marek Lindner mareklindner@neomailbox.ch An: The list for a Better Approach To Mobile Ad-hoc Networking b.a.t.m.a.n@lists.open-mesh.org, Datum: 19.02.2015 10:42 Betreff: Re: [B.A.T.M.A.N.] Antwort: Re: Antwort: Antwort: Re: Antwort: Re: Question concerning batman-adv bug #173 "Mesh packets on
bat0"
Gesendet von: "B.A.T.M.A.N" b.a.t.m.a.n-bounces@lists.open-mesh.org
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 allon
these
ancient kernels.
Cheers, Marek [Anhang "0001-batman-adv-ignore-netdev_set_master-calls-on- kernels.patch" gelöscht von Andreas Pape/Phoenix Contact] [Anhang "signature.asc" gelöscht von Andreas Pape/Phoenix Contact]