run-ryu: Use unix socket rather than patch ports
[sliver-openvswitch.git] / tests / run-ryu
index 678980f..f63123e 100755 (executable)
@@ -66,11 +66,11 @@ run ovs-vswitchd --detach --no-chdir --pidfile -vconsole:off --log-file \
 
 # Add bridges for Ryu to use, and configure them to connect to Ryu.
 for config in \
-    'br0 0000000000000001 a c b d' \
-    'br1 0000000000000002 c a d b'
+    'br0 0000000000000001 a b pstream=punix' \
+    'br1 0000000000000002 c d stream=unix'
 do
     set $config
-    bridge=$1 dpid=$2 port1=$3 peer1=$4 port2=$5 peer2=$6
+    bridge=$1 dpid=$2 port1=$3 port2=$4 stream_mode=$5
     run ovs-vsctl --no-wait \
         -- add-br $bridge \
         -- set bridge $bridge \
@@ -81,21 +81,17 @@ do
         -- set controller $bridge connection-mode=out-of-band \
                                   max-backoff=1000 \
         -- add-port $bridge $port1 \
-        -- set interface $port1 ofport_request=1 type=patch options:peer=$peer1 \
+       -- set interface $port1 ofport_request=1 type=dummy \
+                                options:${stream_mode}:"$sandbox"/p1.sock \
         -- add-port $bridge $port2 \
-        -- set interface $port2 ofport_request=2 type=patch options:peer=$peer2
+        -- set interface $port2 ofport_request=2 type=dummy \
+                                options:${stream_mode}:"$sandbox"/p2.sock
 done
 
-# Run Ryu.
-cd $RYUDIR
 logs=
-for app in \
-    ryu/tests/switch/tester.py \
-    ryu/tests/integrated/test_add_flow_v10.py \
-    ryu/tests/integrated/test_request_reply_v12.py \
-    ryu/tests/integrated/test_add_flow_v12_actions.py \
-    ryu/tests/integrated/test_add_flow_v12_matches.py
-do
+
+run_app() {
+    app=$1
     cat <<EOF
 
 --- Running $app...
@@ -103,7 +99,7 @@ do
 EOF
     logfile=$sandbox/`echo $app | sed 's,/,.,g'`.log
     logs="$logs
-        $sandbox/$log.log"
+        $logfile"
     ryu-manager "$app" --log-file="$logfile" & pid=$!
     echo $pid > "$sandbox/ryu.pid"
     i=0
@@ -122,6 +118,26 @@ EOF
     done
     kill $pid
     wait
+}
+
+# Run Ryu.
+cd $RYUDIR
+for app in \
+    ryu/tests/switch/tester.py
+do
+    run_app $app
+done
+
+# tweak OVS setup because the following tests assume single bridge.
+run ovs-vsctl -- del-br br1
+
+for app in \
+    ryu/tests/integrated/test_add_flow_v10.py \
+    ryu/tests/integrated/test_request_reply_v12.py \
+    ryu/tests/integrated/test_add_flow_v12_actions.py \
+    ryu/tests/integrated/test_add_flow_v12_matches.py
+do
+    run_app $app
 done
 
 cat <<EOF