summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Tu <u9012063@gmail.com>2021-02-18 07:24:49 -0800
committerIlya Maximets <i.maximets@ovn.org>2021-03-01 19:37:57 +0100
commitf013e6f2d608719f190c7dadb6849bed07a9e6eb (patch)
tree173bdb564c3197581b9b934947c621b08e655863
parent39b937f064347884614002c9bdac79382a144fca (diff)
downloadopenvswitch-f013e6f2d608719f190c7dadb6849bed07a9e6eb.tar.gz
Documentation: Fix DPDK qos example.
Fix the example use case based on the decription. EIR and CIR are measured in bytes/sec and considered 64-byte IP packets size withtout 14-byte Ethernet header. So fix the 1000pps example by: (64 - 14) * 1000 = 50,000 If the frame includes 4-byte FCS header, then it's (64 - 14 - 4) * 1000 = 46,000 Fixes: e61bdffc2a98 ("netdev-dpdk: Add new DPDK RFC 4115 egress policer") Signed-off-by: William Tu <u9012063@gmail.com> Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
-rw-r--r--Documentation/topics/dpdk/qos.rst14
-rw-r--r--vswitchd/vswitch.xml6
2 files changed, 12 insertions, 8 deletions
diff --git a/Documentation/topics/dpdk/qos.rst b/Documentation/topics/dpdk/qos.rst
index 103495415..a98ec672f 100644
--- a/Documentation/topics/dpdk/qos.rst
+++ b/Documentation/topics/dpdk/qos.rst
@@ -69,22 +69,24 @@ to prioritize certain traffic over others at a port level.
For example, the following configuration will limit the traffic rate at a
port level to a maximum of 2000 packets a second (64 bytes IPv4 packets).
-100pps as CIR (Committed Information Rate) and 1000pps as EIR (Excess
-Information Rate). High priority traffic is routed to queue 10, which marks
+1000pps as CIR (Committed Information Rate) and 1000pps as EIR (Excess
+Information Rate). CIR and EIR are measured in bytes without Ethernet header.
+As a result, 1000pps means (64-byte - 14-byte) * 1000 = 50,000 in the
+configuration below. High priority traffic is routed to queue 10, which marks
all traffic as CIR, i.e. Green. All low priority traffic, queue 20, is
marked as EIR, i.e. Yellow::
$ ovs-vsctl --timeout=5 set port dpdk1 qos=@myqos -- \
--id=@myqos create qos type=trtcm-policer \
- other-config:cir=52000 other-config:cbs=2048 \
- other-config:eir=52000 other-config:ebs=2048 \
+ other-config:cir=50000 other-config:cbs=2048 \
+ other-config:eir=50000 other-config:ebs=2048 \
queues:10=@dpdk1Q10 queues:20=@dpdk1Q20 -- \
--id=@dpdk1Q10 create queue \
- other-config:cir=41600000 other-config:cbs=2048 \
+ other-config:cir=100000 other-config:cbs=2048 \
other-config:eir=0 other-config:ebs=0 -- \
--id=@dpdk1Q20 create queue \
other-config:cir=0 other-config:cbs=0 \
- other-config:eir=41600000 other-config:ebs=2048 \
+ other-config:eir=50000 other-config:ebs=2048
This configuration accomplishes that the high priority traffic has a
guaranteed bandwidth egressing the ports at CIR (1000pps), but it can also
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index a2ad84ede..4597a215d 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -4660,7 +4660,8 @@ ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
packets per second the CIR would be set to to to 46000000. This value
can be broken into '1,000,000 x 46'. Where 1,000,000 is the policing
rate for the number of packets per second and 46 represents the size
- of the packet data for a 64 byte ip packet.
+ of the packet data for a 64 bytes IP packet without 14 bytes Ethernet
+ and 4 bytes FCS header.
</column>
<column name="other_config" key="cbs" type='{"type": "integer"}'>
The Committed Burst Size (CBS) is measured in bytes and represents a
@@ -4681,7 +4682,8 @@ ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
packets per second the EIR would be set to to to 46000000. This value
can be broken into '1,000,000 x 46'. Where 1,000,000 is the policing
rate for the number of packets per second and 46 represents the size
- of the packet data for a 64 byte ip packet.
+ of the packet data for a 64 bytes IP packet without 14 bytes Ethernet
+ and 4 bytes FCS header.
</column>
<column name="other_config" key="ebs" type='{"type": "integer"}'>
The Excess Burst Size (EBS) is measured in bytes and represents a