mq의 다중 클래스 대기열을 사용하는 방법

mq의 다중 클래스 대기열을 사용하는 방법

mq에는 기본적으로 많은 클래스가 있습니다. qdisc를 사용하여 연결할 수 있습니다.

하지만 mq는 클래스가 없는 qdisc이므로 mq에 필터를 연결할 수 없습니다.

mq의 카테고리 결정을 어떻게 결정하거나 그렇게 많은 카테고리를 분류할 수 있습니까?

tc qdisc add dev eth0 root handle 1:0 mq
tc qdisc add dev eth0 parent 1:1 handle 10:0 fq
tc qdisc add dev eth0 parent 1:2 handle 20:0 htb

TC qdisc 쇼

qdisc noqueue 0: dev lo root refcnt 2
qdisc mq 1: dev eth0 root
qdisc fq 10: dev eth0 parent 1:1 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 3028b initial_quantum 15140b low_rate_threshold 550Kbit refill_delay 40ms timer_slack 10us horizon 10s horizon_drop
qdisc htb 20: dev eth0 parent 1:2 r2q 10 default 0 direct_packets_stat 0 direct_qlen 1000

그리고 mq에는 많은 클래스가 있습니다

tc 클래스는 dev eth0을 보여줍니다.

class mq 1:1 root leaf 10:
class mq 1:2 root leaf 20:
class mq 1:3 root
class mq 1:4 root
class mq 1:5 root
...
...
...
class mq 1:40 root

이 클래스를 사용하여 tcp 패킷을 fq로, udp 패킷을 htb로 분류하고 필터링하려면 어떻게 해야 합니까?

관련 정보