]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/ipv6/esp6.c
Merge git://git.infradead.org/mtd-2.6
[mv-sheeva.git] / net / ipv6 / esp6.c
index 9eb92859835171ec22709c04148ce9860ea2acbe..72a659806cadfb4f7d026e10e6eef9df41f9e0ef 100644 (file)
@@ -354,8 +354,16 @@ static int esp6_init_state(struct xfrm_state *x)
                                    (x->ealg->alg_key_len + 7) / 8))
                goto error;
        x->props.header_len = sizeof(struct ip_esp_hdr) + esp->conf.ivlen;
-       if (x->props.mode == XFRM_MODE_TUNNEL)
+       switch (x->props.mode) {
+       case XFRM_MODE_BEET:
+       case XFRM_MODE_TRANSPORT:
+               break;
+       case XFRM_MODE_TUNNEL:
                x->props.header_len += sizeof(struct ipv6hdr);
+               break;
+       default:
+               goto error;
+       }
        x->data = esp;
        return 0;