Commit ee30ef4d authored by Duan Jiong's avatar Duan Jiong Committed by David S. Miller

ip_tunnel: don't add tunnel twice

When using command "ip tunnel add" to add a tunnel, the tunnel will be added twice,
through ip_tunnel_create() and ip_tunnel_update().

Because the second is unnecessary, so we can just break after adding tunnel
through ip_tunnel_create().
Signed-off-by: default avatarDuan Jiong <duanj.fnst@cn.fujitsu.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9bb1a208
...@@ -754,11 +754,9 @@ int ip_tunnel_ioctl(struct net_device *dev, struct ip_tunnel_parm *p, int cmd) ...@@ -754,11 +754,9 @@ int ip_tunnel_ioctl(struct net_device *dev, struct ip_tunnel_parm *p, int cmd)
if (!t && (cmd == SIOCADDTUNNEL)) { if (!t && (cmd == SIOCADDTUNNEL)) {
t = ip_tunnel_create(net, itn, p); t = ip_tunnel_create(net, itn, p);
if (IS_ERR(t)) { err = PTR_ERR_OR_ZERO(t);
err = PTR_ERR(t);
break; break;
} }
}
if (dev != itn->fb_tunnel_dev && cmd == SIOCCHGTUNNEL) { if (dev != itn->fb_tunnel_dev && cmd == SIOCCHGTUNNEL) {
if (t != NULL) { if (t != NULL) {
if (t->dev != dev) { if (t->dev != dev) {
......
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