[ previous ] [ next ] [ threads ]
 From:  Adam Nellemann <adam at nellemann dot nu>
 To:  "m0n0wall at lists dot m0n0 dot ch" <m0n0wall at lists dot m0n0 dot ch>
 Subject:  Traffic shaper suggestions
 Date:  Thu, 19 Feb 2004 18:10:54 +0100

After reading the dummynet "manual" found here:

> http://info.iet.unipi.it/~luigi/ip_dummynet/

(Thanks again for this link Mike!)

... I have come up with some suggestions for the traffic shaper:

= = =

- A checkbox for setting the net.inet.ip.fw.one_pass variable. (If 
relevant for and possible with the m0n0wall implementation, it seem to 
me a rather important switch? Perhaps some of the others are as well?)

- In general it would seem that there are a LOT of sizes and other 
limits defined in various system variables used by dummynet in a 
global manner. While I realise that it would be bothersome to have all 
these exposed in the webGUI, perhaps some of them really should be 
there? Alternativly they (or some of them anyway) could perhaps be 
compounded into a single setting, which would then be multiplied by 
different "factors" for each underlying setting. This would give the 
user at least some control of how large the shaper will be allowed to 
become during use. (Useful both for people with limited RAM and for 
users wishing to keep the various queues and hashtables small enough 
to prevent latency issues. Perhaps even useful for users wishing to 
use a very large number of dynamic pipes and queues, or an otherwise 
complex shaper setup.)

- Any such "global shaper setting(s)" could either be located on the 
Advanced page, or on an additional tab (page) in the Traffic shaper 

- A field for (optionally) setting the queue size of the individual 
pipes might be useful (since the dummynet manual stress how too large 
a value here may cause considerable delays).

- I see that the masks can actually be made rather more complex than 
simply "source" or "destination". Perhaps a fourth page in the traffic 
shaper, for specifying such "complex masks", which could then be 
(re)used on both the pipe and the queue tabs (ie. by occuring in the 
Mask dropdown). I think there would be some merrit in the ability to 
specify more precise masks (it is after all important to be able to 
keep the number of dynamic pipes and queues to a minimum).

 From the dummynet manual:

The mask command lets you specify which parts of the following fields 
contribute to identify a flow:

[proto N] [src-ip N] [dst-ip N] [src-port N] [dst-port N]

where N is a bitmask where significant bits are set to 1. You can 
specify one or more masks, or the all keyword to mean that all fields 
are fully significant.

Now, if only there could be found a more "user friendly" way of 
specifying such masks in the webGUI..?

= = =

I'm afraid I won't be able to implement these suggestions myself 
(lacking UNIX/BSD/... knowledge), but perhaps someone else will feel 
the "urge"? (Assuming Manuel has a lot to see too already, I hesitate 
to suggest that he be the one to do all this.) I will, on the other 
hand, be happy to write any new shaper features into my "manual" (and 
the "real" manual as well, when I get to that.)

But let's hear what people feel about the need for these this things