Hello: I am trying to set up priority based queue for my VOIP traffic. I am running a RedHat 8.0 machine that is masquerading my internal network which has my PC and a VOIP phone. All VOIP traffic goes to and from my PBX, which is at 10.0.0.20. When I use my phone and try to download a file via FTP on my PC, all of the packets are going into the low priority queue. I typed these commands: echo 1 > /proc/sys/net/ipv4/ip_forward # Create the priority queue /sbin/tc qdisc add dev eth0 root handle 1: prio /sbin/tc qdisc add dev eth0 parent 1:1 handle 10: sfq /sbin/tc qdisc add dev eth0 parent 1:2 handle 20: sfq /sbin/tc qdisc add dev eth0 parent 1:3 handle 30: sfq # Add filters to put high priority packets into queue 1:1 /sbin/tc filter add dev eth0 pref 1 protocol ip parent 1:0 u32 match ip src 10.0.0.20 flowid 1:10 /sbin/tc filter add dev eth0 pref 1 protocol ip parent 1:0 u32 match ip dst 10.0.0.20 flowid 1:10 # Add a filter to put all remaining packets into queue 1:2 /sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 2 u32 match ip dst 0.0.0.0/0 flowid 1:20 As you can see, from the output of ''/sbin/tc -s qdisc ls dev eth0'' there are no packets going into the high priority queue: qdisc sfq 30: quantum 1514b Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc sfq 20: quantum 1514b Sent 432501 bytes 5118 pkts (dropped 0, overlimits 0) qdisc sfq 10: quantum 1514b Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc prio 1: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 432501 bytes 5118 pkts (dropped 0, overlimits 0) Here is the output of /sbin/tc -s filter ls dev eth0: filter parent 1: protocol ip pref 1 u32 filter parent 1: protocol ip pref 1 u32 fh 801: ht divisor 1 filter parent 1: protocol ip pref 1 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 1:20 match 00000000/00000000 at 16 filter parent 1: protocol ip pref 1 u32 fh 800: ht divisor 1 filter parent 1: protocol ip pref 1 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:10 match 0a000014/ffffffff at 12 filter parent 1: protocol ip pref 1 u32 fh 800::801 order 2049 key ht 800 bkt 0 flowid 1:10 match 0a000014/ffffffff at 16 filter parent 1: protocol ip pref 2 u32 filter parent 1: protocol ip pref 2 u32 fh 801: ht divisor 1 filter parent 1: protocol ip pref 2 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 1:20 match 00000000/00000000 at 16 filter parent 1: protocol ip pref 2 u32 fh 800: ht divisor 1 filter parent 1: protocol ip pref 2 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:10 match 0a000014/ffffffff at 12 filter parent 1: protocol ip pref 2 u32 fh 800::801 order 2049 key ht 800 bkt 0 flowid 1:10 match 0a000014/ffffffff at 16 Any ideas why the high priority traffic is not getting separated from the rest? Thanks, Neil
Joseph: Based on you comments, I deleted all of the qdiscs and then typed these commands: echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/tc qdisc add dev eth0 root handle 1: prio /sbin/tc qdisc add dev eth0 parent 1:1 handle 1:10 sfq Immediately on typing this second command, I get this output: Starting tc: RTNETLINK answers: File exists Any ideas why I am getting this? Thanks, Neil. -- Neil Aggarwal JAMM Consulting, Inc. (972) 612-6056, http://www.JAMMConsulting.com Custom Internet Development Websites, Ecommerce, Java, databases> -----Original Message----- > From: Joseph Watson [mailto:jtwatson@datakota.com] > Sent: Wednesday, October 23, 2002 8:22 PM > To: Neil Aggarwal > Subject: Re: [LARTC] Priority queuing using tc not working > > > On Friday 18 October 2002 07:43 pm, Neil Aggarwal wrote: > > Hello: > > > > I am trying to set up priority based queue for my VOIP traffic. > > I am running a RedHat 8.0 machine that is masquerading my > internal network > > which has my PC and a VOIP phone. All VOIP traffic goes to and from > > my PBX, which is at 10.0.0.20. > > > > When I use my phone and try to download a file via FTP on my PC, > > all of the packets are going into the low priority queue. > > > > I typed these commands: > > echo 1 > /proc/sys/net/ipv4/ip_forward > > > > # Create the priority queue > > /sbin/tc qdisc add dev eth0 root handle 1: prio > > /sbin/tc qdisc add dev eth0 parent 1:1 handle 10: sfq > ^^^ > 1:10 > > /sbin/tc qdisc add dev eth0 parent 1:2 handle 20: sfq > ^^^ > 1:20 > > /sbin/tc qdisc add dev eth0 parent 1:3 handle 30: sfq > ^^^ > 1:30 > > > > # Add filters to put high priority packets into queue 1:1 > > /sbin/tc filter add dev eth0 pref 1 protocol ip parent 1:0 > u32 match ip > > src 10.0.0.20 flowid 1:10 /sbin/tc filter add dev eth0 pref 1 > protocol ip > > parent 1:0 u32 match ip dst 10.0.0.20 flowid 1:10 > > > > # Add a filter to put all remaining packets into queue 1:2 > > /sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 2 > u32 match ip > > dst 0.0.0.0/0 flowid 1:20 > ^^^ > Here is the problem, You dont have a 1:10 > or 1:20 qdisc unless you make the > above corrections. > > -- > Regards > > Joseph Watson_______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
I guess Probably this qdisc alread exist . Try to delete it and add it again and see what you are getting. Nitin --- Neil Aggarwal <neil@JAMMConsulting.com> wrote:> Joseph: > > Based on you comments, I deleted all of the qdiscs > and > then typed these commands: > echo 1 > /proc/sys/net/ipv4/ip_forward > > /sbin/tc qdisc add dev eth0 root handle 1: > prio > /sbin/tc qdisc add dev eth0 parent 1:1 > handle 1:10 sfq > > Immediately on typing this second command, I get > this output: > Starting tc: RTNETLINK answers: File exists > > Any ideas why I am getting this? > > Thanks, > Neil. > > -- > Neil Aggarwal > JAMM Consulting, Inc. (972) 612-6056, > http://www.JAMMConsulting.com > Custom Internet Development Websites, Ecommerce, > Java, databases > > > > -----Original Message----- > > From: Joseph Watson [mailto:jtwatson@datakota.com] > > Sent: Wednesday, October 23, 2002 8:22 PM > > To: Neil Aggarwal > > Subject: Re: [LARTC] Priority queuing using tc not > working > > > > > > On Friday 18 October 2002 07:43 pm, Neil Aggarwal > wrote: > > > Hello: > > > > > > I am trying to set up priority based queue for > my VOIP traffic. > > > I am running a RedHat 8.0 machine that is > masquerading my > > internal network > > > which has my PC and a VOIP phone. All VOIP > traffic goes to and from > > > my PBX, which is at 10.0.0.20. > > > > > > When I use my phone and try to download a file > via FTP on my PC, > > > all of the packets are going into the low > priority queue. > > > > > > I typed these commands: > > > echo 1 > /proc/sys/net/ipv4/ip_forward > > > > > > # Create the priority queue > > > /sbin/tc qdisc add dev eth0 root handle 1: > prio > > > /sbin/tc qdisc add dev eth0 parent 1:1 handle > 10: sfq > > > ^^^ > > > 1:10 > > > /sbin/tc qdisc add dev eth0 parent 1:2 handle > 20: sfq > > > ^^^ > > > 1:20 > > > /sbin/tc qdisc add dev eth0 parent 1:3 handle > 30: sfq > > > ^^^ > > > 1:30 > > > > > > # Add filters to put high priority packets > into queue 1:1 > > > /sbin/tc filter add dev eth0 pref 1 protocol > ip parent 1:0 > > u32 match ip > > > src 10.0.0.20 flowid 1:10 /sbin/tc filter add > dev eth0 pref 1 > > protocol ip > > > parent 1:0 u32 match ip dst 10.0.0.20 flowid > 1:10 > > > > > > # Add a filter to put all remaining packets > into queue 1:2 > > > /sbin/tc filter add dev eth0 protocol ip > parent 1:0 prio 2 > > u32 match ip > > > dst 0.0.0.0/0 flowid 1:20 > > ^^^ > > Here is the problem, You dont have a 1:10 > > or 1:20 qdisc unless you make the > > above corrections. > > > > -- > > Regards > > > > Joseph Watson > _______________________________________________ > LARTC mailing list / LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO:http://lartc.org/ __________________________________________________ Do you Yahoo!? Y! Web Hosting - Let the expert host your web site http://webhosting.yahoo.com/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/