3

The default tc configuration on my server is:

# tc class show dev ens5
class mq :1 root
class mq :2 root

# tc qdisc show dev ens5
qdisc mq 0: root
qdisc fq 0: parent :2 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 18030 initial_quantum 90150 low_rate_threshold 550Kbit refill_delay 40.0ms
qdisc fq 0: parent :1 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 18030 initial_quantum 90150 low_rate_threshold 550Kbit refill_delay 40.0ms

I'm trying to replicate this exact configuration, but with the values changed.

It seems I cannot change the ones listed above, so I tried the following:

tc qdisc add dev ens5 root mq

This changes the classes for the device to the following:

# tc class show dev ens5
class mq 1:1 root
class mq 1:2 root

However, I cannot seem to create two fq qdiscs with the same handle (0: in the above example)

I'm trying this:

# tc qdisc add dev ens5 parent 1:1 handle 10: fq initial_quantum 48448 maxrate 200Mbit
# tc qdisc add dev ens5 parent 1:2 handle 10: fq initial_quantum 48448 maxrate 200Mbit
Error: Exclusivity flag on, cannot override.

Is there some way that I can have one qdisc which both parent classes point to?

Vasili Syrakis
  • 4,558
  • 3
  • 22
  • 30

1 Answers1

1

Every queue discipline must have unique handle. Also, the graph of queue disciplines and classes should be non-cyclic: every node should have only one parent. So, there isn't way to achieve what you want.

Anton Danilov
  • 5,082
  • 2
  • 13
  • 23