Commit 87e57399 authored by Thadeu Lima de Souza Cascardo's avatar Thadeu Lima de Souza Cascardo Committed by David S. Miller

sit: set rtnl_link_ops before calling register_netdevice

When creating a SIT tunnel with ip tunnel, rtnl_link_ops is not set before
ipip6_tunnel_create 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.
Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 05f3b50e
...@@ -201,14 +201,14 @@ static int ipip6_tunnel_create(struct net_device *dev) ...@@ -201,14 +201,14 @@ static int ipip6_tunnel_create(struct net_device *dev)
if ((__force u16)t->parms.i_flags & SIT_ISATAP) if ((__force u16)t->parms.i_flags & SIT_ISATAP)
dev->priv_flags |= IFF_ISATAP; dev->priv_flags |= IFF_ISATAP;
dev->rtnl_link_ops = &sit_link_ops;
err = register_netdevice(dev); err = register_netdevice(dev);
if (err < 0) if (err < 0)
goto out; goto out;
ipip6_tunnel_clone_6rd(dev, sitn); ipip6_tunnel_clone_6rd(dev, sitn);
dev->rtnl_link_ops = &sit_link_ops;
dev_hold(dev); dev_hold(dev);
ipip6_tunnel_link(sitn, t); ipip6_tunnel_link(sitn, t);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment