On Tue, Aug 05, 2008 at 10:13:19AM +0300, Joakim Koskela wrote:
quoted
quoted
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index c6bb4c6..f09fcb9 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -521,6 +521,10 @@ static int esp6_init_state(struct xfrm_state *x)
crypto_aead_ivsize(aead);
switch (x->props.mode) {
case XFRM_MODE_BEET:
+ x->props.header_len += IPV4_BEET_PHMAXLEN;
+ if (x->sel.family == AF_INET)
+ x->props.header_len += (sizeof(struct ipv6hdr) - sizeof(structiphdr));
Also could we avoid the IPV4_BEET_PHMAXLEN part if the inner family
is IPv6?
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt