diff options
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
| -rw-r--r-- | net/xfrm/xfrm_policy.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index b8be51eb7e2..2118d644663 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -2384,7 +2384,9 @@ static unsigned int xfrm_default_advmss(const struct dst_entry *dst)  static unsigned int xfrm_mtu(const struct dst_entry *dst)  { -	return dst_mtu(dst->path); +	unsigned int mtu = dst_metric_raw(dst, RTAX_MTU); + +	return mtu ? : dst_mtu(dst->path);  }  static struct neighbour *xfrm_neigh_lookup(const struct dst_entry *dst, const void *daddr)  |