X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Fofproto.at;h=668246770c72354ea5dfd7837a19e39b127a5def;hb=862d8eed48618b5bfd65e61613ff267a66caa980;hp=0e1d41ba0167b95fff60ec157a7015e9f09549c6;hpb=6647cb8ce75dfcb2bfd2b2c858eb789bd349687a;p=sliver-openvswitch.git diff --git a/tests/ofproto.at b/tests/ofproto.at index 0e1d41ba0..668246770 100644 --- a/tests/ofproto.at +++ b/tests/ofproto.at @@ -275,6 +275,32 @@ AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip], [0], [OFPST_FLO OVS_VSWITCHD_STOP AT_CLEANUP +AT_SETUP([ofproto - flow_mod negative test (OpenFlow 1.1)]) +OVS_VSWITCHD_START( + [set bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13]) +AT_CHECK([ovs-ofctl add-flow -O OpenFlow11 br0 table=1,action=goto_table:2]) +AT_CHECK([ovs-ofctl add-flow -O OpenFlow11 br0 table=1,action=goto_table:1], + [1], [], [stderr]) + +# The output should look like this: +# +# OFPT_ERROR (OF1.1) (xid=0x2): OFPBRC_BAD_TABLE_ID +# OFPT_FLOW_MOD (OF1.1) (xid=0x2): +# (***truncated to 64 bytes from 160***) +# 00000000 02 0e 00 a0 00 00 00 02-00 00 00 00 00 00 00 00 |................| +# 00000010 00 00 00 00 00 00 00 00-01 00 00 00 00 00 80 00 |................| +# 00000020 ff ff ff ff ff ff ff ff-ff ff ff ff 00 00 00 00 |................| +# 00000030 00 00 00 58 00 00 00 00-00 00 03 ff 00 00 00 00 |...X............| +# +# This 'sed' command captures the error message but drops details. +AT_CHECK([sed '/truncated/d +/^000000.0/d' stderr | STRIP_XIDS], [0], + [OFPT_ERROR (OF1.1): OFPBRC_BAD_TABLE_ID +OFPT_FLOW_MOD (OF1.1): +]) +OVS_VSWITCHD_STOP +AT_CLEANUP + AT_SETUP([ofproto - set-field flow_mod commands (NXM)]) OVS_VSWITCHD_START AT_CHECK([ovs-ofctl add-flow br0 ipv6,table=1,in_port=3,actions=drop])