+AT_SETUP([ovs-ofctl parse-flow with invalid mask])
+for test_case in \
+ 'tun_tos 1/1' \
+ 'tun_ttl 1/1' \
+ 'skb_priority 1/1' \
+ 'eth_type 0x1234/0x1' \
+ 'dl_vlan 9/0x1' \
+ 'dl_vlan_pcp 6/0x1' \
+ 'vlan_pcp 5/0x1' \
+ 'mpls mpls_label 5/0x1' \
+ 'mpls mpls_tc 1/0x1' \
+ 'mpls mpls_bos 1/0x1' \
+ 'ip nw_proto 1/1' \
+ 'ipv6 nw_proto 1/1' \
+ 'ip nw_tos 0xf0/0xf0' \
+ 'ipv6 nw_tos 0xf0/0xf0' \
+ 'ip nw_tos_shifted 0x3c/0xf0' \
+ 'ipv6 nw_tos_shifted 0x3c/0xf0' \
+ 'ip nw_ecn 1/1' \
+ 'ipv6 nw_ecn 1/1' \
+ 'ip nw_ttl 5/1' \
+ 'ipv6 nw_ttl 5/1' \
+ 'arp arp_op 0/1' \
+ 'icmp icmp_type 1/1' \
+ 'icmp icmp_code 2/1' \
+ 'icmp6 icmpv6_code 2/1'
+do
+ set $test_case
+ if test $# = 3; then
+ prereq=$1, field=$2 value=$3
+ else
+ prereq= field=$1 value=$2
+ fi
+ AT_CHECK_UNQUOTED([ovs-ofctl parse-flow "$prereq$field=$value,actions=drop"], [1], [],
+[ovs-ofctl: $value: invalid mask for field $field
+])
+done
+AT_CLEANUP
+