summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGuoshuai Li <ligs@dtdream.com>2018-01-26 16:34:39 +0800
committerBen Pfaff <blp@ovn.org>2018-02-01 13:39:16 -0800
commit5ee33cbdceb042d18416900061329f25e04f98a4 (patch)
tree8c6e71d52065cdad91e51378d0fb001eea4d256f /tests
parentd1ba7d54c2b917694bbe255ad890b0140ec9c9b9 (diff)
downloadopenvswitch-5ee33cbdceb042d18416900061329f25e04f98a4.tar.gz
ovn-nbctl: Add QoS commands.
This patch provides the command line to add/delete/list QoS rule on the logical switch. Signed-off-by: Guoshuai Li <ligs@dtdream.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/ovn-nbctl.at74
-rw-r--r--tests/ovn.at6
2 files changed, 79 insertions, 1 deletions
diff --git a/tests/ovn-nbctl.at b/tests/ovn-nbctl.at
index 5ac4a6d9b..4921417f3 100644
--- a/tests/ovn-nbctl.at
+++ b/tests/ovn-nbctl.at
@@ -230,6 +230,80 @@ OVN_NBCTL_TEST_STOP
AT_CLEANUP
dnl ---------------------------------------------------------------------
+
+AT_SETUP([ovn-nbctl - QoS])
+OVN_NBCTL_TEST_START
+
+AT_CHECK([ovn-nbctl ls-add ls0])
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 600 tcp dscp=63])
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 500 udp rate=100 burst=1000])
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 400 tcp dscp=0 rate=300 burst=3000])
+AT_CHECK([ovn-nbctl qos-add ls0 to-lport 300 tcp dscp=48])
+AT_CHECK([ovn-nbctl qos-add ls0 to-lport 200 ip rate=101])
+AT_CHECK([ovn-nbctl qos-add ls0 to-lport 100 ip4 dscp=13 rate=301 burst=30000])
+
+dnl Add duplicated qos
+AT_CHECK([ovn-nbctl qos-add ls0 to-lport 100 ip4 dscp=11 rate=302 burst=30002], [1], [], [stderr])
+AT_CHECK([grep 'already existed' stderr], [0], [ignore])
+AT_CHECK([ovn-nbctl --may-exist qos-add ls0 to-lport 100 ip4 dscp=11 rate=302 burst=30002])
+
+AT_CHECK([ovn-nbctl qos-list ls0], [0], [dnl
+from-lport 600 (tcp) dscp=63
+from-lport 500 (udp) rate=100 burst=1000
+from-lport 400 (tcp) rate=300 burst=3000 dscp=0
+ to-lport 300 (tcp) dscp=48
+ to-lport 200 (ip) rate=101
+ to-lport 100 (ip4) rate=301 burst=30000 dscp=13
+])
+
+dnl Delete in one direction.
+AT_CHECK([ovn-nbctl qos-del ls0 to-lport])
+AT_CHECK([ovn-nbctl qos-list ls0], [0], [dnl
+from-lport 600 (tcp) dscp=63
+from-lport 500 (udp) rate=100 burst=1000
+from-lport 400 (tcp) rate=300 burst=3000 dscp=0
+])
+
+dnl Delete all qos_rules.
+AT_CHECK([ovn-nbctl qos-del ls0])
+AT_CHECK([ovn-nbctl qos-list ls0], [0], [dnl
+])
+
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 600 ip rate=1000101])
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 400 tcp dscp=44])
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 200 ip burst=1000102 rate=301 dscp=19])
+
+dnl Delete a single flow.
+AT_CHECK([ovn-nbctl qos-del ls0 from-lport 400 tcp])
+AT_CHECK([ovn-nbctl qos-list ls0], [0], [dnl
+from-lport 600 (ip) rate=1000101
+from-lport 200 (ip) rate=301 burst=1000102 dscp=19
+])
+
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 600 ip rate=100010111111], [1], [],
+[ovn-nbctl: 100010111111: rate must in range 1...4294967295.
+])
+
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 600 ip burst=100010111112 rate=100010], [1], [],
+[ovn-nbctl: 100010111112: burst must in range 1...4294967295.
+])
+
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 600 ip dscp=-1], [1], [],
+[ovn-nbctl: -1: dscp must in range 0...63.
+])
+
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 600 ip dscpa=-1], [1], [],
+[ovn-nbctl: dscpa=-1: must be start of "dscp=", "rate=", "burst=".
+])
+
+AT_CHECK([ovn-nbctl qos-add ls0 from-lport 600 ip burst=123], [1], [],
+[ovn-nbctl: One of the rate or dscp must be configured.
+])
+
+OVN_NBCTL_TEST_STOP
+AT_CLEANUP
+
+dnl ---------------------------------------------------------------------
AT_SETUP([ovn-nbctl - NATs])
OVN_NBCTL_TEST_START
AT_CHECK([ovn-nbctl lr-add lr0])
diff --git a/tests/ovn.at b/tests/ovn.at
index d02915e82..734dc6c1d 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -6033,6 +6033,8 @@ check_tos 0
# Mark DSCP with a valid value
qos_id=$(ovn-nbctl --wait=hv -- --id=@lp1-qos create QoS priority=100 action=dscp=48 match="inport\=\=\"lp1\"" direction="from-lport" -- set Logical_Switch lsw0 qos_rules=@lp1-qos)
+AT_CHECK([as hv ovn-nbctl qos-list lsw0 | wc -l], [0], [1
+])
check_tos 48
# check at hv without qos meter
@@ -6065,7 +6067,9 @@ ovn-nbctl --wait=hv set QoS $qos_id match="outport\=\=\"lp2\"" direction="to-lpo
check_tos 63
# Disable DSCP marking
-ovn-nbctl --wait=hv clear Logical_Switch lsw0 qos_rules
+ovn-nbctl --wait=hv qos-del lsw0
+AT_CHECK([as hv ovn-nbctl qos-list lsw0 | wc -l], [0], [0
+])
check_tos 0
# check at hv without qos meter