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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to