From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by passt.top (Postfix, from userid 1000) id E3B555A0282; Tue, 09 Sep 2025 20:16:55 +0200 (CEST) From: Stefano Brivio To: passt-dev@passt.top Subject: [PATCH v4 8/8] tcp: Don't send FIN segment to guest yet if we have pending unacknowledged data Date: Tue, 9 Sep 2025 20:16:55 +0200 Message-ID: <20250909181655.2990223-9-sbrivio@redhat.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250909181655.2990223-1-sbrivio@redhat.com> References: <20250909181655.2990223-1-sbrivio@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: RZVR26IYW3OVVBILUTP2WDJLW5BYGVNK X-Message-ID-Hash: RZVR26IYW3OVVBILUTP2WDJLW5BYGVNK X-MailFrom: sbrivio@passt.top 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: Jon Maloy , Paul Holzinger , 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: Rm9yIHNvbWUgcmVhc29uLCB0Y3BfdnVfZGF0YV9mcm9tX3NvY2soKSBhbHJlYWR5IHRha2VzIGNh cmUgb2YgdGhpcywNCmJ1dCB0aGUgbm9uLXZob3N0LXVzZXIgdmVyc2lvbiBpZ25vcmVzIHRoaXMg cG9zc2liaWxpdHkgYW5kIGp1c3Qgc2VuZHMNCm91dCBhIEZJTiBzZWdtZW50IHdoZW5ldmVyIHdl IGluZmVyIHdlIHJlY2VpdmVkIG9uZSBob3N0LXNpZGUsDQpyZWdhcmRsZXNzIG9mIHRoZSBmYWN0 IHRoYXQgd2UgbWlnaHQgaGF2ZSB1bmFja25vd2xlZGdlZCBkYXRhIHN0aWxsIHRvDQpzZW5kLg0K DQpTb21ld2hhdCBzdXJwcmlzaW5nbHksIHRoaXMgZGlkbid0IGNhdXNlIGFueSBpc3N1ZSB0byBi ZSByZXBvcnRlZCB5ZXQsDQp1bnRpbCA2LjE3LXJjMSBhbmQgMWQyZmJhYWQ3Y2Q4ICgidGNwOiBz dHJvbmdlciBza19yY3ZidWYgY2hlY2tzIikNCmNhbWUgYXJvdW5kLCBsZWFkaW5nIHRvIHRoZSBm b2xsb3dpbmcgcmVwb3J0IGZyb20gUGF1bCwgd2hvIGhpdCB0aGlzDQpydW5uaW5nIFBvZG1hbiB0 ZXN0czoNCg0KICA0MzkgICAwLjAzMzAzMiAgMTY5LjI1NC4xLjIg4oaSIDE5Mi4xNjguMTIyLjEw MCA2NTU0MCBUQ1AgNTY2MDIg4oaSIDU3ODkgW1BTSCwgQUNLXSBTZXE9MTAzMzYzNjEgQWNrPTEg V2luPTY1NTM2IExlbj02NTQ4MA0KICA0NDAgICAwLjAzMzA1NSAgMTY5LjI1NC4xLjIg4oaSIDE5 Mi4xNjguMTIyLjEwMCAzMDMyNCBUQ1AgW1RDUCBXaW5kb3cgRnVsbF0gNTY2MDIg4oaSIDU3ODkg W1BTSCwgQUNLXSBTZXE9MTA0MDE4NDEgQWNrPTEgV2luPTY1NTM2IExlbj0zMDI2NA0KDQp3ZSdy ZSBzZW5kaW5nIGRhdGEgdG8gdGhlIGNvbnRhaW5lciwgdXAgdG8gdGhlIGVkZ2Ugb2YgdGhlIHdp bmRvdw0KDQogIDQ0MSAgIDAuMDMzMDU5IDE5Mi4xNjguMTIyLjEwMCDihpIgMTY5LjI1NC4xLjIg IDYwIFRDUCA1Nzg5IOKGkiA1NjYwMiBbQUNLXSBTZXE9MSBBY2s9MTA0MDE4NDEgV2luPTgzOTY4 IExlbj0wDQoNCmFuZCB0aGUgY29udGFpbmVyIGFja25vd2xlZGdlcyBpdA0KDQogIDQ0MiAgIDAu MDMzMDkxICAxNjkuMjU0LjEuMiDihpIgMTkyLjE2OC4xMjIuMTAwIDUzNzE2IFRDUCA1NjYwMiDi hpIgNTc4OSBbUFNILCBBQ0tdIFNlcT0xMDQzMjEwNSBBY2s9MSBXaW49NjU1MzYgTGVuPTUzNjU2 DQoNCndlIHNlbmQgbW9yZSBkYXRhLCBhbGwgd2UgcG9zc2libHkgY2FuLCBpbiB3aW5kb3cNCg0K ICA0NDMgICAwLjAzMzEyNiAxOTIuMTY4LjEyMi4xMDAg4oaSIDE2OS4yNTQuMS4yICA2MCBUQ1Ag W1RDUCBaZXJvV2luZG93XSA1Nzg5IOKGkiA1NjYwMiBbQUNLXSBTZXE9MSBBY2s9MTA0MzIxMDUg V2luPTAgTGVuPTANCg0KYW5kIHRoZSBjb250YWluZXIgc2hyaW5rcyB0aGUgd2luZG93IGR1ZSB0 byB0aGUgaXNzdWUgaW50cm9kdWNlZA0KYnkga2VybmVsIGNvbW1pdCBlMjE0MjgyNWMxMjAgKCJu ZXQ6IHRjcDogc2VuZCB6ZXJvLXdpbmRvdyBBQ0sgd2hlbiBubw0KbWVtb3J5IikuIFdpdGggYSBw cmV2aW91cyBwYXRjaCBmcm9tIHRoaXMgc2VyaWVzLCB3ZSByZXdpbmQgdGhlDQpzZXF1ZW5jZSwg bWVhbmluZyB0aGF0IHdlIGFzc2lnbiBjb25uLT5zZXFfdG9fdGFwIGZyb20NCmNvbm4tPnNlcV9h Y2tfZnJvbV90YXAsIHNvIHRoYXQgd2UnbGwgcmV0cmFuc21pdCB0aGlzIHNlZ21lbnQsIGJ5DQpy ZWFkaW5nIGFnYWluIGZyb20gdGhlIHNvY2tldCwgYW5kIGluY3JlYXNpbmcgY29ubi0+c2VxX3Rv X3RhcA0Kb25jZSBtb3JlLg0KDQpIb3dldmVyOg0KDQogIDQ0NCAgIDAuMDMzMTQ0ICAxNjkuMjU0 LjEuMiDihpIgMTkyLjE2OC4xMjIuMTAwIDYwIFRDUCA1NjYwMiDihpIgNTc4OSBbRklOLCBQU0gs IEFDS10gU2VxPTEwNDg1NzYxIEFjaz0xIFdpbj02NTUzNiBMZW49MA0KDQp3ZSBldmVudHVhbGx5 IGdldCBhIHplcm8tbGVuZ3RoIHJlYWQgZnJvbSB0aGUgc29ja2V0IGFuZCB3ZSBtaXNzIHRoZQ0K ZmFjdCB0aGF0IGNvbm4tPnNlcV90b190YXAgIT0gY29ubi0+c2VxX2Fja19mcm9tX3RhcCwgc28g d2Ugc2VuZCBhDQpGSU4gZmxhZyB3aXRoIHRoZSBtb3N0IHJlY2VudCBzZXF1ZW5jZS4gVGhlIGtl cm5lbCBpbnNpc3RzOg0KDQogIDQ0NSAgIDAuMDMzMTQ3IDE5Mi4xNjguMTIyLjEwMCDihpIgMTY5 LjI1NC4xLjIgIDYwIFRDUCBbVENQIFplcm9XaW5kb3ddIDU3ODkg4oaSIDU2NjAyIFtBQ0tdIFNl cT0xIEFjaz0xMDQzMjEwNSBXaW49MCBMZW49MA0KDQp3aXRoIGl0cyBidWdneSB6ZXJvLXdpbmRv dyB1cGRhdGUsIGJ1dDoNCg0KICA0NDYgICAwLjAzMzE1MiAxOTIuMTY4LjEyMi4xMDAg4oaSIDE2 OS4yNTQuMS4yICA2MCBUQ1AgW1RDUCBXaW5kb3cgVXBkYXRlXSA1Nzg5IOKGkiA1NjYwMiBbQUNL XSBTZXE9MSBBY2s9MTA0MzIxMDUgV2luPTY5MTIwIExlbj0wDQogIDQ0NyAgIDAuMDMzMjAyIDE5 Mi4xNjguMTIyLjEwMCDihpIgMTY5LjI1NC4xLjIgIDYwIFRDUCBbVENQIFdpbmRvdyBVcGRhdGVd IDU3ODkg4oaSIDU2NjAyIFtBQ0tdIFNlcT0xIEFjaz0xMDQzMjEwNSBXaW49MTQyODQ4IExlbj0w DQoNCndlIGRvbid0IHJlc2V0IHRoZSBUQVBfRklOX1NFTlQgZmxhZyBhbnltb3JlLCBhbmQgZG9u J3QgcmVzZW5kDQp0aGUgRklOIHNlZ21lbnQgKG5vciBkYXRhKSwgYXMgd2UgYWxyZWFkeSByZXdv dW5kIHRoZSBzZXF1ZW5jZQ0KZWFybGllci4NCg0KVG8gc29sdmUgdGhpcywgaG9sZCBvZmYgdGhl IEZJTiBzZWdtZW50IHVudGlsIHdlIGdldCBhIHplcm8tbGVuZ3RoDQpyZWFkIGZyb20gdGhlIHNv Y2tldCAqYW5kKiB3ZSBrbm93IHRoYXQgdGhlcmUncyBubyB1bmFja25vd2xlZGdlZA0KcGVuZGlu ZyBkYXRhLCBhbHNvIHdpdGhvdXQgdmhvc3QtdXNlciwgaW4gdGNwX2J1Zl9kYXRhX2Zyb21fc29j aygpLg0KDQpSZXBvcnRlZC1ieTogUGF1bCBIb2x6aW5nZXIgPHBob2x6aW5nQHJlZGhhdC5jb20+ DQpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPg0KLS0t DQogdGNwX2J1Zi5jIHwgNSArKysrLQ0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkNCg0KZGlmZiAtLWdpdCBhL3RjcF9idWYuYyBiL3RjcF9idWYuYw0KaW5k ZXggNGViYjAxMy4uNDliZGRiZSAxMDA2NDQNCi0tLSBhL3RjcF9idWYuYw0KKysrIGIvdGNwX2J1 Zi5jDQpAQCAtMzYzLDcgKzM2MywxMCBAQCBpbnQgdGNwX2J1Zl9kYXRhX2Zyb21fc29jayhjb25z dCBzdHJ1Y3QgY3R4ICpjLCBzdHJ1Y3QgdGNwX3RhcF9jb25uICpjb25uKQ0KIAl9DQogDQogCWlm ICghbGVuKSB7DQotCQlpZiAoKGNvbm4tPmV2ZW50cyAmIChTT0NLX0ZJTl9SQ1ZEIHwgVEFQX0ZJ Tl9TRU5UKSkgPT0gU09DS19GSU5fUkNWRCkgew0KKwkJaWYgKGFscmVhZHlfc2VudCkgew0KKwkJ CWNvbm5fZmxhZyhjLCBjb25uLCBTVEFMTEVEKTsNCisJCX0gZWxzZSBpZiAoKGNvbm4tPmV2ZW50 cyAmIChTT0NLX0ZJTl9SQ1ZEIHwgVEFQX0ZJTl9TRU5UKSkgPT0NCisJCQkgICBTT0NLX0ZJTl9S Q1ZEKSB7DQogCQkJaW50IHJldCA9IHRjcF9idWZfc2VuZF9mbGFnKGMsIGNvbm4sIEZJTiB8IEFD Syk7DQogCQkJaWYgKHJldCkgew0KIAkJCQl0Y3BfcnN0KGMsIGNvbm4pOw0KLS0gDQoyLjQzLjAN Cg0K