'tun_flags=1/1 none' \
'tun_tos=0 none' \
'tun_ttl=0 none' \
+ 'tun_gbp_id=0 NXM,OXM' \
+ 'tun_gbp_id=0/0x1 NXM,OXM' \
+ 'tun_gbp_flags=0 NXM,OXM' \
+ 'tun_gbp_flags=0/0x1 NXM,OXM' \
'metadata=0 NXM,OXM,OpenFlow11' \
'metadata=1/1 NXM,OXM,OpenFlow11' \
'in_port=1 any' \
[NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_NX_TCP_FLAGS(0fff)
])
-# Check that marshaling in OXM for OF1.2 through OF1.4 gives OXM
-# headers except for TCP flags, which didn't have an OXM definition until
-# OF1.5.
-for version in OpenFlow12 OpenFlow13 OpenFlow14; do
- AT_CHECK([echo "$tcp_flags" | ovs-ofctl parse-oxm $version], [0],
- [OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), NXM_NX_TCP_FLAGS(0fff)
+# Check that marshaling in OXM for OF1.2 gives OXM headers except for
+# TCP flags, which didn't have an OXM definition.
+AT_CHECK([echo "$tcp_flags" | ovs-ofctl parse-oxm OpenFlow12], [0],
+ [OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), NXM_NX_TCP_FLAGS(0fff)
+])
+
+# Check that marshaling in OXM for OF1.3 and OF1.4 gives OXM headers,
+# including the ONF extension for TCP flags introduced in OF1.3.
+AT_CHECK([echo "$tcp_flags" | ovs-ofctl parse-oxm OpenFlow13], [0],
+ [OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), ONFOXM_ET_TCP_FLAGS(0fff)
+])
+AT_CHECK([echo "$tcp_flags" | ovs-ofctl parse-oxm OpenFlow14], [0],
+ [OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), ONFOXM_ET_TCP_FLAGS(0fff)
])
-done
# OpenFlow 1.5 added an OXM header for TCP flags:
AT_CHECK([echo "$tcp_flags" | ovs-ofctl parse-oxm OpenFlow15], [0],
AT_CHECK([ovs-ofctl add-flow br0 priority=22,importance=22,actions=normal])
dnl Importance parameter will only be visible of flows that are added via OF1.4+ if dumped via OF1.4+
-AT_CHECK([ovs-ofctl -O OpenFlow14 dump-flows br0 | ofctl_strip], [0], [dnl
-OFPST_FLOW reply (OF1.4):
- priority=22 actions=NORMAL
+AT_CHECK([ovs-ofctl -O OpenFlow14 dump-flows br0 | ofctl_strip | sed '/ST_FLOW reply/d' | sort], [0], [dnl
importance=21, priority=21 actions=NORMAL
+ priority=22 actions=NORMAL
])
dnl Importance parameter will not be visible if flow is dumped with previous version prior to OF1.4+ whether added via OF1.4+
-AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip], [0], [dnl
-NXST_FLOW reply:
- priority=22 actions=NORMAL
+AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sed '/ST_FLOW reply/d' | sort], [0], [dnl
priority=21 actions=NORMAL
+ priority=22 actions=NORMAL
])
OVS_VSWITCHD_STOP