From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Martin Gignac <martin.gignac@gmail.com>
Cc: netfilter@vger.kernel.org
Subject: Re: How to troubleshoot (suspected) flowtable lockups/packet drops?
Date: Thu, 18 Mar 2021 17:20:59 +0100 [thread overview]
Message-ID: <20210318162059.GA9120@salvia> (raw)
In-Reply-To: <CANf9dFMzt+mZZS5SSYZbVY1M2VOz1wh3KEyUkfVeRMuMMc96yg@mail.gmail.com>
On Wed, Mar 17, 2021 at 10:23:04PM -0400, Martin Gignac wrote:
> Hi Pablo,
>
> I was finally able to reproduce the IPv6 lockup with the flowtable
> counters turned on. I had conntrack -L running under 'watch' with some
> greps to isolate the specific flow I wanted to check out. I also had a
> tcpdump running on the OpenVPN tun interface and another tcpdump
> running on the bonded VLAN interface to compare both.
>
> When a lockup occurred, as I said earlier, I could see some packets
> coming in on the bonded VLAN interface but not being sent out the tun0
> interface. When those packets came in, I *did* see the packet count
> increase by one for the "packet=" metric for that specific direction
> for every one of those packets.
>
> Sometimes, after some time being locked up, the state of the session
> would move back to "ESTABLISHED [ASSURED]" (but traffic would remain
> "stuck") until the point where traffic would suddenly resume, and then
> the session would move back to "[OFFLOAD]" state again.
>
> Commenting out the rule that offloaded IPv6 to the flowtable in the
> ruleset. and reloading that ruleset with "nft -f rules.txt"
> immediately fixed the lockup.
>
> Am I the only person that's reported any kind of issue with flowtable
> and IPv6? Maybe it's something about my setup...
My IPv6 testbed is working fine here.
I just checked that kernel-5.10.23-200.fc33 contains
commit 8d6bca156e47d68551750a384b3ff49384c67be3
Author: Sven Auhagen <sven.auhagen@voleatech.de>
Date: Tue Feb 2 18:01:16 2021 +0100
netfilter: flowtable: fix tcp and udp header checksum update
When updating the tcp or udp header checksum on port nat the function
inet_proto_csum_replace2 with the last parameter pseudohdr as true.
This leads to an error in the case that GRO is used and packets are
split up in GSO. The tcp or udp checksum of all packets is incorrect.
The error is probably masked due to the fact the most network driver
implement tcp/udp checksum offloading. It also only happens when GRO is
applied and not on single packets.
The error is most visible when using a pppoe connection which is not
triggering the tcp/udp checksum offload.
which looks similar to your issue.
I don't have access to kernel 5.10.17-200.fc33.x86_64, it's been
replaced in the mirrors I have access to by kernel-5.10.23-200.fc33.
It would be good to confirm you have this fix before looking somewhere
else.
next prev parent reply other threads:[~2021-03-18 16:20 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-16 15:43 How to troubleshoot (suspected) flowtable lockups/packet drops? Martin Gignac
2021-03-16 23:05 ` Pablo Neira Ayuso
2021-03-17 1:37 ` Martin Gignac
2021-03-17 10:34 ` Pablo Neira Ayuso
2021-03-17 19:07 ` Martin Gignac
2021-03-17 20:42 ` Pablo Neira Ayuso
2021-03-17 22:01 ` Martin Gignac
2021-03-17 22:28 ` Pablo Neira Ayuso
2021-03-18 2:23 ` Martin Gignac
2021-03-18 16:20 ` Pablo Neira Ayuso [this message]
2021-03-18 17:00 ` Pablo Neira Ayuso
2021-03-18 17:24 ` Martin Gignac
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210318162059.GA9120@salvia \
--to=pablo@netfilter.org \
--cc=martin.gignac@gmail.com \
--cc=netfilter@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox