>> If your goal is merely having as many classes as you can, then yes. My goal is not just to make as many classes as possible, but also to use them to do rate limiting per ip per server. Say, I have a list of 10000 IPs and more than 100 servers. So simply if I want few IPs to get speed of says 1Mbps per server but others say speed of 2 Mbps per server. How can I achieve this without having 10000 x 100 classes. These numbers can be large than this and hence I am looking for a generic solution to this. I am using ipset + iptables to classify and not filters. Besides, if tc is allowing me to define qdisc (100:) -> classes (100:1) -> qdisc(1: 2: 3: ) -> classes (1:1,1:2 2:1,2:2 3:1, 3:2 ...) sort of structure (ie like the one shown in ascii tree) then how should those lowest child classes be actually used or consumed or where it can be used?