Verify that ARP requests from internal/external network to a VIF port
succeed when vif is in logical switch that also has a localnet port.

Signed-off-by: Alexandra Rukomoinikova <[email protected]>
---
 tests/system-ovn.at | 75 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/tests/system-ovn.at b/tests/system-ovn.at
index be859ea7d..d7bc6e717 100644
--- a/tests/system-ovn.at
+++ b/tests/system-ovn.at
@@ -21782,3 +21782,78 @@ OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port 
patch-.*/d
 
 AT_CLEANUP
 ])
+
+OVN_FOR_EACH_NORTHD([
+AT_SETUP([VIF port connected to localnet network])
+#
+# Topology:
+#    (fabric) -- localnet-port -- LS --- DGP(chassis2) -- LR
+#                                 |
+#                                 |
+#                               VM (chassis1)
+#
+# It is expected that ARP requests to this port are allowed on the chassis 
that hosts this port.
+
+ovn_start
+OVS_TRAFFIC_VSWITCHD_START()
+ADD_BR([br-int])
+ADD_BR([br-ext])
+
+ovs-ofctl add-flow br-ext action=normal
+# Set external-ids in br-int needed for ovn-controller
+ovs-vsctl \
+        -- set Open_vSwitch . external-ids:system-id=hv1 \
+        -- set Open_vSwitch . 
external-ids:ovn-remote=unix:$ovs_base/ovn-sb/ovn-sb.sock \
+        -- set Open_vSwitch . external-ids:ovn-encap-type=geneve \
+        -- set Open_vSwitch . external-ids:ovn-encap-ip=169.0.0.1 \
+        -- set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext \
+        -- set bridge br-int fail-mode=secure other-config:disable-in-band=true
+
+# Start ovn-controller
+start_daemon ovn-controller
+
+check ovn-nbctl lr-add lr1
+check ovn-nbctl ls-add public
+
+check ovn-nbctl lrp-add lr1 rp-public 00:00:02:01:02:03 172.31.1.1/24
+check ovn-nbctl lsp-add-router-port public public-rp rp-public
+check ovn-nbctl lsp-add-localnet-port public localnet phynet
+check ovn-nbctl lrp-set-gateway-chassis rp-public hv2
+
+ADD_NAMESPACES(ext)
+ADD_VETH(ext, ext, br-ext, "172.31.1.2/24", "f0:00:00:01:02:02", \
+         "172.31.1.1")
+ADD_NAMESPACES(lsp1)
+ADD_VETH(lsp1, lsp1, br-int, "172.31.1.3/24", "f0:00:00:01:02:03", \
+         "172.31.1.1")
+ADD_NAMESPACES(lsp2)
+ADD_VETH(lsp2, lsp2, br-int, "172.31.1.4/24", "f0:00:00:01:02:04", \
+         "172.31.1.1")
+
+check ovn-nbctl lsp-add public lsp1
+check ovn-nbctl lsp-set-addresses lsp1 "f0:00:00:01:02:03 172.31.1.3"
+check ovn-nbctl lsp-add public lsp2
+check ovn-nbctl lsp-set-addresses lsp2 "f0:00:00:01:02:04 172.31.1.4"
+
+check ovn-nbctl --wait=hv sync
+
+NS_CHECK_EXEC([ext], [ping -q -c 3 -i 0.3 -w 2 172.31.1.3 | FORMAT_PING], \
+[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([lsp1], [ping -q -c 3 -i 0.3 -w 2 172.31.1.4 | FORMAT_PING], \
+[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVN_CLEANUP_CONTROLLER([hv1])
+OVN_CLEANUP_NORTHD
+
+as
+OVS_TRAFFIC_VSWITCHD_STOP(["/failed to query port patch-.*/d
+/connection dropped.*/d"])
+
+AT_CLEANUP
+])
+
-- 
2.48.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to