[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CANn89iLdc3U0WJB89CbU7mnrtgo160O+WkrbzaT95KX0Ji0Vvg@mail.gmail.com>
Date: Thu, 8 Jul 2021 07:52:26 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: Martin KaFai Lau <kafai@...com>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
netdev <netdev@...r.kernel.org>,
Maciej Żenczykowski <maze@...gle.com>
Subject: Re: [PATCH net] ipv6: tcp: drop silly ICMPv6 packet too big messages
On Thu, Jul 8, 2021 at 12:26 AM Martin KaFai Lau <kafai@...com> wrote:
>
> On Wed, Jul 07, 2021 at 08:46:30AM -0700, Eric Dumazet wrote:
> [ ... ]
>
> > diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
> > index 593c32fe57ed13a218492fd6056f2593e601ec79..bc334a6f24992c7b5b2c415eab4b6cf51bf36cb4 100644
> > --- a/net/ipv6/tcp_ipv6.c
> > +++ b/net/ipv6/tcp_ipv6.c
> > @@ -348,11 +348,20 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
> > static void tcp_v6_mtu_reduced(struct sock *sk)
> > {
> > struct dst_entry *dst;
> > + u32 mtu;
> >
> > if ((1 << sk->sk_state) & (TCPF_LISTEN | TCPF_CLOSE))
> > return;
> >
> > - dst = inet6_csk_update_pmtu(sk, READ_ONCE(tcp_sk(sk)->mtu_info));
> > + mtu = READ_ONCE(tcp_sk(sk)->mtu_info);
> > +
> > + /* Drop requests trying to increase our current mss.
> > + * Check done in __ip6_rt_update_pmtu() is too late.
> > + */
> > + if (tcp_mss_to_mtu(sk, mtu) >= tcp_sk(sk)->mss_cache)
> Instead of tcp_mss_to_mtu, should this be calling tcp_mtu_to_mss to
> compare with tcp_sk(sk)->mss_cache?
Good catch Martin, let me add and run a few more tests before sending a v2.
Thanks !
Powered by blists - more mailing lists