public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top, Stefano Brivio <sbrivio@redhat.com>
Cc: maxi.rostock@outlook.de, pholzing@redhat.com,
	David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH 0/4] Corrections to seeting of ACK flag in TCP packets
Date: Tue, 26 Mar 2024 16:42:20 +1100	[thread overview]
Message-ID: <20240326054224.716874-1-david@gibson.dropbear.id.au> (raw)

A recently reported podman bug shows transfer failures in podman
custom rootless networks connected with pasta.  Analysis suggests this
is triggered by pasta generating a TCP packet without the ACK flag
when it should have one.

The exact symptoms seem to arise because of some odd kernel behaviour
- rather than simply ignoring the packet, an RST is observed killing
the connection.  However, there are also packets seen after the RST
which don't seem to make sense.

While there are some mysteries which we still hope to track down here,
in the meantime it definitely seems like pasta's ACK behaviour isn't
correct, and appears to trigger the other problems.  So, fix it.

Link: https://github.com/containers/podman/issues/22146
Link: https://bugs.passt.top/show_bug.cgi?id=84

David Gibson (4):
  tcp: Split handling of DUP_ACK from ACK
  tcp: Rearrange logic for setting ACK flag in tcp_send_flag()
  tcp: Never automatically add the ACK flag to RST packets
  tcp: Unconditionally force ACK for all !SYN, !RST packets

 tcp.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

-- 
2.44.0


             reply	other threads:[~2024-03-26  5:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-26  5:42 David Gibson [this message]
2024-03-26  5:42 ` [PATCH 1/4] tcp: Split handling of DUP_ACK from ACK David Gibson
2024-03-26  5:42 ` [PATCH 2/4] tcp: Rearrange logic for setting ACK flag in tcp_send_flag() David Gibson
2024-03-26  5:42 ` [PATCH 3/4] tcp: Never automatically add the ACK flag to RST packets David Gibson
2024-03-26  5:42 ` [PATCH 4/4] tcp: Unconditionally force ACK for all !SYN, !RST packets David Gibson
2024-03-26  8:54 ` [PATCH 0/4] Corrections to seeting of ACK flag in TCP packets Stefano Brivio

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=20240326054224.716874-1-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=maxi.rostock@outlook.de \
    --cc=passt-dev@passt.top \
    --cc=pholzing@redhat.com \
    --cc=sbrivio@redhat.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).