[ovs-dev] [tunnels 2/3] tunnel: Avoid confusing tunnels that have different types.
Ben Pfaff
blp at nicira.com
Fri Oct 14 15:42:43 PDT 2011
Without this change, the following commands succeed:
# ovs-dpctl add-if br1 gre1,type=gre,remote_ip=1.2.3.4,local_ip=2.3.4.5
# ovs-dpctl add-if br1 gre0,type=gre,remote_ip=1.2.3.4
but if they are run in the opposite order, they fail with:
ovs-dpctl: adding gre1 to br1 failed (File exists)
This fixes the problem.
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
datapath/tunnel.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/datapath/tunnel.c b/datapath/tunnel.c
index 5b3d7f5..e97b9f2 100644
--- a/datapath/tunnel.c
+++ b/datapath/tunnel.c
@@ -1326,10 +1326,7 @@ static int tnl_set_config(struct nlattr *options, const struct tnl_ops *tnl_ops,
mutable->tunnel_hlen += sizeof(struct iphdr);
- old_vport = tnl_find_port(mutable->key.saddr, mutable->key.daddr,
- mutable->key.in_key, mutable->key.tunnel_type,
- &old_mutable);
-
+ old_vport = port_table_lookup(&mutable->key, &old_mutable);
if (old_vport && old_vport != cur_vport)
return -EEXIST;
--
1.7.4.4
More information about the dev
mailing list