Re: TC using vlan interface

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Torsten Luettgert wrote:
On Thu, 2006-06-22 at 11:28 -0300, Luciano wrote:
Hi all,

Is it possible to use TC (HTB) in vlan interfaces ?
Where can I find more documentation ?

Yes, that is possible. VLAN interfaces are really
different from the physical interface they reside
on, kernel-wise.

For example, if you put a 1 MBit HTB on eth0,
but no qdisc on VLAN device eth0.1, traffic through
eth0.1 won't be throttled at all. I suspect the same
goes for iptables rules (but didn't try that yet).

Let me explain...
Due to the fact that vlan id's add some 4 bytes to the header of the packet, tc filter does not work properly unless you feed it with an offset and a hex match. I use 801.q and TC with iptables and tc filter rules based on iptables mark with great success. I admit it is more complicated this way, but it works...

iptables -A FORWARD -t mangle -d xxx.xxx.xxx.xxx -j MARK --set-mark 12
iptables -A FORWARD -t mangle -d xxx.xxx.xxx.xxx -j RETURN
tc class add dev eth0 parent 10:1 classid 10:112 htb rate 20Mbit ceil 20Mbit .............. tc filter add dev eth0 parent 10:0 protocol 802.1q prio 90 handle 12 fw flowid 10:112
tc qdisc add dev eth0 parent 10:112 handle 10112 sfq perturb 10

class htb 10:112 parent 10:1 leaf 112: prio 0 rate 20000Kbit ceil 20000Kbit burst 2Kb cburst 11597b
Sent 9638423935 bytes 12057262 pkt (dropped 0, overlimits 0 requeues 0)
rate 268048bit 37pps backlog 0b 0p requeues 0
lended: 11929727 borrowed: 127535 giants: 0
tokens: 806 ctokens: 4719

For documentation, see the LARTC howto and the docs
on the HTB home page. There are also some ready-made
shaping scripts which can help you understanding how
all this works.

Regards,
Torsten

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux