diff options
author | Thadeu Lima de Souza Cascardo <cascardo@redhat.com> | 2016-04-01 16:17:50 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-05 19:48:51 -0400 |
commit | b6ee376cb0b7fb4e7e07d6cd248bd40436fb9ba6 (patch) | |
tree | a2e7c6327ef48a75b07489e9fb67d4a7f3424710 | |
parent | 727ceaa49bb86518470c19640ed7f067c5aa9485 (diff) |
ip6_tunnel: set rtnl_link_ops before calling register_netdevice
When creating an ip6tnl tunnel with ip tunnel, rtnl_link_ops is not set
before ip6_tnl_create2 is called. When register_netdevice is called, there
is no linkinfo attribute in the NEWLINK message because of that.
Setting rtnl_link_ops before calling register_netdevice fixes that.
Fixes: 0b112457229d ("ip6tnl: add support of link creation via rtnl")
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com>
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv6/ip6_tunnel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index eb2ac4bb09ce..1f20345cbc97 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c | |||
@@ -252,12 +252,12 @@ static int ip6_tnl_create2(struct net_device *dev) | |||
252 | 252 | ||
253 | t = netdev_priv(dev); | 253 | t = netdev_priv(dev); |
254 | 254 | ||
255 | dev->rtnl_link_ops = &ip6_link_ops; | ||
255 | err = register_netdevice(dev); | 256 | err = register_netdevice(dev); |
256 | if (err < 0) | 257 | if (err < 0) |
257 | goto out; | 258 | goto out; |
258 | 259 | ||
259 | strcpy(t->parms.name, dev->name); | 260 | strcpy(t->parms.name, dev->name); |
260 | dev->rtnl_link_ops = &ip6_link_ops; | ||
261 | 261 | ||
262 | dev_hold(dev); | 262 | dev_hold(dev); |
263 | ip6_tnl_link(ip6n, t); | 263 | ip6_tnl_link(ip6n, t); |