summaryrefslogtreecommitdiff
path: root/tests/ovn.at
diff options
context:
space:
mode:
authorGurucharan Shetty <guru@ovn.org>2016-07-08 00:15:49 -0700
committerGurucharan Shetty <guru@ovn.org>2016-07-09 09:36:15 -0700
commit34114cf8165b6134a556d07ed22d03e9eac2fe4f (patch)
treed64b1eb5507a64bcc41e43522ddc77bbfd1fbf91 /tests/ovn.at
parent50c61d46c49756ef7474951ee586fd7ae252484c (diff)
downloadopenvswitch-34114cf8165b6134a556d07ed22d03e9eac2fe4f.tar.gz
ovn-controller: Change strategy for gateway conntrack zone allocation.
Commit 263064aeaa31e7 (Convert binding_run to incremental processing.) changed the way patched_datapaths were handled. Previously we would destroy the datastructure in every run and re-create it fresh. The new way causes problems with the way conntrack zones are allocated as now we can have stale port_binding entries causing segmentation faults. With this commit, we simply don't depend on port_binding records in conntrack zone allocation and instead store the UUID as a string in the patch_datapath datastructure. (The test enhanced with this commit would fail without the changes in the commit. i.e. ovn-controller would crash. ) Signed-off-by: Gurucharan Shetty <guru@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com>
Diffstat (limited to 'tests/ovn.at')
-rw-r--r--tests/ovn.at21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ovn.at b/tests/ovn.at
index b28c90eac..16262cde7 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -3082,6 +3082,27 @@ $PYTHON "$top_srcdir/utilities/ovs-pcap.in" hv2/vif1-tx.pcap | trim_zeros > rece
echo $expected | trim_zeros > expout
AT_CHECK([cat received1.packets], [0], [expout])
+# Delete the router and re-create it. Things should work as before.
+ovn-nbctl lr-del R2
+ovn-nbctl create Logical_Router name=R2 options:chassis="hv2"
+# Connect alice to R2
+ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24
+# Connect R2 to join
+ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24
+
+ovn-nbctl -- --id=@lrt create Logical_Router_Static_Route \
+ip_prefix=192.168.1.0/24 nexthop=20.0.0.1 -- add Logical_Router \
+R2 static_routes @lrt
+
+# Wait for ovn-controller to catch up.
+sleep 1
+
+# Send the packet again.
+as hv1 ovs-appctl netdev-dummy/receive hv1-vif1 $packet
+$PYTHON "$top_srcdir/utilities/ovs-pcap.in" hv2/vif1-tx.pcap | trim_zeros > received1.packets
+echo $expected | trim_zeros >> expout
+AT_CHECK([cat received1.packets], [0], [expout])
+
OVN_CLEANUP([hv1],[hv2])
AT_CLEANUP