svn commit: r338253 - head/sbin/pfctl
Stefan Esser
se at freebsd.org
Thu Aug 23 17:05:46 UTC 2018
Am 23.08.18 um 18:10 schrieb Patrick Kelsey:
> Author: pkelsey
> Date: Thu Aug 23 16:10:28 2018
> New Revision: 338253
> URL: https://svnweb.freebsd.org/changeset/base/338253
>
> Log:
> Extend tbrsize heuristic in pfctl(8) to provide a sensible value for
> higher bandwidth interfaces. The new value is used above 2.5 Gbps,
> which is the highest standard rate that could be used prior to
> r338209, so the default behavior for all existing systems should
> remain the same.
>
> The value of 128 chosen is a balance between being big enough to
> reduce potential precision/quantization effects stemming from frequent
> bucket refills over small time intervals and being small enough to
> prevent a greedy driver from burst dequeuing more packets than it has
> available hardware ring slots for whenever altq transitions from idle
> to backlogged.
>
> Reviewed by: jmallett, kp
> MFC after: 2 weeks
> Sponsored by: RG Nets
> Differential Revision: https://reviews.freebsd.org/D16852
>
> Modified:
> head/sbin/pfctl/pfctl_altq.c
>
> Modified: head/sbin/pfctl/pfctl_altq.c
> ==============================================================================
> --- head/sbin/pfctl/pfctl_altq.c Thu Aug 23 15:01:27 2018 (r338252)
> +++ head/sbin/pfctl/pfctl_altq.c Thu Aug 23 16:10:28 2018 (r338253)
> @@ -299,8 +299,10 @@ eval_pfaltq(struct pfctl *pf, struct pf_altq *pa, stru
> size = 4;
> else if (rate <= 200 * 1000 * 1000)
> size = 8;
> - else
> + else if (rate <= 2500 * 1000 * 1000)
> size = 24;
> + else
> + size = 128;
> size = size * getifmtu(pa->ifname);
> pa->tbrsize = size;
> }
>
This breaks the build on my amd64 box:
/usr/svn/base/head/sbin/pfctl/pfctl_altq.c:302:32: error: overflow in
expression; result is -1794967296 with type 'int' [-Werror,-Winteger-overflow]
else if (rate <= 2500 * 1000 * 1000)
^
While "rate" is unsigned long, the expression being calculated is not ...
Regards, STefan
More information about the svn-src-head
mailing list