I try to use tc on mips with linux-2.4.18 but the u32 filter dosn''t work I added htb qdisc to linux-2.4.18 and use it to limit the speed in LAN, it only work well on the default class, for example tc qdisc add dev eth0 root handle 1: htb default 10 tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2000kbit tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500kbit ceil 500kbit tc calss add dev eth0 parent 1:1 classid 1:11 htb rate 300kbit ceil 300kbit tc filter add dev eth0 protocol ip u32 match ip dst 192.168.18.100 flowid 1:11 the host 192.168.18.100 have a speed of 500kbit rather than 300kbit. if I don''t set the default 10 class, all this dosn''t have any effect. why? thank you.
Hello 吴明津, Maybe in your filter statement you should use src rather than dst? It is not clear what interface is connected to what hosts. HTH, -Nik 吴明津 wrote:> I try to use tc on mips with linux-2.4.18 but the u32 filter dosn''t work > > I added htb qdisc to linux-2.4.18 and use it to limit the speed in > LAN, it only work well on the default class, for example > > tc qdisc add dev eth0 root handle 1: htb default 10 > tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2000kbit > tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500kbit ceil 500kbit > tc calss add dev eth0 parent 1:1 classid 1:11 htb rate 300kbit ceil 300kbit > tc filter add dev eth0 protocol ip u32 match ip dst 192.168.18.100 > flowid 1:11 > > the host 192.168.18.100 have a speed of 500kbit rather than 300kbit. > > if I don''t set the default 10 class, all this dosn''t have any effect. > > why? > > thank you. > _______________________________________________ > LARTC mailing list > LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
Does the tc and the linux kernel net/sched/ version must match exactly? or the kernel configuration miss some modules? I have compiled in all the Qos and/or fair queueing. thank you for your help. On 7/26/07, 吴明津 <womking@gmail.com> wrote:> I try to use tc on mips with linux-2.4.18 but the u32 filter dosn't work > > I added htb qdisc to linux-2.4.18 and use it to limit the speed in > LAN, it only work well on the default class, for example > > tc qdisc add dev eth0 root handle 1: htb default 10 > tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2000kbit > tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500kbit ceil 500kbit > tc calss add dev eth0 parent 1:1 classid 1:11 htb rate 300kbit ceil 300kbit > tc filter add dev eth0 protocol ip u32 match ip dst 192.168.18.100 flowid 1:11 > > the host 192.168.18.100 have a speed of 500kbit rather than 300kbit. > > if I don't set the default 10 class, all this dosn't have any effect. > > why? > > thank you. >_______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
hello Nikolay Kichukov, Thank you for your help, I have fixed the problem now. I'm not using the tc in a computer, I port the tc to a embedded system, a router runing linux, and I want to control the traffic on LAN, and the WAN is connnect to the Internet by PPPoE. Today I debugged in the linux net/sched/ code and found a bug in the include/net/pkt_cls.h->tc_classify(). when I use PPPoE to access Internet by WAN, the skb->protocol is 0x8864 which is means a PPPoE session packet, so it dose not match the protocol ip which given in the filter, and all the packets will not by classified by the filter. On 7/30/07, Nikolay Kichukov <hijacker@oldum.net> wrote:> Hello 吴明津, > I cannot clearly understand the whole scenario. > > Normally on your router box you have 2 interfaces: > eth0 and eth1 for example > > Let me know which is connected to your LAN and which to your WAN and > which way you want to limit packets. > > Cheers, > -Nik > > 吴明津 wrote: > > thanks Nikolay , > > > > In the filter src means limit the up speed on WAN interface, I want to > > limit the down speed, so it should us u32 to match the dst ip address. > > Besides, I tried src, it didn't work too. > > > > On 7/26/07, Nikolay Kichukov <hijacker@oldum.net> wrote: > >> Hello 吴明津, > >> > >> Maybe in your filter statement you should use src rather than dst? It is > >> not clear what interface is connected to what hosts. > >> > >> HTH, > >> -Nik > >> > >> 吴明津 wrote: > >> > I try to use tc on mips with linux-2.4.18 but the u32 filter dosn't > >> work > >> > > >> > I added htb qdisc to linux-2.4.18 and use it to limit the speed in > >> > LAN, it only work well on the default class, for example > >> > > >> > tc qdisc add dev eth0 root handle 1: htb default 10 > >> > tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2000kbit > >> > tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500kbit ceil > >> 500kbit > >> > tc calss add dev eth0 parent 1:1 classid 1:11 htb rate 300kbit ceil > >> 300kbit > >> > tc filter add dev eth0 protocol ip u32 match ip dst 192.168.18.100 > >> > flowid 1:11 > >> > > >> > the host 192.168.18.100 have a speed of 500kbit rather than 300kbit. > >> > > >> > if I don't set the default 10 class, all this dosn't have any effect. > >> > > >> > why? > >> > > >> > thank you. > >> > _______________________________________________ > >> > LARTC mailing list > >> > LARTC@mailman.ds9a.nl > >> > http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc > >> >_______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc