Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 164a5e7a authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

ipv4: ipv4_default_advmss() should use route mtu



ipv4_default_advmss() incorrectly uses the device MTU instead
of the route provided one. IPv6 has the proper behavior,
lets harmonize the two protocols.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 520d0d75
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1250,7 +1250,7 @@ static void set_class_tag(struct rtable *rt, u32 tag)
static unsigned int ipv4_default_advmss(const struct dst_entry *dst)
{
	unsigned int header_size = sizeof(struct tcphdr) + sizeof(struct iphdr);
	unsigned int advmss = max_t(unsigned int, dst->dev->mtu - header_size,
	unsigned int advmss = max_t(unsigned int, ipv4_mtu(dst) - header_size,
				    ip_rt_min_advmss);

	return min(advmss, IPV4_MAX_PMTU - header_size);