Re: [PATCH net] sit: set rtnl_link_ops before calling register_netdevice

2016-01-25 Thread David Miller
From: Thadeu Lima de Souza Cascardo 
Date: Mon, 25 Jan 2016 11:29:19 -0200

> 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: Thadeu Lima de Souza Cascardo 

Applied.


[PATCH net] sit: set rtnl_link_ops before calling register_netdevice

2016-01-25 Thread Thadeu Lima de Souza Cascardo
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: Thadeu Lima de Souza Cascardo 
---
 net/ipv6/sit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
index e794ef6..2066d1c 100644
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -201,14 +201,14 @@ static int ipip6_tunnel_create(struct net_device *dev)
if ((__force u16)t->parms.i_flags & SIT_ISATAP)
dev->priv_flags |= IFF_ISATAP;
 
+   dev->rtnl_link_ops = &sit_link_ops;
+
err = register_netdevice(dev);
if (err < 0)
goto out;
 
ipip6_tunnel_clone_6rd(dev, sitn);
 
-   dev->rtnl_link_ops = &sit_link_ops;
-
dev_hold(dev);
 
ipip6_tunnel_link(sitn, t);
-- 
2.5.0