Introduce an option for testing binary API
[one.git] / tests / data_plane / vpp_lite_topo / topologies / rtr_single_iface.sh
index 70f1eeb..4c3e9ca 100644 (file)
@@ -2,7 +2,9 @@
 
 function rtr_single_iface_clean {
   echo "Clearing all VPP instances.."
-  pkill vpp
+  pkill vpp --signal 9
+
+  rm /dev/shm/*
 
   echo "Cleaning RTR topology.."
   ip netns exec xtr-rtr-ns ifconfig vppbr1 down
@@ -55,7 +57,9 @@ function rtr_single_iface_setup {
     bash -c "
       ip link set dev lo up
       ip addr add 6.0.2.2/24 dev veth_vpp1
+      ip addr add 6:0:2::2/64 dev veth_vpp1
       ip route add 6.0.4.0/24 via 6.0.2.1
+      ip route add 6:0:4::0/64 via 6:0:2::1
   "
 
   ip link add veth_vpp2 type veth peer name vpp2
@@ -66,30 +70,38 @@ function rtr_single_iface_setup {
     bash -c "
       ip link set dev lo up
       ip addr add 6.0.4.4/24 dev veth_vpp2
+      ip addr add 6:0:4::4/64 dev veth_vpp2
       ip route add 6.0.2.0/24 via 6.0.4.1
+      ip route add 6:0:2::0/64 via 6:0:4::1
   "
 
   ip addr add 6.0.3.100/24 dev odl
   ip addr add 6:0:3::100/64 dev odl
   ethtool --offload  odl rx off tx off
 
-  ${VPP_LITE_BIN} \
-    unix { log /tmp/vpp1.log cli-listen \
-           localhost:5002 full-coredump \
-           exec ${VPP_LITE_CONF}/vpp1.config } \
-    api-trace { on } chroot {prefix xtr1}
-
-  ${VPP_LITE_BIN} \
-    unix { log /tmp/vpp2.log cli-listen \
-           localhost:5003 full-coredump \
-           exec ${VPP_LITE_CONF}/vpp2.config } \
-    api-trace { on } chroot {prefix xtr2}
-
-   ${VPP_LITE_BIN} \
-    unix { log /tmp/rtr.log cli-listen \
-           localhost:5004 full-coredump \
-           exec ${VPP_LITE_CONF}/rtr.config } \
-    api-trace { on } chroot {prefix rtr}
+  # generate config files
+  ./scripts/generate_config.py ${VPP_LITE_CONF} ${CFG_METHOD}
+
+  start_vpp 5002 vpp1
+  start_vpp 5003 vpp2
+  start_vpp 5004 vpp3
+
+  echo "* Selected configuration method: $CFG_METHOD"
+  if [ "$CFG_METHOD" == "cli" ] ; then
+    echo "exec ${VPP_LITE_CONF}/vpp1.cli" | nc 0 5002
+    echo "exec ${VPP_LITE_CONF}/vpp2.cli" | nc 0 5003
+    echo "exec ${VPP_LITE_CONF}/vpp3.cli" | nc 0 5004
+  elif [ "$CFG_METHOD" == "vat" ] ; then
+    sleep 2
+    ${VPP_API_TEST} chroot prefix vpp1 script in ${VPP_LITE_CONF}/vpp1.vat
+    ${VPP_API_TEST} chroot prefix vpp2 script in ${VPP_LITE_CONF}/vpp2.vat
+    ${VPP_API_TEST} chroot prefix vpp3 script in ${VPP_LITE_CONF}/vpp3.vat
+  else
+    echo "=== WARNING:"
+    echo "=== Invalid configuration method selected!"
+    echo "=== To resolve this set env variable CFG_METHOD to vat or cli."
+    echo "==="
+  fi
 
   post_curl "add-mapping" ${ODL_CONFIG_FILE1}
   post_curl "add-mapping" ${ODL_CONFIG_FILE2}