diff options
author | glebius <glebius@FreeBSD.org> | 2014-02-18 14:21:26 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2014-02-18 14:21:26 +0000 |
commit | d61db4cf9544da0717efc8d718d42a195a86dec3 (patch) | |
tree | d4ff901013ef8a54949800c92888580b6f70745d | |
parent | 0e6492a43b15d89a77448ef15ccc85b4d6feea1d (diff) | |
download | FreeBSD-src-d61db4cf9544da0717efc8d718d42a195a86dec3.zip FreeBSD-src-d61db4cf9544da0717efc8d718d42a195a86dec3.tar.gz |
Fix incorrect assertions.
-rw-r--r-- | sys/net/flowtable.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/flowtable.c b/sys/net/flowtable.c index 393d775..873ec36 100644 --- a/sys/net/flowtable.c +++ b/sys/net/flowtable.c @@ -634,7 +634,8 @@ flowtable_insert(struct flowtable *ft, uint32_t hash, uint32_t *key, * preempted by another thread handling this flow */ SLIST_FOREACH(iter, flist, f_next) { - KASSERT(iter->f_hash == hash, ("%s: wrong hash", __func__)); + KASSERT(iter->f_hash % ft->ft_size == hash % ft->ft_size, + ("%s: wrong hash", __func__)); if (flow_matches(iter, key, keylen, fibnum)) { /* * We probably migrated to an other CPU after @@ -714,7 +715,8 @@ flowtable_lookup_common(struct flowtable *ft, uint32_t *key, int keylen, critical_enter(); flist = flowtable_list(ft, hash); SLIST_FOREACH(fle, flist, f_next) { - KASSERT(fle->f_hash == hash, ("%s: wrong hash", __func__)); + KASSERT(fle->f_hash % ft->ft_size == hash % ft->ft_size, + ("%s: wrong hash", __func__)); if (flow_matches(fle, key, keylen, fibnum)) { fle->f_uptime = time_uptime; #ifdef FLOWTABLE_HASH_ALL |