diff options
author | Joakim Koskela <jookos@gmail.com> | 2008-08-06 05:39:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-06 05:39:30 -0400 |
commit | eb49e63093498cd17382018495b8cfb5b4a679bd (patch) | |
tree | a824e1d17f942d24d4c1853cdefb771cb6ff226e /net/ipv4/esp4.c | |
parent | 9714be7da8b32f36d2468fe08ff603b6402df8cf (diff) |
ipsec: Interfamily IPSec BEET
Here's a revised version, based on Herbert's comments, of a fix for
the ipv6-inner, ipv4-outer interfamily ipsec beet mode. It fixes the
network header adjustment in interfamily, and doesn't reserve space
for the pseudo header anymore when we have ipv6 as the inner family.
Signed-off-by: Joakim Koskela <jookos@gmail.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/esp4.c')
-rw-r--r-- | net/ipv4/esp4.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c index 4e73e5708e70..21515d4c49eb 100644 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c | |||
@@ -575,7 +575,7 @@ static int esp_init_state(struct xfrm_state *x) | |||
575 | crypto_aead_ivsize(aead); | 575 | crypto_aead_ivsize(aead); |
576 | if (x->props.mode == XFRM_MODE_TUNNEL) | 576 | if (x->props.mode == XFRM_MODE_TUNNEL) |
577 | x->props.header_len += sizeof(struct iphdr); | 577 | x->props.header_len += sizeof(struct iphdr); |
578 | else if (x->props.mode == XFRM_MODE_BEET) | 578 | else if (x->props.mode == XFRM_MODE_BEET && x->sel.family != AF_INET6) |
579 | x->props.header_len += IPV4_BEET_PHMAXLEN; | 579 | x->props.header_len += IPV4_BEET_PHMAXLEN; |
580 | if (x->encap) { | 580 | if (x->encap) { |
581 | struct xfrm_encap_tmpl *encap = x->encap; | 581 | struct xfrm_encap_tmpl *encap = x->encap; |