Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a OpenBSD server acting as a router/firewall with yhr packet filter ruleset shown below, a linux server, and a linux client.

When transferring files (using netcat) by TCP, the limits are applied (for example the 100mbit limit in the example), though when transferring data by UDP, the limits aren't applied; the file always takes the same amount of time no matter the queue bandwidth limit I set (I can even turn off the queues completely, and will still get the same result).

Why aren't the queuing rules applied to UDP packages?

The rules used:

#queue rules
altq on { $int_if, $ext_if } cbq bandwidth 100Mb queue { def, low }
queue def bandwidth 0Mb cbq(default)
queue low bandwidth 100Mb cbq

#Passrules test

pass out quick from $int_if to $ext_if queue low
pass in quick from $ext_if to $int_if queue low
pass out quick from $ext_if to $int_if queue low
pass in quick from $int_if to $ext_if queue low

I suppose this may be related a question I've previously asked, though since it's more of a separate question, I suppose a separate question should be used for this

share|improve this question
    
Have you tried specifying proto udp on your passrules? –  Eric H May 10 '10 at 1:36
    
I've tried specifying "proto { udp, tcp }", though it didn't do any difference. Will try to run separate them separately (i.e. try with only tcp enabled, then only udp enabled) and see what happens. –  user42511 May 10 '10 at 11:22
add comment

1 Answer

Please post the output of pfctl -vsq and pfctl -vsr so we can see that the rules are matching properly.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.