aboutsummaryrefslogtreecommitdiff
path: root/sys/netipsec
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2012-02-03 13:08:44 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2012-02-03 13:08:44 +0000
commit81d5d46b3c4e0cf91258e86120d42e344c127769 (patch)
tree9e5e8922865a203ccca320c42f6551d953b9b13c /sys/netipsec
parenta84986256fd3db9fcf8b9e443846603efb59ba5b (diff)
downloadsrc-81d5d46b3c4e0cf91258e86120d42e344c127769.tar.gz
src-81d5d46b3c4e0cf91258e86120d42e344c127769.zip
Add multi-FIB IPv6 support to the core network stack supplementing
the original IPv4 implementation from r178888: - Use RT_DEFAULT_FIB in the IPv4 implementation where noticed. - Use rt*fib() KPI with explicit RT_DEFAULT_FIB where applicable in the NFS code. - Use the new in6_rt* KPI in TCP, gif(4), and the IPv6 network stack where applicable. - Split in6_rtqtimo() and in6_mtutimo() as done in IPv4 and equally prevent multiple initializations of callouts in in6_inithead(). - Use wrapper functions where needed to preserve the current KPI to ease MFCs. Use BURN_BRIDGES to indicate expected future cleanup. - Fix (related) comments (both technical or style). - Convert to rtinit() where applicable and only use custom loops where currently not possible otherwise. - Multicast group, most neighbor discovery address actions and faith(4) are locked to the default FIB. Individual IPv6 addresses will only appear in the default FIB, however redirect information and prefixes of connected subnets are automatically propagated to all FIBs by default (mimicking IPv4 behavior as closely as possible). Sponsored by: Cisco Systems, Inc.
Notes
Notes: svn path=/projects/multi-fibv6/head/; revision=230942
Diffstat (limited to 'sys/netipsec')
-rw-r--r--sys/netipsec/ipsec_output.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c
index 77897ed24296..38268f7ae1f0 100644
--- a/sys/netipsec/ipsec_output.c
+++ b/sys/netipsec/ipsec_output.c
@@ -867,7 +867,7 @@ ipsec6_output_tunnel(struct ipsec_output_state *state, struct secpolicy *sp, int
dst6->sin6_family = AF_INET6;
dst6->sin6_len = sizeof(*dst6);
dst6->sin6_addr = ip6->ip6_dst;
- rtalloc(state->ro);
+ rtalloc_ign_fib(state->ro, 0UL, M_GETFIB(m));
}
if (state->ro->ro_rt == NULL) {
V_ip6stat.ip6s_noroute++;