On Wednesday 20 January 2016 18:48:26 Andrew Lunn wrote: [...]
Andrew Lunn (4): batman-adv: NETIF_F_NETNS_LOCAL feature to prevent netns moves batman-adv: Create batman soft interfaces within correct netns. batman-adv: Handle parent interfaces in a different netns batman-adv: debugfs: Add netns support
net/batman-adv/debugfs.c | 118 ++++++++++++++++++++++++++++++++++++- net/batman-adv/hard-interface.c | 49 +++++++++++++-- net/batman-adv/hard-interface.h | 2 +- net/batman-adv/soft-interface.c | 9 ++- net/batman-adv/soft-interface.h | 2 +- net/batman-adv/sysfs.c | 3 +- net/batman-adv/translation-table.c | 3 +- 7 files changed, 172 insertions(+), 14 deletions(-)
Just to let everybody know: This patchset will break batman-adv compatibility for kernels older than 4.0 (see d37512a277dfb2cef8a578e25a3246f61399a55a):
hard-interface.c:105:55: error: no member 'get_link_net' in struct rtnl_link_ops hard-interface.c:106:54: error: no member 'get_link_net' in struct rtnl_link_ops hard-interface.c:107:55: error: no member 'get_link_net' in struct rtnl_link_ops hard-interface.c:108:54: error: no member 'get_link_net' in struct rtnl_link_ops hard-interface.c:148:61: error: no member 'get_link_net' in struct rtnl_link_ops hard-interface.c:149:52: error: no member 'get_link_net' in struct rtnl_link_ops hard-interface.c: In function 'batadv_mutual_parents': hard-interface.c:105:48: error: 'const struct rtnl_link_ops' has no member named 'get_link_net' if (dev1->rtnl_link_ops && dev1->rtnl_link_ops->get_link_net) ^ hard-interface.c:106:40: error: 'const struct rtnl_link_ops' has no member named 'get_link_net' dev1_parent_net = dev1->rtnl_link_ops->get_link_net(dev1); ^ hard-interface.c:107:48: error: 'const struct rtnl_link_ops' has no member named 'get_link_net' if (dev2->rtnl_link_ops && dev2->rtnl_link_ops->get_link_net) ^ hard-interface.c:108:40: error: 'const struct rtnl_link_ops' has no member named 'get_link_net' dev2_parent_net = dev2->rtnl_link_ops->get_link_net(dev2); ^ hard-interface.c: In function 'batadv_is_on_batman_iface': hard-interface.c:148:54: error: 'const struct rtnl_link_ops' has no member named 'get_link_net' if (net_dev->rtnl_link_ops && net_dev->rtnl_link_ops->get_link_net) ^ hard-interface.c:149:38: error: 'const struct rtnl_link_ops' has no member named 'get_link_net' parent_net = net_dev->rtnl_link_ops->get_link_net(net_dev); ^ make[2]: *** [hard-interface.o] Error 1 make[1]: *** [_module_] Error 2 make: *** [all] Error 2
(build stopped here and there may be a lot more problems)
And with 3.18 you will only get until (see 435d5f4bb2ccba3b791d9ef61d2590e30b8e806e):
debugfs.c:87:40: error: no member 'ns' in struct net debugfs.c:547:37: error: no member 'ns' in struct net debugfs.c: In function 'batadv_debugfs_ns_get': debugfs.c:87:26: error: 'struct net' has no member named 'ns' sprintf(name, "%u", net->ns.inum); ^ debugfs.c: In function 'batadv_debugfs_init': debugfs.c:547:30: error: 'struct net' has no member named 'ns' sprintf(name, "%u", init_net.ns.inum); ^ make[2]: *** [debugfs.o] Error 1 make[1]: *** [_module_] Error 2 make: *** [all] Error 2
Kind regards, Sven