svn commit: r220831 - head/sys/netinet/ipfw

Andrey V. Elsukov ae at FreeBSD.org
Tue Apr 19 11:29:09 UTC 2011


Author: ae
Date: Tue Apr 19 11:29:09 2011
New Revision: 220831
URL: http://svn.freebsd.org/changeset/base/220831

Log:
  ipdn_bound_var() functions is designed to bound a variable between
  specified minimum and maximum. In case when specified default value
  is out of bounds it does not work as expected and does not limit
  variable. Check that default value is in range and limit it if needed.
  Also bump max_hash_size value to 65536 to correspond with manual page.
  
  PR:		kern/152887
  MFC after:	2 weeks

Modified:
  head/sys/netinet/ipfw/ip_dummynet.c

Modified: head/sys/netinet/ipfw/ip_dummynet.c
==============================================================================
--- head/sys/netinet/ipfw/ip_dummynet.c	Tue Apr 19 10:57:40 2011	(r220830)
+++ head/sys/netinet/ipfw/ip_dummynet.c	Tue Apr 19 11:29:09 2011	(r220831)
@@ -108,6 +108,10 @@ ipdn_bound_var(int *v, int dflt, int lo,
 {
 	int oldv = *v;
 	const char *op = NULL;
+	if (dflt < lo)
+		dflt = lo;
+	if (dflt > hi)
+		dflt = hi;
 	if (oldv < lo) {
 		*v = dflt;
 		op = "Bump";
@@ -2128,7 +2132,7 @@ ip_dn_init(void)
 	dn_cfg.red_max_pkt_size = 1500;	/* default max packet size */
 
 	/* hash tables */
-	dn_cfg.max_hash_size = 1024;	/* max in the hash tables */
+	dn_cfg.max_hash_size = 65536;	/* max in the hash tables */
 	dn_cfg.hash_size = 64;		/* default hash size */
 
 	/* create hash tables for schedulers and flowsets.


More information about the svn-src-all mailing list