diff options
Diffstat (limited to 'net/ipv6/esp6.c')
-rw-r--r-- | net/ipv6/esp6.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c index 2ebfd281e721..2b8e52e1d0ab 100644 --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c | |||
@@ -237,7 +237,7 @@ static u32 esp6_get_max_size(struct xfrm_state *x, int mtu) | |||
237 | struct esp_data *esp = x->data; | 237 | struct esp_data *esp = x->data; |
238 | u32 blksize = ALIGN(crypto_blkcipher_blocksize(esp->conf.tfm), 4); | 238 | u32 blksize = ALIGN(crypto_blkcipher_blocksize(esp->conf.tfm), 4); |
239 | 239 | ||
240 | if (x->props.mode) { | 240 | if (x->props.mode == XFRM_MODE_TUNNEL) { |
241 | mtu = ALIGN(mtu + 2, blksize); | 241 | mtu = ALIGN(mtu + 2, blksize); |
242 | } else { | 242 | } else { |
243 | /* The worst case. */ | 243 | /* The worst case. */ |
@@ -358,7 +358,7 @@ static int esp6_init_state(struct xfrm_state *x) | |||
358 | if (crypto_blkcipher_setkey(tfm, esp->conf.key, esp->conf.key_len)) | 358 | if (crypto_blkcipher_setkey(tfm, esp->conf.key, esp->conf.key_len)) |
359 | goto error; | 359 | goto error; |
360 | x->props.header_len = sizeof(struct ipv6_esp_hdr) + esp->conf.ivlen; | 360 | x->props.header_len = sizeof(struct ipv6_esp_hdr) + esp->conf.ivlen; |
361 | if (x->props.mode) | 361 | if (x->props.mode == XFRM_MODE_TUNNEL) |
362 | x->props.header_len += sizeof(struct ipv6hdr); | 362 | x->props.header_len += sizeof(struct ipv6hdr); |
363 | x->data = esp; | 363 | x->data = esp; |
364 | return 0; | 364 | return 0; |