diff mbox

[net] sit: set rtnl_link_ops before calling register_netdevice

Message ID 1453728559-4903-1-git-send-email-cascardo@redhat.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Thadeu Lima de Souza Cascardo Jan. 25, 2016, 1:29 p.m. UTC
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 <cascardo@redhat.com>
---
 net/ipv6/sit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

David Miller Jan. 25, 2016, 6:53 p.m. UTC | #1
From: Thadeu Lima de Souza Cascardo <cascardo@redhat.com>
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 <cascardo@redhat.com>

Applied.
diff mbox

Patch

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);