Hi, Sorry to bother you all. I have a typical problem sharing DSL upstream bandwidth with users. I have 3 types of traffic high-priority, medium-priority and low priority. My upstream rate is 960kbits. Traffic (any priority) can vary in bandwidth from 0 to 960kbits. I have a test setup where I can pump 600kbit of high priority sustained and I have 400kbit of low priority traffic sustained. I expect after the 600kbit high-priority traffic, the remaining 360kbit should be allocated to the medium and low priority. Since I do not have medium-priority everything should go to low-priority traffic. However, I do not see that behavior with the following tc script I have ----------- Begin Script ------------- # delete any existing qdiscs tc qdisc del dev ppp0 root # setup PRIO qdisc with 3 bands tc qdisc add dev ppp0 root handle 1: prio band 3 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # filter traffic for high priority based on TOS field tc filter add dev ppp0 parent 1:0 prio 1 protocol ip u32 match ip tos 0x28 0xff flowid 1:1 tc filter add dev ppp0 parent 1:0 prio 1 protocol ip u32 match ip tos 0x48 0xff flowid 1:2 tc filter add dev ppp0 parent 1:0 prio 1 protocol ip u32 match ip tos 0x58 0xff flowid 1:3 # use ebtables to set the TOS field. First flush the rules ebtables -t broute -F ebtables -t broute -I BROUTING 1 -j ftos --set-ftos 0x28 -p IPv4 --ip-src 192.168.1.151/32 ebtables -t broute -I BROUTING 2 -j ftos --set-ftos 0x48 -p IPv4 --ip-src 192.168.1.152/32 ebtables -t broute -I BROUTING 3 -j ftos --set-ftos 0x58 -p IPv4 --ip-src 192.168.1.153/32 ----------- End Script ------------------ What I see is the high priority traffic is leaving at 600kbits as I measure it on my test equipment. However, I do not see any low-priority or medium-priority traffic coming out of the box. I would appreciate if you folks can please give me a hint as to what is happening and also any possible solutions. I need hard PRIO but the unused bandwidth should be shared by the other traffic. I am using Linux kernel 2.6.8.1 and iproute2 (iproute2-2.6.8-ss040730.tar.gz). Regards, Pavan Kumar _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
Pavan Kumar wrote:> Hi, > Sorry to bother you all. I have a typical problem sharing DSL upstream > bandwidth with users. I have 3 types of traffic high-priority, > medium-priority and low priority. My upstream rate is 960kbits. Traffic (any > priority) can vary in bandwidth from 0 to 960kbits. I have a test setup > where I can pump 600kbit of high priority sustained and I have 400kbit of > low priority traffic sustained. I expect after the 600kbit high-priority > traffic, the remaining 360kbit should be allocated to the medium and low > priority. Since I do not have medium-priority everything should go to > low-priority traffic. However, I do not see that behavior with the following > tc script I have > > ----------- Begin Script ------------- > # delete any existing qdiscs > tc qdisc del dev ppp0 root > # setup PRIO qdisc with 3 bands > tc qdisc add dev ppp0 root handle 1: prio band 3 priomap 0 0 0 0 0 0 0 0 0 0 > 0 0 0 0 0 0 > # filter traffic for high priority based on TOS field > tc filter add dev ppp0 parent 1:0 prio 1 protocol ip u32 match ip tos 0x28 > 0xff flowid 1:1 > tc filter add dev ppp0 parent 1:0 prio 1 protocol ip u32 match ip tos 0x48 > 0xff flowid 1:2 > tc filter add dev ppp0 parent 1:0 prio 1 protocol ip u32 match ip tos 0x58 > 0xff flowid 1:3 > > # use ebtables to set the TOS field. First flush the rules > ebtables -t broute -F > ebtables -t broute -I BROUTING 1 -j ftos --set-ftos 0x28 -p IPv4 --ip-src > 192.168.1.151/32 > ebtables -t broute -I BROUTING 2 -j ftos --set-ftos 0x48 -p IPv4 --ip-src > 192.168.1.152/32 > ebtables -t broute -I BROUTING 3 -j ftos --set-ftos 0x58 -p IPv4 --ip-src > 192.168.1.153/32 > > ----------- End Script ------------------ > > What I see is the high priority traffic is leaving at 600kbits as I measure > it on my test equipment. However, I do not see any low-priority or > medium-priority traffic coming out of the box. I would appreciate if you > folks can please give me a hint as to what is happening and also any > possible solutions. I need hard PRIO but the unused bandwidth should be > shared by the other traffic. I am using Linux kernel 2.6.8.1 and iproute2 > (iproute2-2.6.8-ss040730.tar.gz).You need to have prio as an htb class as it doesn''t rate limit otherwise . You''ll also need to back off from your dsl rate to allow for overheads as they can be significant especially with lots of small packets. Andy.