diff options
author | bz <bz@FreeBSD.org> | 2009-02-01 21:11:08 +0000 |
---|---|---|
committer | bz <bz@FreeBSD.org> | 2009-02-01 21:11:08 +0000 |
commit | 5d8f0a53a75aefe97721f737758596bf3b542e2c (patch) | |
tree | a5470a3738df362d49e1bb6da8886ec0f93e4d7c /sys/netinet6/vinet6.h | |
parent | 23001c70f6bbdc9d9fdf1e5004247a1ca399bca0 (diff) | |
download | FreeBSD-src-5d8f0a53a75aefe97721f737758596bf3b542e2c.zip FreeBSD-src-5d8f0a53a75aefe97721f737758596bf3b542e2c.tar.gz |
Remove the single global unlocked route cache ip6_forward_rt
from the inet6 stack along with statistics and make sure we
properly free the rt in all cases.
While the current situation is not better performance wise it
prevents panics seen more often these days.
After more inet6 and ipsec cleanup we should be able to improve
the situation again passing the rt to ip6_forward directly.
Leave the ip6_forward_rt entry in struct vinet6 but mark it
for removal.
PR: kern/128247, kern/131038
MFC after: 25 days
Committed from: Bugathon #6
Tested by: Denis Ahrens <denis@h3q.com> (different initial version)
Diffstat (limited to 'sys/netinet6/vinet6.h')
-rw-r--r-- | sys/netinet6/vinet6.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/netinet6/vinet6.h b/sys/netinet6/vinet6.h index e67f731..e0a1fa0 100644 --- a/sys/netinet6/vinet6.h +++ b/sys/netinet6/vinet6.h @@ -54,7 +54,7 @@ struct vnet_inet6 { u_int _frag6_nfrags; struct ip6q _ip6q; - struct route_in6 _ip6_forward_rt; + struct route_in6 _ip6_forward_rt; /* XXX remove */ struct in6_addrpolicy _defaultaddrpolicy; TAILQ_HEAD(, addrsel_policyent) _addrsel_policytab; @@ -194,7 +194,6 @@ extern struct vnet_inet6 vnet_inet6_0; #define V_ip6_defhlim VNET_INET6(ip6_defhlim) #define V_ip6_defmcasthlim VNET_INET6(ip6_defmcasthlim) #define V_ip6_desync_factor VNET_INET6(ip6_desync_factor) -#define V_ip6_forward_rt VNET_INET6(ip6_forward_rt) #define V_ip6_forwarding VNET_INET6(ip6_forwarding) #define V_ip6_hdrnestlimit VNET_INET6(ip6_hdrnestlimit) #define V_ip6_keepfaith VNET_INET6(ip6_keepfaith) |