I have asterisk running in VE. OVZ kernel is 2.6.18-028test007. For networking I use veth interface, which is bridged with the real network adapted on the HN. Network runs without a problem, but if I enable the QoS/ToS option in asterisk I start getting the following error in asterisk: Quote: [Dec 28 01:47:34] WARNING[17866]: rtp.c:1918 ast_rtp_settos: Unable to set TOS to 184 [Dec 28 01:47:34] WARNING[17866]: udptl.c:846 ast_udptl_settos: UDPTL unable to set TOS to 184 I have read some posts (other forums) and the same problem appears if asterisk is run under non-root account (but this is NOT my case - I have asterisk running as root). Maybe it has something to do with processes permissions in the VE? If asterisk is installed directly on the hardware node the TOS bits are set correctly. Is this a limitation of ovz kernel or am I doing something wrong?
Most probably it is VE limitation, could you attach strace output (http://wiki.openvz.org/Stracing_a_program)?
Attached 2 files (relevant lines only) - one generated from within the VE and one on the HN itself. Strange enough, the problem in VE seems to appear only for certain TOS values - for example cs3 and cs4 (class selector 3 and 4) work just fine, but trying to set it to cs5 or ef (expedited forwarding) gives the TOS error. I have different TOS settings for video and audio packets and if you take a look at <<IP_TOS_VE.txt>> you can even see that TOS in VE is properly set for video (af41 - binary 100010, which when padded with two 00 gives 136 in the strace), but it fails for audio (ef - 101110 or 184 in the strace). I guess this problem only appears if the TOS is greater than a certain value - 136 (af41) is ok, but 160 (cs5) and 184 (ef) will fail.
The patch fixed the problem. Thanks! I guess this will be included in the next ovz kernel build?