[XFRM]: Fix MTU calculation for non-ESP SAs
My IPsec MTU optimization patch introduced a regression in MTU calculation for non-ESP SAs, the SA's header_len needs to be subtracted from the MTU if the transform doesn't provide a ->get_mtu() function. Reported-and-tested-by: Marco Berizzi <pupilla@hotmail.com> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									fa490cfd15
								
							
						
					
					
						commit
						281216177a
					
				| @ -1729,7 +1729,7 @@ int xfrm_state_mtu(struct xfrm_state *x, int mtu) | ||||
| 	    x->type && x->type->get_mtu) | ||||
| 		res = x->type->get_mtu(x, mtu); | ||||
| 	else | ||||
| 		res = mtu; | ||||
| 		res = mtu - x->props.header_len; | ||||
| 	spin_unlock_bh(&x->lock); | ||||
| 	return res; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user