summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2013-04-18 09:40:48 -0700
committerBen Pfaff <blp@nicira.com>2013-04-18 09:40:48 -0700
commit1638b90642cf9046a463d69bf1ea641cc81f66b2 (patch)
tree9768d8cbc91df3daaa8329c3e273319e5c9cf2ec /tests
parent781d44723705929ba8aea3c39611fe807c453682 (diff)
downloadopenvswitch-1638b90642cf9046a463d69bf1ea641cc81f66b2.tar.gz
Correctly implement the OpenFlow 1.2+ OXM_OF_IP_DSCP field.
NXM puts the DSCP value in bits 2-7 of NXM_OF_IP_TOS. OXM puts the DSCP value in bits 0-6 of OXM_OF_IP_DSCP. Before this commit, Open vSwitch incorrectly implemented OXM_OF_IP_DSCP with the same format as NXM_OF_IP_TOS. This commit fixes the problem and adds a test (previously missing but I don't know why). Reported-by: Hiroshi Miyata <miyahiro.dazu@gmail.com> Tested-by: Hiroshi Miyata <miyahiro.dazu@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/ovs-ofctl.at12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/ovs-ofctl.at b/tests/ovs-ofctl.at
index 075f2e492..d62b085d9 100644
--- a/tests/ovs-ofctl.at
+++ b/tests/ovs-ofctl.at
@@ -1466,6 +1466,12 @@ OXM_OF_VLAN_VID_W(1123/1f0f), OXM_OF_VLAN_PCP(01) # Packets with VID=123 (maske
OXM_OF_VLAN_VID_W(1000/1000) # Packets with any VID, any PCP
OXM_OF_VLAN_VID_W(1000/1000), OXM_OF_VLAN_PCP(01) # Packets with any VID, PCP=1.
+# IP TOS
+OXM_OF_ETH_TYPE(0800) OXM_OF_IP_DSCP(f0)
+OXM_OF_ETH_TYPE(0800) OXM_OF_IP_DSCP(41)
+OXM_OF_ETH_TYPE(0800) OXM_OF_IP_DSCP(3f)
+OXM_OF_IP_DSCP(f0)
+
# IP ECN
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_ECN(03)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_ECN(06)
@@ -1662,6 +1668,12 @@ OXM_OF_VLAN_VID_W(1103/1f0f), OXM_OF_VLAN_PCP(01)
OXM_OF_VLAN_VID_W(1000/1000)
OXM_OF_VLAN_VID_W(1000/1000), OXM_OF_VLAN_PCP(01)
+# IP TOS
+nx_pull_match() returned error OFPBMC_BAD_VALUE
+nx_pull_match() returned error OFPBMC_BAD_VALUE
+OXM_OF_ETH_TYPE(0800), OXM_OF_IP_DSCP(3f)
+nx_pull_match() returned error OFPBMC_BAD_PREREQ
+
# IP ECN
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_ECN(03)
nx_pull_match() returned error OFPBMC_BAD_VALUE