Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Nov 2015 21:21:01 +0000 (UTC)
From:      Randall Stewart <rrs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r290276 - head/sys/net
Message-ID:  <201511022121.tA2LL1wG061420@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rrs
Date: Mon Nov  2 21:21:00 2015
New Revision: 290276
URL: https://svnweb.freebsd.org/changeset/base/290276

Log:
  Fix three flowtable bugs, a) one lookup issue, b) a two cleaner issue.
  MFC after:	3 days
  Sponsored by: Netflix Inc.
  Differential Revision:	https://reviews.freebsd.org/D4014

Modified:
  head/sys/net/flowtable.c

Modified: head/sys/net/flowtable.c
==============================================================================
--- head/sys/net/flowtable.c	Mon Nov  2 20:03:59 2015	(r290275)
+++ head/sys/net/flowtable.c	Mon Nov  2 21:21:00 2015	(r290276)
@@ -435,8 +435,7 @@ static int
 flow_stale(struct flowtable *ft, struct flentry *fle, int maxidle)
 {
 
-	if (((fle->f_rt->rt_flags & RTF_HOST) &&
-	    ((fle->f_rt->rt_flags & (RTF_UP)) != (RTF_UP))) ||
+	if (((fle->f_rt->rt_flags & RTF_UP) == 0) ||
 	    (fle->f_rt->rt_ifp == NULL) ||
 	    !RT_LINK_IS_UP(fle->f_rt->rt_ifp) ||
 	    (fle->f_lle->la_flags & LLE_VALID) == 0)
@@ -477,7 +476,7 @@ flow_matches(struct flentry *fle, uint32
 	CRITICAL_ASSERT(curthread);
 
 	/* Microoptimization for IPv4: don't use bcmp(). */
-	if (((keylen == sizeof(uint32_t) && (fle->f_key[0] != key[0])) ||
+	if (((keylen == sizeof(uint32_t) && (fle->f_key[0] == key[0])) ||
 	    (bcmp(fle->f_key, key, keylen) == 0)) &&
 	    fibnum == fle->f_fibnum &&
 #ifdef FLOWTABLE_HASH_ALL
@@ -818,8 +817,6 @@ flowtable_free_stale(struct flowtable *f
 		critical_exit();
 
 		bit_clear(tmpmask, curbit);
-		tmpmask += (curbit / 8);
-		tmpsize -= (curbit / 8) * 8;
 		bit_ffs(tmpmask, tmpsize, &curbit);
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511022121.tA2LL1wG061420>