On Monday 04 August 2008 19:20:46 Herbert Xu wrote:
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));
This is still going to break with the new any family (i.e., v4
or v6) SA. So perhaps that should be x->sel.family != AF_INET6.
Cheers,
Hi, and thanks for checking this out. Didn't think about the any family,
thanks for catching that. I'll resubmit this part.
br, j