Wfq
The following scenario shows how to configure a WFQ qdisc.
Test WFQ QDisc
Description
In this scenario, a WFQ qdisc is configured in DUT0 (‘eth0’ interface) to achieve linksharing among a hierarchy of classes. Since hardware offload is not configured, HTB is used internally.
Scenario
Step 1: Set the following configuration in DUT0
:
set interfaces ethernet eth0 address 10.0.0.2/24 set interfaces ethernet eth0 traffic control out QDISC set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' set traffic control QDISC type wfq bandwidth 100 set traffic control QDISC type wfq class 1 weight 50 set traffic control QDISC type wfq class 2 weight 30 set traffic control QDISC type wfq class 8 weight 20 set traffic control QDISC type wfq default-class 8 set traffic control QDISC type wfq match 1 class 1 set traffic control QDISC type wfq match 1 ip destination port 8080 set traffic control QDISC type wfq match 2 class 2 set traffic control QDISC type wfq match 2 ip protocol tcp
Step 2: Set the following configuration in DUT1
:
set interfaces ethernet eth0 address 10.0.0.1/24 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
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=0.568 ms --- 10.0.0.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.568/0.568/0.568/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 8080 parallel 1Expect this output in
DUT0
:Connecting to host 10.0.0.1, port 8080 [ 5] local 10.0.0.2 port 40362 connected to 10.0.0.1 port 8080 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 14.2 MBytes 119 Mbits/sec 104 99.0 KBytes [ 5] 1.00-2.00 sec 11.2 MBytes 94.4 Mbits/sec 50 84.8 KBytes [ 5] 2.00-3.00 sec 11.7 MBytes 98.5 Mbits/sec 10 83.4 KBytes [ 5] 3.00-4.00 sec 11.2 MBytes 93.8 Mbits/sec 0 83.4 KBytes [ 5] 4.00-5.00 sec 11.2 MBytes 93.8 Mbits/sec 26 102 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-5.00 sec 59.5 MBytes 99.9 Mbits/sec 190 sender [ 5] 0.00-5.00 sec 58.4 MBytes 98.0 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 1234 parallel 1Expect this output in
DUT0
:Connecting to host 10.0.0.1, port 1234 [ 5] local 10.0.0.2 port 54496 connected to 10.0.0.1 port 1234 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 13.9 MBytes 117 Mbits/sec 38 86.3 KBytes [ 5] 1.00-2.00 sec 11.3 MBytes 94.9 Mbits/sec 23 107 KBytes [ 5] 2.00-3.00 sec 11.3 MBytes 94.9 Mbits/sec 10 83.4 KBytes [ 5] 3.00-4.00 sec 11.3 MBytes 94.9 Mbits/sec 12 91.9 KBytes [ 5] 4.00-5.00 sec 11.7 MBytes 98.5 Mbits/sec 25 83.4 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-5.00 sec 59.6 MBytes 100 Mbits/sec 108 sender [ 5] 0.00-5.00 sec 58.5 MBytes 98.0 Mbits/sec receiver iperf Done.
Step 6: Run command traffic control show
at DUT0
and check if output contains the following tokens:
htb class 1 class 2 class 8 (default)Show output
Traffic control for interface 'eth0' - 'egress' mode ------------------------------------------------------------------------------------ ID traffic control type parent bytes sent pkts sent pkts dropped ------------------------------------------------------------------------------------ 1:0 QDISC htb root 128331011 84806 19 1:1 QDISC class 1 1:0 64165067 42399 0 1:2 QDISC class 2 1:0 64165088 42399 0 1:8 QDISC class 8 (default) 1:0 856 8 0 2:0 - fq_codel 1:1 64165067 42399 10 3:0 - fq_codel 1:2 64165088 42399 9 4:0 - fq_codel 1:8 856 8 0
Note
Adding the ['set traffic control QDISC type wfq hardware-offload']
command in DUT0, hardware offload
is enabled in the WFQ qdisc. In this case, CEETM is used internally.