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 <[email protected]>
---
 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

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to