Hi,
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
section.
- 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:
-snip-
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.
-snip-
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
first?
Adam. |