User Tools

Site Tools


mywiki:linux:tc-ca

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mywiki:linux:tc-ca [2025/08/29 11:55] gshaomywiki:linux:tc-ca [2025/08/29 16:35] (current) – [Example to create below queue structures] gshao
Line 1: Line 1:
 +====== Difference between ingress/egress qdisc ======
 +
 +
 | Feature | Ingress Qdisc | egress Qdisc | | Feature | Ingress Qdisc | egress Qdisc |
 | Direction | Incoming traffic | Outgoing traffic | | Direction | Incoming traffic | Outgoing traffic |
Line 15: Line 18:
   * **htb** is a **hierarchical** token bucket used for shaping.   * **htb** is a **hierarchical** token bucket used for shaping.
   * **flowid** assigns traffic to **a specific class**.   * **flowid** assigns traffic to **a specific class**.
 +  * **tc class** is only for egress qdisc, not ingress qdisc
 +  * **lowid :1** in this ingress command is a label or tag used for accounting and statistics: tc filter add dev <interface> parent ffff: protocol ip prio 1 u32 match ip src 0.0.0.0/0 police rate 1mbit burst 10k drop **flowid :1**
 +
  
  
Line 26: Line 32:
 Queue 4 ─┘→ Scheduler 3 → Scheduler 4 → Root Egress Qdisc (eth1) Queue 4 ─┘→ Scheduler 3 → Scheduler 4 → Root Egress Qdisc (eth1)
 </code> </code>
 +
 +Note: 
 +  * use **tc class** to create queue/scheduler structure
 +  * use **tc filter** to map traffic to queue
  
 <code bash t.sh> <code bash t.sh>
Line 64: Line 74:
     match ip src 192.168.1.4/32 flowid 1:212     match ip src 192.168.1.4/32 flowid 1:212
 </code> </code>
 +
 +Delete filter example:
 +  * filter del dev eth1 protocol ip parent 1: prio 1
 +
 +Delete class example: 
 +  * tc class del dev eth1 classid 1:111  # Queue 1
 +  * tc class del dev eth1 classid 1:112  # Queue 2
 +  * tc class del dev eth1 classid 1:211  # Queue 3
 +  * tc class del dev eth1 classid 1:212  # Queue 4
 +  * tc class del dev eth1 classid 1:11   # Scheduler 1
 +  * tc class del dev eth1 classid 1:21   # Scheduler 3
 +  * tc class del dev eth1 classid 1:10   # Scheduler 2
 +  * tc class del dev eth1 classid 1:20   # Scheduler 4
 +
 +Delete qdisc example:
 +  * tc qdisc del dev eth1 root
 +
 +====== example to create multiple chains in the ingress qdisc ======
 +
 +
 +====== example to create multiple chains in the egress qdisc ======
 +
 +
mywiki/linux/tc-ca.1756439710.txt.gz · Last modified: by gshao