Hi Martin, I tried the suggested script, but it doesn''t seem to be working, I adapted it along the lines of #include "fields.tc" #include "ports.tc" #define MY_PDA 10.1.1.8 #define MY_LAPTOP 10.1.1.20 #define INTERFACE eth1 dev INTERFACE { egress{ class ( <$video> ) if tcp_sport == 1755 && ip_dst == MY_LAPTOP ; class ( <$video> ) if tcp_sport == 554 && ip_dst == MY_LAPTOP ; class ( <$video> ) if udp_sport == 1755 && ip_dst == MY_LAPTOP ; class ( <$video> ) if udp_sport == 554 && ip_dst == MY_LAPTOP ; class ( <$other> ) if 1; htb() { class ( rate 3500kbps, ceil 3500kbps ) { $video = class ( rate 30kbps, ceil 30kbps ) { sfq; } ; $laptop = class ( rate 50kbps, ceil 1500kbps ) { sfq; } ; $pda = class ( rate 50kbps, ceil 50kbps ) { sfq; } ; $other = class ( rate 150kbps, ceil 150kbps ) { sfq; } ; } } } } The BW of the video stream on the MY_LAPTOP device is roughly 150 kbps, suggesting that is has not been pick up by the criteria. I use this: #!/bin/sh IPTABLES=/sbin/iptables # ALL LINES BELOW ARE NAT ROUTING # flush out all old rules $IPTABLES -F -t nat # turn on NAT (IP MASQ for outgoing packets) $IPTABLES -A POSTROUTING -t nat -o eth0 -j MASQUERADE # enable IP Forwarding (of incoming packets) echo 1 > /proc/sys/net/ipv4/ip_forward route add default gw 10.0.0.1 # WIRELESS CARD SETUP iwconfig eth1 mode ad-hoc iwconfig eth1 essid BKR_FYP To setup my masquerading.... I''m puzzled, can you suggest a way to start debuggin this? Again many thanks, Barry. -------- Original Message -------- Subject: Re: [LARTC] TCNG Date: Wed, 3 Mar 2004 22:55:50 -0600 (CST) From: Martin A. Brown To: Barry Rooney CC: lartc@mailman.ds9a.nl References: <4045B66A.5000306@xcommunications.co.uk> Barry, : Eth0 is connected to a private network which has on it a Media Server : streaming rtsp files Eth1 is a wireless card on an ad-hoc network with : a laptop, a pda, and a desktop. Understood. : The idea is then to imitate different QoS levels to the different : devices, the idea being that the pda shouldn''t need as much bw as the : desktop etc. So the three devices get dhcp leases dependant on their : mac address, and then their ip address is used to identify them and : (hopefully) tc will then allow me to create sfqs for each device. Understood. : I have tested the devices without any shaping, and also with shaping of : all rtsp/mms protocol based traffic to the 50kb class. This works and : has been confirmed by the stats on the media client, it can be quite : clearly seen any way the video starts to jump and stutter. OK. : However I have been unable to get the shaping to only occur on one : device, maybe the laptop for example whose address is 10.1.1.10 I don''t really understand what you mean here. Have you tried creating separate classes for each device? sfq doesn''t do any shaping htb (classes) perform shaping So, here''s a fractured/partial tcng config: #define MY_PDA 10.1.1.8 #define MY_LAPTOP 10.1.1.10 class ( <$video> ) if tcp_sport == PORT_RTSP && ip_dst == MY_LAPTOP ; class ( <$laptop> ) if ip_dst == MY_LAPTOP ; class ( <$pda>) if ip_dst == MY_PDA ; class ( <$other>) if 1 ; htb() { class ( rate 3500kbps, ceil 3500kbps ) { $video = class ( rate 50kbps, ceil 50kbps ) { sfq; } ; $laptop = class ( rate 50kbps, ceil 1500kbps ) { sfq; } ; $pda = class ( rate 50kbps, ceil 50kbps ) { sfq; } ; $other class ( rate 200kbps, ceil 3500kbps ) { sfq; } ; } } I can''t tell if this does what you''d like, but maybe it does. Good luck, -Martin -- Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/