ip6_tunnel: Return an error when adding an existing tunnel.
[deliverable/linux.git] / net / ipv6 / ip6_tunnel.c
index f9de5a69507252a12cbf1efffbf416721d9c871a..69a84b464009cc3192d42acc8a2c4d1e8419ca61 100644 (file)
@@ -364,8 +364,12 @@ static struct ip6_tnl *ip6_tnl_locate(struct net *net,
             (t = rtnl_dereference(*tp)) != NULL;
             tp = &t->next) {
                if (ipv6_addr_equal(local, &t->parms.laddr) &&
-                   ipv6_addr_equal(remote, &t->parms.raddr))
+                   ipv6_addr_equal(remote, &t->parms.raddr)) {
+                       if (create)
+                               return NULL;
+
                        return t;
+               }
        }
        if (!create)
                return NULL;
This page took 0.02404 seconds and 5 git commands to generate.