ofp-print: Always print priority exactly once.
[sliver-openvswitch.git] / tests / ofproto.at
1 AT_BANNER([ofproto])
2
3 m4_define([STRIP_XIDS], [[sed 's/ (xid=0x[0-9a-fA-F]*)//']])
4 m4_define([STRIP_DURATION], [[sed 's/\bduration=[0-9.]*s/duration=?s/']])
5
6 m4_define([OFPROTO_START],
7   [OVS_RUNDIR=$PWD; export OVS_RUNDIR
8    OVS_LOGDIR=$PWD; export OVS_LOGDIR
9    trap 'kill `cat ovs-openflowd.pid`' 0
10    AT_CAPTURE_FILE([ovs-openflowd.log])
11    AT_CHECK(
12      [ovs-openflowd --detach --pidfile --enable-dummy --log-file dummy@br0 none --datapath-id=fedcba9876543210 $1],
13      [0], [ignore], [ignore])
14 ])
15
16 m4_define([OFPROTO_STOP],
17   [AT_CHECK([ovs-appctl -t ovs-openflowd exit])
18    trap '' 0])
19
20 AT_SETUP([ofproto - echo request])
21 OFPROTO_START
22 AT_CHECK([ovs-ofctl -vANY:ANY:WARN probe br0])
23 OFPROTO_STOP
24 AT_CLEANUP
25
26 AT_SETUP([ofproto - feature request, config request])
27 OFPROTO_START
28 AT_CHECK([ovs-ofctl -vANY:ANY:WARN show br0], [0], [stdout])
29 AT_CHECK([STRIP_XIDS stdout], [0], [dnl
30 OFPT_FEATURES_REPLY: ver:0x1, dpid:fedcba9876543210
31 n_tables:2, n_buffers:256
32 features: capabilities:0x87, actions:0xfff
33  LOCAL(br0): addr:aa:55:aa:55:00:00, config: 0x1, state:0x1
34 OFPT_GET_CONFIG_REPLY: miss_send_len=0
35 ])
36 OFPROTO_STOP
37 AT_CLEANUP
38
39 AT_SETUP([ofproto - mod-port])
40 OFPROTO_START
41 for command_config_state in \
42     'up 0 0' \
43     'noflood 0x10 0' \
44     'down 0x11 0x1' \
45     'flood 0x1 0x1'
46 do
47     set $command_config_state
48     command=$[1] config=$[2] state=$[3]
49     AT_CHECK([ovs-ofctl -vANY:ANY:WARN mod-port br0 br0 $command])
50     AT_CHECK([ovs-ofctl -vANY:ANY:WARN show br0], [0], [stdout])
51     AT_CHECK_UNQUOTED([STRIP_XIDS stdout], [0], [dnl
52 OFPT_FEATURES_REPLY: ver:0x1, dpid:fedcba9876543210
53 n_tables:2, n_buffers:256
54 features: capabilities:0x87, actions:0xfff
55  LOCAL(br0): addr:aa:55:aa:55:00:00, config: $config, state:$state
56 OFPT_GET_CONFIG_REPLY: miss_send_len=0
57 ])
58 done
59 OFPROTO_STOP
60 AT_CLEANUP
61
62 AT_SETUP([ofproto - basic flow_mod commands])
63 OFPROTO_START
64 AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0], [NXST_FLOW reply:
65 ])
66 AT_CHECK([ovs-ofctl add-flow br0 in_port=1,actions=0])
67 AT_CHECK([ovs-ofctl add-flow br0 in_port=0,actions=1])
68 AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS | STRIP_DURATION], [0], [dnl
69 NXST_FLOW reply:
70  cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=1 actions=output:0
71  cookie=0x0, duration=?s, table_id=0, n_packets=0, n_bytes=0, in_port=65534 actions=output:1
72 ])
73 AT_CHECK([ovs-ofctl del-flows br0])
74 AT_CHECK([ovs-ofctl dump-flows br0 | STRIP_XIDS], [0], [NXST_FLOW reply:
75 ])
76 OFPROTO_STOP
77 AT_CLEANUP