diff options
Diffstat (limited to 'net/ipv4/esp4.c')
| -rw-r--r-- | net/ipv4/esp4.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c index b428489f6cc..e87377e1d6b 100644 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c @@ -248,7 +248,7 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)  		 *    as per draft-ietf-ipsec-udp-encaps-06,  		 *    section 3.1.2  		 */ -		if (!x->props.mode) +		if (x->props.mode == XFRM_MODE_TRANSPORT)  			skb->ip_summed = CHECKSUM_UNNECESSARY;  	} @@ -267,7 +267,7 @@ static u32 esp4_get_max_size(struct xfrm_state *x, int mtu)  	struct esp_data *esp = x->data;  	u32 blksize = ALIGN(crypto_blkcipher_blocksize(esp->conf.tfm), 4); -	if (x->props.mode) { +	if (x->props.mode == XFRM_MODE_TUNNEL) {  		mtu = ALIGN(mtu + 2, blksize);  	} else {  		/* The worst case. */ @@ -383,7 +383,7 @@ static int esp_init_state(struct xfrm_state *x)  	if (crypto_blkcipher_setkey(tfm, esp->conf.key, esp->conf.key_len))  		goto error;  	x->props.header_len = sizeof(struct ip_esp_hdr) + esp->conf.ivlen; -	if (x->props.mode) +	if (x->props.mode == XFRM_MODE_TUNNEL)  		x->props.header_len += sizeof(struct iphdr);  	if (x->encap) {  		struct xfrm_encap_tmpl *encap = x->encap;  |