From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by passt.top (Postfix) with ESMTPS id 3B6805A0272 for ; Tue, 26 Mar 2024 06:42:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202312; t=1711431746; bh=3uaq8VuTNdogvNnz8XJpULpZHhaguB+uM1A1sZ1ZMWU=; h=From:To:Cc:Subject:Date:From; b=ael/bCcjSyAbaxtWjT62rAitKzV2ZIQAataKPdk3IMO7Xrc+hrns8pMweteKAkFaT lko9EEfIfIGgwhSJtPTDqMjcJwn7cfyTawM9rlkiYA/HPl8atyte+KNVkP/l1mL3tg DITcmU7eUiHOWr3ayOQL3nsrJ378rF5u3FfAwREW6CXjAusBureggafkT3R6yqXMpv RXRDvmPcxEyuFoulUFzHmRX6BiSI8kbTl1hm4cVG9JAqHCYRf/di3bvgnV+dNGRNCt uCCV0I9EZayxnnjiRZeNS59XzHNwer2fX5PmjY4KBrzq+priXTLfPDk8v/nc4fDNas bBoAz0IG6+MrQ== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4V3dwy5nD4z4wjF; Tue, 26 Mar 2024 16:42:26 +1100 (AEDT) From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH 0/4] Corrections to seeting of ACK flag in TCP packets Date: Tue, 26 Mar 2024 16:42:20 +1100 Message-ID: <20240326054224.716874-1-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.44.0 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: ERBHMR473L3DRNQMOZ3SZ2ZOEBDOYXRE X-Message-ID-Hash: ERBHMR473L3DRNQMOZ3SZ2ZOEBDOYXRE X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: maxi.rostock@outlook.de, pholzing@redhat.com, David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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