]>
Commit | Line | Data |
---|---|---|
a2cb9dfd BP |
1 | AT_BANNER([ofproto]) |
2 | ||
640c7c94 BP |
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 | ||
a2cb9dfd BP |
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]) | |
640c7c94 | 29 | AT_CHECK([STRIP_XIDS stdout], [0], [dnl |
d1e2cf21 | 30 | OFPT_FEATURES_REPLY: ver:0x1, dpid:fedcba9876543210 |
a2cb9dfd BP |
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 | |
d1e2cf21 | 34 | OFPT_GET_CONFIG_REPLY: miss_send_len=0 |
a2cb9dfd BP |
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]) | |
640c7c94 | 51 | AT_CHECK_UNQUOTED([STRIP_XIDS stdout], [0], [dnl |
d1e2cf21 | 52 | OFPT_FEATURES_REPLY: ver:0x1, dpid:fedcba9876543210 |
a2cb9dfd BP |
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 | |
d1e2cf21 | 56 | OFPT_GET_CONFIG_REPLY: miss_send_len=0 |
a2cb9dfd BP |
57 | ]) |
58 | done | |
59 | OFPROTO_STOP | |
60 | AT_CLEANUP | |
640c7c94 BP |
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 | |
8961de6a BP |
69 | NXST_FLOW reply: |
70 | cookie=0x0, duration=?s, table_id=0, priority=32768, n_packets=0, n_bytes=0, in_port=1 actions=output:0 | |
640c7c94 BP |
71 | cookie=0x0, duration=?s, table_id=0, priority=32768, 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 |