/*) ;;
*) srcdir=`pwd`/$srcdir ;;
esac
-if test ! -e "$srcdir"/WHY-OVS; then
+if test ! -e "$srcdir"/WHY-OVS.md; then
echo >&2 'source directory not found, please set $srcdir or run via \"make check-ryu'
exit 1
fi
# 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 \
datapath-type=dummy fail-mode=secure \
protocols='[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13]' \
other-config:datapath-id=$dpid \
- -- set-controller $bridge tcp:127.0.0.1:6633 \
+ -- set-controller $bridge tcp:127.0.0.1:6653 \
-- 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...
EOF
logfile=$sandbox/`echo $app | sed 's,/,.,g'`.log
logs="$logs
- $sandbox/$logfile.log"
- ryu-manager "$app" --log-file="$logfile" & pid=$!
+ $logfile"
+ ryu-manager --ofp-tcp-listen-port=6653 "$app" --log-file="$logfile" & pid=$!
echo $pid > "$sandbox/ryu.pid"
i=0
while sleep 1; do
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