diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-11-11 09:40:27 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-11-11 09:40:27 +0000 |
commit | 012446002add131d850c84ee67fea5054d9329d7 (patch) | |
tree | bec9f2d762a13e469bfa9ba802a99805068f98ad /sys/net | |
parent | d18d0c02e19d72221fda9c3a511640d1490e0243 (diff) | |
download | FreeBSD-src-012446002add131d850c84ee67fea5054d9329d7.zip FreeBSD-src-012446002add131d850c84ee67fea5054d9329d7.tar.gz |
- Use RTFREE_LOCKED macro
- Don't clone route on lookup (was causing arpresolve to fail)
- u_int_32 -> uint32_t
Reviewed by: qingli
MFC after: 3 days
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/radix_mpath.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/net/radix_mpath.c b/sys/net/radix_mpath.c index c68db99..68233fe 100644 --- a/sys/net/radix_mpath.c +++ b/sys/net/radix_mpath.c @@ -54,7 +54,7 @@ __FBSDID("$FreeBSD$"); /* * give some jitter to hash, to avoid synchronization between routers */ -static u_int32_t hashjitter; +static uint32_t hashjitter; int rn_mpath_capable(struct radix_node_head *rnh) @@ -267,7 +267,7 @@ rtalloc_mpath_fib(struct route *ro, u_int32_t hash, u_int fibnum) */ if (ro->ro_rt && ro->ro_rt->rt_ifp && (ro->ro_rt->rt_flags & RTF_UP)) return; /* XXX */ - ro->ro_rt = rtalloc1_fib(&ro->ro_dst, 1, 0UL, fibnum); + ro->ro_rt = rtalloc1_fib(&ro->ro_dst, 1, RTF_CLONING, fibnum); /* if the route does not exist or it is not multipath, don't care */ if (ro->ro_rt == NULL) @@ -299,7 +299,7 @@ rtalloc_mpath_fib(struct route *ro, u_int32_t hash, u_int fibnum) return; } - rtfree(ro->ro_rt); + RTFREE_LOCKED(ro->ro_rt); ro->ro_rt = (struct rtentry *)rn; RT_LOCK(ro->ro_rt); RT_ADDREF(ro->ro_rt); |