diff options
author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2011-04-27 19:28:42 +0000 |
---|---|---|
committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2011-04-27 19:28:42 +0000 |
commit | db178eb816e2aca4268deb94031d3dcf6e021d8a (patch) | |
tree | 9428855084c7aa5ab9ab83364589dfafc87dbe6d /sys/netipsec/ipsec_output.c | |
parent | bbfe24fbf2650c8a77072b63a9245c614a6ed0a0 (diff) |
Notes
Diffstat (limited to 'sys/netipsec/ipsec_output.c')
-rw-r--r-- | sys/netipsec/ipsec_output.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c index 7c21d837208a..d10523d07cc8 100644 --- a/sys/netipsec/ipsec_output.c +++ b/sys/netipsec/ipsec_output.c @@ -165,7 +165,29 @@ ipsec_process_done(struct mbuf *m, struct ipsecrequest *isr) */ if (isr->next) { V_ipsec4stat.ips_out_bundlesa++; - return ipsec4_process_packet(m, isr->next, 0, 0); + sav = isr->next->sav; + saidx = &sav->sah->saidx; + switch (saidx->dst.sa.sa_family) { +#ifdef INET + case AF_INET: + return ipsec4_process_packet(m, isr->next, 0, 0); + /* NOTREACHED */ +#endif +#ifdef notyet +#ifdef INET6 + case AF_INET6: + /* XXX */ + ipsec6_output_trans() + ipsec6_output_tunnel() + /* NOTREACHED */ +#endif /* INET6 */ +#endif + default: + DPRINTF(("%s: unknown protocol family %u\n", __func__, + saidx->dst.sa.sa_family)); + error = ENXIO; + goto bad; + } } key_sa_recordxfer(sav, m); /* record data transfer */ |