This seems to have broken a couple of platforms (aarch64, riscv64, sparc64, powerpc at least):

/usr/src/sbin/pfctl/pfctl_altq.c:302:32: error: overflow in expression; result is -1794967296 with type 'int' [-Werror,-Winteger-overflow]
        --- all_subdir_lib ---
        --- puts.po ---
        --- all_subdir_sbin ---
                        else if (rate <= 2500 * 1000 * 1000)
                                                     ^

Regards,
Kristof

On 23 Aug 2018, at 18:10, Patrick Kelsey wrote:

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;
        }
_______________________________________________
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