Hi folks, I''m trying to shape two clients in my LAN when accessing the internet. Actual situation is that EVERY traffic goes into 1:40, so the client which should fall into 1:30 does not get the lower uplink it should have, but the uplink defined for the client defined as 1:30 When I disable the definition of 1:40, every traffic falls into 1:30 (except for the traffic defined to be in 1:10 and 1:20, this works) As I''m somewhat new to this, I''m stuck and don''t know what I have to change in order to make it work. Here''s part of the script: tc qdisc del dev $DEV root 2> /dev/null > /dev/null tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null iptables -t mangle -A FORWARD -s 192.168.0.51/29 -j MARK --set-mark 8 iptables -t mangle -A FORWARD -s 192.168.0.55/29 -j MARK --set-mark 128 ###### uplink tc qdisc add dev $DEV root handle 1: htb default 20 tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 6k tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${UPLINK}kbit \ burst 6k prio 1 tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[9*$UPLINK/10]kbit \ burst 6k prio 2 tc class add dev $DEV parent 1:1 classid 1:30 htb rate 64kbit burst 6k prio 3 tc class add dev $DEV parent 1:1 classid 1:40 htb rate 128kbit burst 6k prio 4 tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10 tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10 tc qdisc add dev $DEV parent 1:30 handle 30: sfq perturb 10 tc qdisc add dev $DEV parent 1:40 handle 40: sfq perturb 10 tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \ match ip tos 0x10 0xff flowid 1:10 tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \ match ip protocol 1 0xff flowid 1:10 tc filter add dev $DEV parent 1: protocol ip prio 10 u32 \ match ip protocol 6 0xff \ match u8 0x05 0x0f at 0 \ match u16 0x0000 0xffc0 at 2 \ match u8 0x10 0xff at 33 \ flowid 1:10 tc filter add dev $DEV parent 1:0 protocol ip prio 30 handle 8 fw flowid 1:30 tc filter add dev $DEV parent 1:0 protocol ip prio 40 handle 128 fw flowid 1:40 Can someone help me out ? What goes wrong here ? Thanks in advance. Stephan.
On Tuesday 28 September 2004 08:57, Stephan M. Ott wrote:> Hi folks, > > I''m trying to shape two clients in my LAN when accessing the internet. > Actual situation is that EVERY traffic goes into 1:40, so the client > which should fall into 1:30 does not get the lower uplink it should > have, but the uplink defined for the client defined as 1:30 > When I disable the definition of 1:40, every traffic falls into 1:30 > (except for the traffic defined to be in 1:10 and 1:20, this works) > As I''m somewhat new to this, I''m stuck and don''t know what I have to > change in order to make it work.> Can someone help me out ? What goes wrong here ?The iptables and tc numbers are hex, so try 0x8 and 0x128. iptables -t mangle -A FORWARD -s 192.168.0.51/29 -j MARK --set-mark 0x8 iptables -t mangle -A FORWARD -s 192.168.0.55/29 -j MARK --set-mark 0x128 tc filter add dev $DEV parent 1:0 protocol ip prio 30 handle 0x8 fw flowid 1:30 tc filter add dev $DEV parent 1:0 protocol ip prio 40 handle 0x128 fw flowid 1:40 Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Try this link, might help: http://omg.wp.gg/wshaper-howto/ ----- Original Message ----- From: Stephan M. Ott To: lartc@mailman.ds9a.nl Sent: Tuesday, September 28, 2004 8:57 AM Subject: [LARTC] Shaping not working Hi folks, I''m trying to shape two clients in my LAN when accessing the internet. Actual situation is that EVERY traffic goes into 1:40, so the client which should fall into 1:30 does not get the lower uplink it should have, but the uplink defined for the client defined as 1:30 When I disable the definition of 1:40, every traffic falls into 1:30 (except for the traffic defined to be in 1:10 and 1:20, this works) As I''m somewhat new to this, I''m stuck and don''t know what I have to change in order to make it work. Here''s part of the script: tc qdisc del dev $DEV root 2> /dev/null > /dev/null tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null iptables -t mangle -A FORWARD -s 192.168.0.51/29 -j MARK --set-mark 8 iptables -t mangle -A FORWARD -s 192.168.0.55/29 -j MARK --set-mark 128 ###### uplink tc qdisc add dev $DEV root handle 1: htb default 20 tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 6k tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${UPLINK}kbit \ burst 6k prio 1 tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[9*$UPLINK/10]kbit \ burst 6k prio 2 tc class add dev $DEV parent 1:1 classid 1:30 htb rate 64kbit burst 6k prio 3 tc class add dev $DEV parent 1:1 classid 1:40 htb rate 128kbit burst 6k prio 4 tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10 tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10 tc qdisc add dev $DEV parent 1:30 handle 30: sfq perturb 10 tc qdisc add dev $DEV parent 1:40 handle 40: sfq perturb 10 tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \ match ip tos 0x10 0xff flowid 1:10 tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \ match ip protocol 1 0xff flowid 1:10 tc filter add dev $DEV parent 1: protocol ip prio 10 u32 \ match ip protocol 6 0xff \ match u8 0x05 0x0f at 0 \ match u16 0x0000 0xffc0 at 2 \ match u8 0x10 0xff at 33 \ flowid 1:10 tc filter add dev $DEV parent 1:0 protocol ip prio 30 handle 8 fw flowid 1:30 tc filter add dev $DEV parent 1:0 protocol ip prio 40 handle 128 fw flowid 1:40 Can someone help me out ? What goes wrong here ? Thanks in advance. Stephan.