Re: [B.A.T.M.A.N.] [PATCH 0/4] batman-adv: Add network name space support

Sven Eckelmann
2016-01-31T13:26:27Z

[-- Attachment #1: Type: text/plain, Size: 3737 bytes --]

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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 819 bytes --]