Does really nobody know wether this does not work? Should it work theoretically?
Maybe you could point me where tc/tcng-experienced people are - I do not want to nerve with this topic since its of course on topic on the debian users list ;-) Thanks for your patience, lg Clemens 2005/9/20, Clemens Eisserer <[EMAIL PROTECTED]>: > Hi there, > > I use a old P90 for routing our LAN into the internet, however > sometimes I want to download large binaries to the server itself which > may not slow down the internet-connection of the PCs in the LAN. > > I wrote a small tcng-skript which should do the trick - basically > assign all available bandwith tho the two end-user pcs in the LAN > (user1, user2) - and only very little minium bandwith to the server > itself (user3). > However if I start to download an iso on the server using wget > browsing is almost impossible on the LAN pcs at all :-( > Any ideas what could be wrong, since I am very new to tcng it could be > easily that I made mistakes or misunderstood something. > Btw. I route the two PCs into the internet doing NAT via iptables. > > Please help, I already tried days to slove it myself but I simply was > not able to find the problem :-( > > Thank you in advance, lg Clemens > > The tcng-"source": > > #include "fields.tc" > #include "ports.tc" > $INTERFACE="ippp0"; > $MAX=75kbps; > $RATE_USER1=60kbps; > $RATE_USER2=12kbps; > $RATE_USER3=3kbps; > > > dev $INTERFACE > { > egress > { > class (<$user1>) if ip_src == 192.168.0.2; > class (<$user2>) if ip_src == 192.168.1.2; > class (<$user3>) if ip_src == 127.0.0.1; > > htb () > { > class (rate $MAX, ceil $MAX) > { > $user1 = class (rate $RATE_USER1, ceil $MAX) {sfq;}; > $user2 = class (rate $RATE_USER2, ceil $MAX) {sfq;}; > $user3 = class (rate $RATE_USER3, ceil $MAX) {sfq;}; > } > } > } > } > > > The resulting tc-skript: > > tc qdisc del dev ippp0 root > > # =============================== Device ippp0 > ================================ > > tc qdisc add dev ippp0 handle 1:0 root dsmark indices 4 default_index 0 > tc qdisc add dev ippp0 handle 2:0 parent 1:0 htb > tc class add dev ippp0 parent 2:0 classid 2:1 htb rate 9375bps ceil 9375bps > tc class add dev ippp0 parent 2:1 classid 2:2 htb rate 7500bps ceil 9375bps > tc qdisc add dev ippp0 handle 3:0 parent 2:2 sfq > tc class add dev ippp0 parent 2:1 classid 2:3 htb rate 1500bps ceil 9375bps > tc qdisc add dev ippp0 handle 4:0 parent 2:3 sfq > tc class add dev ippp0 parent 2:1 classid 2:4 htb rate 375bps ceil 9375bps > tc qdisc add dev ippp0 handle 5:0 parent 2:4 sfq > tc filter add dev ippp0 parent 2:0 protocol all prio 1 tcindex mask 0x3 shift > 0 > tc filter add dev ippp0 parent 2:0 protocol all prio 1 handle 3 > tcindex classid 2:4 > tc filter add dev ippp0 parent 2:0 protocol all prio 1 handle 2 > tcindex classid 2:3 > tc filter add dev ippp0 parent 2:0 protocol all prio 1 handle 1 > tcindex classid 2:2 > tc filter add dev ippp0 parent 1:0 protocol all prio 1 u32 match u32 > 0xc0a80002 0xffffffff at 12 classid 1:1 > tc filter add dev ippp0 parent 1:0 protocol all prio 1 u32 match u32 > 0xc0a80102 0xffffffff at 12 classid 1:2 > tc filter add dev ippp0 parent 1:0 protocol all prio 1 u32 match u32 > 0x7f000001 0xffffffff at 12 classid 1:3 >