summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGuoshuai Li <ligs@dtdream.com>2018-02-15 18:52:29 +0800
committerBen Pfaff <blp@ovn.org>2018-02-15 12:58:16 -0800
commit5b57e12ab2a54e4dee712ef0ddd7a5bb0c206b24 (patch)
tree7931d0eb9406d8f176183aec6c0b296c922ece61 /tests
parent33018441033c877aae88232b0522c54efc02a122 (diff)
downloadopenvswitch-5b57e12ab2a54e4dee712ef0ddd7a5bb0c206b24.tar.gz
ovn-controller: Fix crash when sending GARP when openflow disconnection.
This is call stack: Program received signal SIGABRT, Aborted. 1 0x00007ffff6a4f8e8 in __GI_abort () at abort.c:90 2 0x00000000004765d6 in ofputil_protocol_to_ofp_version (protocol=<optimized out>) at lib/ofp-util.c:769 3 0x000000000047c19e in ofputil_encode_packet_out (po=po@entry=0x7fffffffa0e0, protocol=<optimized out>) at lib/ofp-util.c:7060 4 0x0000000000410870 in send_garp (garp=0x83cfe0, current_time=current_time@entry=1200375400) at ovn/controller/pinctrl.c:1738 5 0x000000000041430f in send_garp_run (active_tunnels=<optimized out>, local_datapaths=0x7fffffffc0a0, chassis_index=<optimized out>, chassis=0x8194d0, br_int=<optimized out>, ctx=0x7fffffffc080) at ovn/controller/pinctrl.c:2069 Signed-off-by: Guoshuai Li <ligs@dtdream.com> Acked-by: Mark Michelson <mmichels@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/ovn.at13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/ovn.at b/tests/ovn.at
index 00d26e757..8ee3bf0b5 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -3566,6 +3566,19 @@ AT_CHECK([ovs-vsctl add-port br-int localvif1 -- set Interface localvif1 externa
echo "fffffffffffff0000000000108060001080006040001f00000000001c0a80102000000000000c0a80102" > expected
OVN_CHECK_PACKETS([hv/snoopvif-tx.pcap], [expected])
+# Check GARP packet when restart openflow connection.
+as hv
+OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
+
+OVS_WAIT_UNTIL([grep -c "waiting 4 seconds before reconnect" hv/ovn-controller.log])
+
+as hv
+start_daemon ovs-vswitchd --enable-dummy=system -vvconn -vofproto_dpif -vunixctl
+
+# Wait for packet to be received.
+echo "fffffffffffff0000000000108060001080006040001f00000000001c0a80102000000000000c0a80102" > expected
+OVN_CHECK_PACKETS([hv/snoopvif-tx.pcap], [expected])
+
# Delete the localnet ports.
AT_CHECK([ovs-vsctl del-port localvif1])
AT_CHECK([ovn-nbctl lsp-del ln_port])