summaryrefslogtreecommitdiffstats
path: root/sys/net/radix_mpath.c
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2008-11-11 09:40:27 +0000
committerkmacy <kmacy@FreeBSD.org>2008-11-11 09:40:27 +0000
commit012446002add131d850c84ee67fea5054d9329d7 (patch)
treebec9f2d762a13e469bfa9ba802a99805068f98ad /sys/net/radix_mpath.c
parentd18d0c02e19d72221fda9c3a511640d1490e0243 (diff)
downloadFreeBSD-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/radix_mpath.c')
-rw-r--r--sys/net/radix_mpath.c6
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);
OpenPOWER on IntegriCloud