Ceetm
The following scenario shows how to configure a CEETM qdisc.
Test CEETM QDisc
Description
In this scenario, a CEETM qdisc is configured in DUT0 (‘eth0’ interface) to achieve linksharing among a hierarchy of classes. The difference with HTB is that CEETM uses a hardware-offloaded driver.
Scenario
Step 1: Set the following configuration in DUT0
:
set interfaces ethernet eth1 address 10.0.0.2/24 set interfaces ethernet eth1 traffic control out QDISC set traffic control QDISC type ceetm bandwidth 100 set traffic control QDISC type ceetm class 1 bandwidth percentage 50 set traffic control QDISC type ceetm class 1 ceiling percentage 100 set traffic control QDISC type ceetm class 2 bandwidth percentage 20 set traffic control QDISC type ceetm class 2 ceiling percentage 0 set traffic control QDISC type ceetm class 3 bandwidth percentage 10 set traffic control QDISC type ceetm class 3 ceiling percentage 0 set traffic control QDISC type ceetm match 1 class 1 set traffic control QDISC type ceetm match 1 ip destination port 8080 set traffic control QDISC type ceetm match 2 class 2 set traffic control QDISC type ceetm match 2 ip protocol tcp set traffic control QDISC type ceetm default-class 3
Step 2: Set the following configuration in DUT1
:
set interfaces ethernet eth0 address 10.0.0.1/24
Step 3: Ping IP address 10.0.0.1
from DUT0
:
admin@DUT0$ ping 10.0.0.1 count 1 size 56 timeout 1Show output
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=373 ms --- 10.0.0.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 373.030/373.030/373.030/0.000 ms
Step 4: Initiate a bandwidth test from DUT0
to DUT1
admin@DUT1$ monitor test performance server port 8080 admin@DUT0$ monitor test performance client 10.0.0.1 duration 5 port 8080Expect this output in
DUT0
:Connecting to host 10.0.0.1, port 8080 [ 5] local 10.0.0.2 port 34194 connected to 10.0.0.1 port 8080 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 13.5 MBytes 113 Mbits/sec 19 513 KBytes [ 5] 1.00-2.00 sec 11.9 MBytes 99.6 Mbits/sec 32 482 KBytes [ 5] 2.00-3.00 sec 10.6 MBytes 89.1 Mbits/sec 0 532 KBytes [ 5] 3.00-4.00 sec 11.8 MBytes 99.0 Mbits/sec 0 566 KBytes [ 5] 4.00-5.00 sec 10.7 MBytes 89.7 Mbits/sec 27 431 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-5.00 sec 58.5 MBytes 98.1 Mbits/sec 78 sender [ 5] 0.00-5.04 sec 56.5 MBytes 94.1 Mbits/sec receiver iperf Done.
Step 5: Initiate a bandwidth test from DUT0
to DUT1
admin@DUT1$ monitor test performance server port 1234 admin@DUT0$ monitor test performance client 10.0.0.1 duration 5 port 1234Expect this output in
DUT0
:Connecting to host 10.0.0.1, port 1234 [ 5] local 10.0.0.2 port 43418 connected to 10.0.0.1 port 1234 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 2.80 MBytes 23.5 Mbits/sec 0 144 KBytes [ 5] 1.00-2.00 sec 2.86 MBytes 24.0 Mbits/sec 0 260 KBytes [ 5] 2.00-3.00 sec 2.49 MBytes 20.8 Mbits/sec 0 375 KBytes [ 5] 3.00-4.00 sec 3.42 MBytes 28.7 Mbits/sec 0 489 KBytes [ 5] 4.00-5.00 sec 2.17 MBytes 18.2 Mbits/sec 52 464 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-5.00 sec 13.7 MBytes 23.1 Mbits/sec 52 sender [ 5] 0.00-5.20 sec 11.7 MBytes 18.8 Mbits/sec receiver iperf Done.
Step 6: Run command traffic control show
at DUT0
and check if output contains the following tokens:
class 1 class 2 class 3Show output
Traffic control for interface 'eth1' - 'egress' mode -------------------------------------------------------------------------- ID traffic control type parent bytes sent pkts sent pkts dropped -------------------------------------------------------------------------- 1:0 QDISC ceetm root 75874441 50164 129 1:1 QDISC class 1 1:0 546684574 41253 0 1:2 QDISC class 2 1:0 25847379 8772 0 1:3 QDISC class 3 1:0 1104 10 0 2:0 - ceetm 1:1 0 0 0 3:0 - ceetm 1:2 0 0 0 4:0 - ceetm 1:3 0 0 0