Qdisc DSMARK was retired on Linux kernel.
Should find a workaround way to implement similar behavior, because when we use a simple GRED from tc - packets are not automatically distributed to virtual queues.
see old implementation [[ https://github.com/vyos/vyatta-cfg-qos/blob/0b4a05e154c85aab23ee48ac4f08ddc193de9d7d/lib/Vyatta/Qos/RandomDetect.pm#L93 | here ]]
test:
configure traffic policy on VyOS 1.3
```
conf
set traffic-policy random-detect tst
set interfaces ethernet eth0 traffic-policy out tst
commit
```
make simple test:
```
sudo nping --udp --dest-ip 192.168.122.13 --dest-port 80 --data-length 1000 -c 10
sudo nping --tcp --dest-ip 192.168.122.13 --dest-port 80 --data-length 1000 -c 10
```
see tc qdisc statistic:
```
vyos@vyos# tc -s qdisc show dev eth0
qdisc dsmark 1: root refcnt 2 indices 0x0008 set_tc_index
Sent 6524 bytes 22 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc gred 2: parent 1: vqs 8 default 0 grio limit 1514000b
vq 0 prio 8 limit 72Kb min 9Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 12 (624b)
vq 1 prio 7 limit 72Kb min 10Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 0 (0b)
vq 2 prio 6 limit 72Kb min 11Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 0 (0b)
vq 3 prio 5 limit 72Kb min 12Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 0 (0b)
vq 4 prio 4 limit 72Kb min 13Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 0 (0b)
vq 5 prio 3 limit 72Kb min 14Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 0 (0b)
vq 6 prio 2 limit 72Kb min 15Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 10 (5900b)
vq 7 prio 1 limit 72Kb min 16Kb max 18Kb
Queue size: average 0b current 0b
Dropped packets: forced 0 early 0 pdrop 0 other 0
Marked packets: forced 0 early 0
Total packets: 0 (0b)
Sent 6524 bytes 22 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
```
In this statistic we can see different traffic type in different queues
total 22 pkt in dsmark as root, and 12 pkt in default vq 0 and 10 pkt in vq 6
but in VyOS 1.4 and more I see all packets in the default vq with the same test and config