svn commit: r187013 - user/kmacy/HEAD_fast_net/sys/net
Kip Macy
kmacy at FreeBSD.org
Fri Jan 9 22:55:38 PST 2009
Author: kmacy
Date: Sat Jan 10 06:55:37 2009
New Revision: 187013
URL: http://svn.freebsd.org/changeset/base/187013
Log:
update loop condition print hash earlier
Modified:
user/kmacy/HEAD_fast_net/sys/net/radix_mpath.c
Modified: user/kmacy/HEAD_fast_net/sys/net/radix_mpath.c
==============================================================================
--- user/kmacy/HEAD_fast_net/sys/net/radix_mpath.c Sat Jan 10 06:36:28 2009 (r187012)
+++ user/kmacy/HEAD_fast_net/sys/net/radix_mpath.c Sat Jan 10 06:55:37 2009 (r187013)
@@ -299,21 +299,19 @@ rtalloc_mpath_fib(struct route *ro, uint
/* gw selection by Modulo-N Hash (RFC2991) XXX need improvement? */
hash += hashjitter;
- hash %= n;
if ((lookup_count % 50000) == 0)
- printf("hash=%d ", hash);
- while (rn) {
+ printf("hash=%u n=%d ", hash, n);
+ hash %= n;
+ while (total_weight < hash && rn) {
rt = (struct rtentry *)rn;
if (rt->rt_flags & RTF_SHUTDOWN)
continue;
total_weight += rt->rt_rmx.rmx_weight;
if ((lookup_count % 50000) == 0)
- printf("rmx_weight=%ld ", rt->rt_rmx.rmx_weight);
+ printf("rmx_weight=%ld ",
+ rt->rt_rmx.rmx_weight);
- if (total_weight >= hash)
- break;
-
/* stay within the multipath routes */
if (rn->rn_dupedkey && rn->rn_mask != rn->rn_dupedkey->rn_mask)
break;
More information about the svn-src-user
mailing list