aboutsummaryrefslogtreecommitdiff
path: root/sys/net/flowtable.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/flowtable.c')
-rw-r--r--sys/net/flowtable.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/net/flowtable.c b/sys/net/flowtable.c
index 0d584fea3581..a16584356ee4 100644
--- a/sys/net/flowtable.c
+++ b/sys/net/flowtable.c
@@ -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_t *key, int keylen, uint32_t fibnum)
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 *ft, struct rtentry *rt, int maxidle)
critical_exit();
bit_clear(tmpmask, curbit);
- tmpmask += (curbit / 8);
- tmpsize -= (curbit / 8) * 8;
bit_ffs(tmpmask, tmpsize, &curbit);
}