From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Smirnov Date: Mon, 07 Jul 2003 16:15:43 +0000 Subject: Re: [LARTC] overlimit in tc statistics MIME-Version: 1 Content-Type: multipart/mixed; boundary="------------020409040901090700070004" Message-Id: List-Id: References: In-Reply-To: To: lartc@vger.kernel.org This is a multi-part message in MIME format. --------------020409040901090700070004 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Stef Coene wrote: >> O'k. I have Debian stable Linux router to Internet. > > > kernel version? 2.4.21 > > >> I want manage Internet traffic on it: >> Increase priority and speed of some protocols and decrease for others. >> I know that I can change this only for outgoing packets. >> First question: >> If I decrease priority and speed for local network interface >> does this mean that priority and speed for Internet interface >> for the same protocol also decreases? >> For example: >> eth0 local network >> eth1 Internet >> >> tc qdisc del dev eth0 root >> tc qdisc add dev eth0 root handle 1 htb default 99 > > > You don't have a 1:99 class. It's best if you have a 1:99 class so all packets not matched by any filters are placed in a class. Yes. I have 1:99 class. I didn't write all script. > > >> tc class add dev eth0 parent 1: classid 1:2 htb rate 256Mbit burst 15k > > > Do you have a 256Mbit link? And 15k is way too low. Remove all burst parameters so htb can calculate the minimum burst for you. It's mistake. Should be 256Kbit > > >> tc class add dev eth0 parent 1:2 classid 1:10 htb rate 64Kbit ceil >> 128Kbit burst 15k prio 4 >> tc qdisc add dev eth0 parent 1:10 handle 10 sfq perturb 10 >> tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip >> sport 80 0xffff match ip dst 192.168.1.0/24 classid 1:10 >> >> Does this means that incoming traffic on eth1 to port 80 will be in >> 64Kbit-128Kbit with prio 4? > > > Yes. Thanks. Second question. I play with htb.init-v0.8.4 from sf.net and QOS configurator from docum.org. I attached my htb script. Then I get statistics: # tc -s -d qdisc show dev eth0 qdisc sfq 80cf: limit 128p quantum 1514b flows 128/1024 Sent 1880603 bytes 3102 pkts (dropped 0, overlimits 0) qdisc sfq 80ce: limit 128p quantum 1514b flows 128/1024 Sent 2184 bytes 30 pkts (dropped 0, overlimits 0) qdisc sfq 80cd: limit 128p quantum 1514b flows 128/1024 Sent 16322 bytes 87 pkts (dropped 0, overlimits 0) qdisc sfq 80cc: limit 128p quantum 1514b flows 128/1024 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc sfq 80cb: limit 128p quantum 1514b flows 128/1024 Sent 10208 bytes 175 pkts (dropped 0, overlimits 0) qdisc sfq 80ca: limit 128p quantum 1514b flows 128/1024 Sent 361 bytes 5 pkts (dropped 0, overlimits 0) qdisc sfq 80c9: limit 128p quantum 1514b flows 128/1024 Sent 1257 bytes 18 pkts (dropped 0, overlimits 0) qdisc sfq 80c8: limit 128p quantum 1514b flows 128/1024 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc sfq 80c7: limit 128p quantum 1514b flows 128/1024 Sent 33893 bytes 94 pkts (dropped 0, overlimits 0) qdisc sfq 80c6: limit 128p quantum 1514b flows 128/1024 Sent 588 bytes 7 pkts (dropped 0, overlimits 0) qdisc htb 1: r2q 10 default 99 direct_packets_stat 0 ver 3.10 Sent 1945416 bytes 3518 pkts (dropped 0, overlimits 1291) htb qdisc 1: has overlimits. Ok. I want to know which class has overlimits # tc -s -d class show dev eth0 class htb 1:99 parent 1:2 leaf 80cf: prio 6 quantum 1638 rate 128Kbit ceil 256Kbit burst 1762b/8 mpu 0b cburst 1926b/8 mpu 0b level 0 Sent 1890707 bytes 3161 pkts (dropped 0, overlimits 0) rate 193bps 1pps lended: 2215 borrowed: 946 giants: 0 tokens: 82550 ctokens: 45375 class htb 1:10 parent 1:2 leaf 80c6: prio 3 quantum 3276 rate 256Kbit ceil 10Mbit burst 1926b/8 mpu 0b cburst 14704b/8 mpu 0b level 0 Sent 588 bytes 7 pkts (dropped 0, overlimits 0) lended: 7 borrowed: 0 giants: 0 tokens: 46575 ctokens: 9152 class htb 1:2 root rate 10Mbit ceil 10Mbit burst 14704b/8 mpu 0b cburst 14704b/8 mpu 0b level 7 Sent 1995212 bytes 3654 pkts (dropped 0, overlimits 0) rate 232bps 1pps lended: 970 borrowed: 0 giants: 0 tokens: 9122 ctokens: 9122 class htb 1:20 parent 1:2 leaf 80c7: prio 7 quantum 1000 rate 64Kbit ceil 128Kbit burst 1680b/8 mpu 0b cburst 1762b/8 mpu 0b level 0 Sent 71129 bytes 126 pkts (dropped 0, overlimits 0) rate 5bps lended: 102 borrowed: 24 giants: 0 tokens: -88558 ctokens: -61071 class htb 1:30 parent 1:2 leaf 80c8: prio 4 quantum 1638 rate 128Kbit ceil 256Kbit burst 1762b/8 mpu 0b cburst 1926b/8 mpu 0b level 0 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) lended: 0 borrowed: 0 giants: 0 tokens: 88149 ctokens: 48174 class htb 1:40 parent 1:2 leaf 80c9: prio 5 quantum 1000 rate 64Kbit ceil 128Kbit burst 1680b/8 mpu 0b cburst 1762b/8 mpu 0b level 0 Sent 1257 bytes 18 pkts (dropped 0, overlimits 0) lended: 18 borrowed: 0 giants: 0 tokens: 135497 ctokens: 75947 class htb 1:51 parent 1:2 leaf 80cd: prio 2 quantum 1000 rate 64Kbit ceil 128Kbit burst 1680b/8 mpu 0b cburst 1762b/8 mpu 0b level 0 Sent 16396 bytes 88 pkts (dropped 0, overlimits 0) rate 3bps lended: 88 borrowed: 0 giants: 0 tokens: 160900 ctokens: 84550 class htb 1:41 parent 1:2 leaf 80ca: prio 5 quantum 1000 rate 64Kbit ceil 128Kbit burst 1680b/8 mpu 0b cburst 1762b/8 mpu 0b level 0 Sent 361 bytes 5 pkts (dropped 0, overlimits 0) lended: 5 borrowed: 0 giants: 0 tokens: 163300 ctokens: 85750 class htb 1:50 parent 1:2 leaf 80cc: prio 1 quantum 1638 rate 128Kbit ceil 256Kbit burst 1762b/8 mpu 0b cburst 1926b/8 mpu 0b level 0 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) lended: 0 borrowed: 0 giants: 0 tokens: 88149 ctokens: 48174 class htb 1:42 parent 1:2 leaf 80cb: prio 5 quantum 1000 rate 64Kbit ceil 128Kbit burst 1680b/8 mpu 0b cburst 1762b/8 mpu 0b level 0 Sent 12590 bytes 219 pkts (dropped 0, overlimits 0) rate 32bps lended: 219 borrowed: 0 giants: 0 tokens: 163300 ctokens: 85750 class htb 1:60 parent 1:2 leaf 80ce: prio 1 quantum 3276 rate 256Kbit ceil 10Mbit burst 1926b/8 mpu 0b cburst 14704b/8 mpu 0b level 0 Sent 2184 bytes 30 pkts (dropped 0, overlimits 0) rate 1bps lended: 30 borrowed: 0 giants: 0 tokens: 41178 ctokens: 9020 Opps. All overlimits in classes is zero! That I wrote in my first message. It's strange for me. I want to know what protocol had overlimit. # tc -V tc utility, iproute2-ss020116 > > Stef > -- Sergey Smirnov --------------020409040901090700070004 Content-Type: text/x-sh; name="my_htb_init.sh" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="my_htb_init.sh" /qos/bin/tc qdisc del dev eth0 root /qos/bin/tc qdisc add dev eth0 root handle 1: htb default 99 /qos/bin/tc class add dev eth0 parent 1: classid 1:2 htb rate 1280kbps ceil 1280kbps # http /qos/bin/tc class add dev eth0 parent 1:2 classid 1:10 htb rate 32kbps ceil 1280kbps prio 3 /qos/bin/tc qdisc add dev eth0 parent 1:10 sfq # smtp /qos/bin/tc class add dev eth0 parent 1:2 classid 1:20 htb rate 8kbps ceil 16kbps prio 7 /qos/bin/tc qdisc add dev eth0 parent 1:20 sfq # ftp /qos/bin/tc class add dev eth0 parent 1:2 classid 1:30 htb rate 16kbps ceil 32kbps prio 4 /qos/bin/tc qdisc add dev eth0 parent 1:30 sfq # imap /qos/bin/tc class add dev eth0 parent 1:2 classid 1:40 htb rate 8kbps ceil 16kbps prio 5 /qos/bin/tc qdisc add dev eth0 parent 1:40 sfq # imaps /qos/bin/tc class add dev eth0 parent 1:2 classid 1:41 htb rate 8kbps ceil 16kbps prio 5 /qos/bin/tc qdisc add dev eth0 parent 1:41 sfq # pop3 /qos/bin/tc class add dev eth0 parent 1:2 classid 1:42 htb rate 8kbps ceil 16kbps prio 5 /qos/bin/tc qdisc add dev eth0 parent 1:42 sfq # cherep /qos/bin/tc class add dev eth0 parent 1:2 classid 1:50 htb rate 16kbps ceil 32kbps prio 1 /qos/bin/tc qdisc add dev eth0 parent 1:50 sfq # gre /qos/bin/tc class add dev eth0 parent 1:2 classid 1:51 htb rate 8kbps ceil 16kbps prio 2 /qos/bin/tc qdisc add dev eth0 parent 1:51 sfq # ssh /qos/bin/tc class add dev eth0 parent 1:2 classid 1:60 htb rate 32kbps ceil 1280kbps prio 1 /qos/bin/tc qdisc add dev eth0 parent 1:60 sfq # default /qos/bin/tc class add dev eth0 parent 1:2 classid 1:99 htb rate 16kbps ceil 32kbps prio 6 /qos/bin/tc qdisc add dev eth0 parent 1:99 sfq # Filter name : smtp /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip dport 25 0xffff classid 1:20 # Filter name : ssh /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip dport 22 0xffff classid 1:60 # Filter name : cherep /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip src 195.161.152.82 classid 1:50 # Filter name : imap /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip dport 143 0xffff classid 1:40 # Filter name : http /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip dport 80 0xffff classid 1:10 # Filter name : pop3 /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip dport 110 0xffff classid 1:42 # Filter name : ftp /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip dport 20 0xffff classid 1:30 # Filter name : imaps /qos/bin/tc filter add dev eth0 parent 1: protocol ip u32 match ip dport 993 0xffff classid 1:41 # Filter name : gre # type : fw /qos/bin/tc filter add dev eth0 parent 1: protocol ip handle 6 fw classid 1:51 /qos/bin/tc qdisc del dev eth1 root /qos/bin/tc qdisc add dev eth1 root handle 1: htb default 99 /qos/bin/tc class add dev eth1 parent 1: classid 1:2 htb rate 1280kbps ceil 1280kbps # http /qos/bin/tc class add dev eth1 parent 1:2 classid 1:10 htb rate 32kbps ceil 1280kbps prio 3 /qos/bin/tc qdisc add dev eth1 parent 1:10 sfq # smtp /qos/bin/tc class add dev eth1 parent 1:2 classid 1:20 htb rate 8kbps ceil 16kbps prio 7 /qos/bin/tc qdisc add dev eth1 parent 1:20 sfq # ftp /qos/bin/tc class add dev eth1 parent 1:2 classid 1:30 htb rate 16kbps ceil 32kbps prio 4 /qos/bin/tc qdisc add dev eth1 parent 1:30 sfq # imap /qos/bin/tc class add dev eth1 parent 1:2 classid 1:40 htb rate 8kbps ceil 16kbps prio 5 /qos/bin/tc qdisc add dev eth1 parent 1:40 sfq # imaps /qos/bin/tc class add dev eth1 parent 1:2 classid 1:41 htb rate 8kbps ceil 16kbps prio 5 /qos/bin/tc qdisc add dev eth1 parent 1:41 sfq # pop3 /qos/bin/tc class add dev eth1 parent 1:2 classid 1:42 htb rate 8kbps ceil 16kbps prio 5 /qos/bin/tc qdisc add dev eth1 parent 1:42 sfq # cherep /qos/bin/tc class add dev eth1 parent 1:2 classid 1:50 htb rate 16kbps ceil 32kbps prio 1 /qos/bin/tc qdisc add dev eth1 parent 1:50 sfq # ssh /qos/bin/tc class add dev eth1 parent 1:2 classid 1:60 htb rate 32kbps ceil 32kbps prio 1 /qos/bin/tc qdisc add dev eth1 parent 1:60 sfq # default /qos/bin/tc class add dev eth1 parent 1:2 classid 1:99 htb rate 8kbps ceil 32kbps prio 6 /qos/bin/tc qdisc add dev eth1 parent 1:99 sfq # gre /qos/bin/tc class add dev eth1 parent 1:2 classid 1:51 htb rate 8kbps ceil 16kbps prio 2 /qos/bin/tc qdisc add dev eth1 parent 1:51 sfq # Filter name : smtp /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dport 25 0xffff classid 1:20 # Filter name : ssh /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dport 22 0xffff classid 1:60 # Filter name : cherep /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dst 195.161.152.82 classid 1:50 # Filter name : imap /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dport 143 0xffff classid 1:40 # Filter name : http /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dport 80 0xffff classid 1:10 # Filter name : pop3 /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dport 110 0xffff classid 1:42 # Filter name : ftp /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dport 20 0xffff classid 1:30 # Filter name : gre # type : fw /qos/bin/tc filter add dev eth1 parent 1: protocol ip handle 6 fw classid 1:51 # Filter name : imaps /qos/bin/tc filter add dev eth1 parent 1: protocol ip u32 match ip dport 993 0xffff classid 1:41 --------------020409040901090700070004-- _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/