Hi all, I see that I can define a linklayer in tc as either: tc qdisc add dev eth2 root handle 1: stab linklayer ethernet mtu 1500 htb tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit or tc qdisc add dev eth2 root handle 1: htb tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit linklay ethernet mtu 1500 Questions: 1. What is the difference between the two? 2. Do I have to define linklay to their subsclasses too? In both cases? 3. When I run the second set (linklay to class), 'tc -s -d class show dev eth2' does not show any linklayer. Is it really there? 4. What if I need to have nested htb classes with different linklayers? Example: I first define an Ethernet linklayer to eth2 (same as the first set above): tc qdisc add dev eth2 root handle 1: stab linklayer ethernet mtu 1500 htb tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit Then, I define a class that matches traffic towards my ADSL router, which has a different linklayer: tc class add dev eth2 parent 1:1 classid 1:12 htb rate 600kbit ceil 600kbit tc qdisc add dev eth2 stab linklayer adsl overhead 26 mtu 1492 parent 1:12 handle 12: htb tc class add dev eth2 parent 12: classid 12:1 htb rate 600kbit ceil 600kbit This works. It is accepted by tc. It does shape traffic to 600kbit and it does respect the rate of 12:1 subsclasses. However, for all subsclasses of 12:1, it does not respect their priority. It ballances traffic between them, as if all subsclasses of 12:1 have the same prio. Why? Sometimes, when I run the above commands for the nested class with a different linklayer, kernel prints: htb: htb qdisc 12: is non-work-conserving? Is this an error? 5. Is there an alternate/better way to define nested classes with different linklayers? Regards, Costa Tsaousis PS: I am developing a tool to handle traffic shapping: https://github.com/ktsaou/firehol/wiki/FireQOS -- To unsubscribe from this list: send the line "unsubscribe lartc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html