svn commit: r338253 - head/sbin/pfctl
Patrick Kelsey
pkelsey at freebsd.org
Thu Aug 23 17:42:22 UTC 2018
Fixed in r338260.
On Thu, Aug 23, 2018 at 1:30 PM Patrick Kelsey <pkelsey at freebsd.org> wrote:
>
>
> On Thu, Aug 23, 2018 at 1:05 PM Stefan Esser <se at freebsd.org> wrote:
>
>> 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
>>
>
> Will fix shortly...not sure why I did not encounter this error in my setup.
>
> -Patrick
>
More information about the svn-src-head
mailing list