VoIP and CBQ

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, All,
 
I did some work on QoS with CBQ. Basically, I wanted to separate VoIP traffic from other traffics and give it guarantied bandwidth. I used the following scripts to do the work,
 

#!/bin/sh

OPTION="allot 1514 maxburst 20 avpkt 1000"

tc qdisc del dev eth0 root

tc qdisc add dev eth0 root handle 10: cbq bandwidth 10mbit avpkt 1000

tc class add dev eth0 parent 10: classid 10:2 cbq bandwidth 10mbit rate 34kbit $OPTION prio 3 bounded

tc class add dev eth0 parent 10:2 classid 10:10 cbq bandwidth 10mbit rate 30kbit $OPTION prio 3

tc class add dev eth0 parent 10:2 classid 10:20 cbq bandwidth 10mbit rate 4kbit $OPTION prio3

tc filter add dev eth0 parent 10: protocol ip prio 3 u32 match ip tos 0x20 0xf0 flowid 10:2

tc filter add dev eth0 parent 10: protocol ip prio 3 u32 match ip dst 0/0 flowid 10:2

tc filter add dev eth0 parent 10:2 protocol ip prio 3 u32 match ip tos 0x20 0xf0 flowid 10:10

tc filter add dev eth0 parent 10:2 protocol ip prio 3 u32 match ip dst 0/0 flowid 10:20


It seemed working -- when there was no VoIP traffic, a ftp link was using all 34kbit rate. When there was VoIP traffic, the ftp rate dropped to 17kbit (which was correct because the voice traffic was using 17kbit). Unfortunately, the voice quality was not good. Even if without ftp traffic, there were packets loss for voice traffic (if you count from 1 to 20 with one handset, you miss certain figures on the other end, they are 4, 5, 8, 9, 12, 13 etc).
Any one had the same problem before? Any one can explain it? Any parameter I should adjust to better suit this application? Another thing I noticed was, when I changed the parameters for "allot" (ex 300) and "avpkt" (ex 500) in order to seek better setting for this application, the CBQ stopped doing anything, so the rate was the NIC rate instead of 34kbit. I could change "maxburst" but it didn't improve the voice quality. Could any one tell me how to use these parameters? Thanks, James 

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux