From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=UXwHotje; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTPS id 810A15A004E for ; Mon, 23 Feb 2026 11:06:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1771841197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=DupGUQuTN2CD72d0bIdSv9XfH395qz9HVC04Is30H6s=; b=UXwHotjec0sMwNQ4pKLN3pITrZB+YgVNUfkH3UOTfQ5JvTxRGgBL6QKTZ5eGWzuHPshsY1 G2GaZ2pdzwHCc4OZ46snoNAIofytvuIFTsrI4PvAn/UiL3iLTyPqLAjNPt7QGOYojXqGHM cuxCcNgzj9W+hGkgE7G/T7INcsxZHhc= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-663-MjhfW36wMuewD327E_glEg-1; Mon, 23 Feb 2026 05:06:34 -0500 X-MC-Unique: MjhfW36wMuewD327E_glEg-1 X-Mimecast-MFC-AGG-ID: MjhfW36wMuewD327E_glEg_1771841194 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-4376e25bb4dso2920056f8f.0 for ; Mon, 23 Feb 2026 02:06:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771841193; x=1772445993; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=DupGUQuTN2CD72d0bIdSv9XfH395qz9HVC04Is30H6s=; b=m9s4wvS//kFMCC/FOZd+TRO81SuoFO8W4kXx2GcSqU+SGcmL0laaObmUvhwg3gEIIS 5SbpUH15X94dhTwuytaqZBA0Zq5OUlB69PAvo5WOCbKBOPEjHNjf2xNFi5rqhnX6vTy8 R5HOLnXOXI6vCkWB7XphxhOzDcTom0BLpqaFC0fPQfBc7+HAr9CL5Rocl1IZ/v/CrqT1 BBfJMbSXr9I0m8NolHNcenzR1M4cEHxc2wdie7TpumtboIFmX4GhrSMKowlB894HEb6O vVnxz+Tpzdp8WAeUJeR2WaO4caI8hXEE8k8uEzffCkk4mDVc2Ku4pPVmY2VehZbvuSoF EaAw== X-Gm-Message-State: AOJu0Yz/a5FkfI8UGUu/6uGe8nf/5u/i8xwS0EjQ93Jez+XCi0+KuEe3 rQBJmfzW0ltgXBzEVLL1hvnurbLna69kbzqrlNeHeT6YinTaIADSRvVOcV48+m7TAtEX99iFVAO xbM24Hhw5CRJ1bN5gqioVjaFfZa7eXNGlO9yO7hjn4RNuR16INFs5qvEnEoWEow== X-Gm-Gg: ATEYQzzyW5ZULlP6ye2nTezsMV2EZ7q7J4YtDV1leJWdUiJEqwYfNOHX7uqF3uFqMnb VyVqSdZn1++Ohx8nCY12L/vo9kSmWlWotw4OdjywKwBm2UVKL0Cjx/2o561I+IhtjCqZM0FolJT ur8gg8s+N+Mti9AID6auOP1kDHjzOtOkK0chsZbcRLJku/BEYYRMsiwJqXnQjn1s0fAR2k1noJ0 sCA7Thyr1B8OkuOhgol+zZjOud6JSnWiJ79fOTV0xrBAUimgY7/V504F90tjRd26UGnR+a9/q37 ihzqTIl+t/087IPNC7Sl1fnTDIFs5+QTRN80ljy5emh2osDIbawQHuJxYq2cBBQzfqvM7hndv75 z6LqZJSxj1sMk0tVSdKuFwTsFLlt8MtBsSBFKvhxMtPVEIykEGzpGPEgUQRIMESlTAyRyVYUPbQ jsAVYPisU9F70ML9Nkyow1/IW/tP42iMloLijASBPTzAJddiZxlb3lNOV5 X-Received: by 2002:a05:6000:240f:b0:437:6758:ce7d with SMTP id ffacd0b85a97d-4396f1742afmr12846107f8f.24.1771841193275; Mon, 23 Feb 2026 02:06:33 -0800 (PST) X-Received: by 2002:a05:6000:240f:b0:437:6758:ce7d with SMTP id ffacd0b85a97d-4396f1742afmr12846070f8f.24.1771841192847; Mon, 23 Feb 2026 02:06:32 -0800 (PST) Received: from ?IPV6:2a01:cb00:8ef9:5300:877b:aaab:2ea7:8695? (2a01cb008ef95300877baaab2ea78695.ipv6.abo.wanadoo.fr. [2a01:cb00:8ef9:5300:877b:aaab:2ea7:8695]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970c00768sm18296070f8f.10.2026.02.23.02.06.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Feb 2026 02:06:32 -0800 (PST) Message-ID: Date: Mon, 23 Feb 2026 11:06:30 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] tcp_vu, udp_vu: Account for virtio net header in minimum frame size To: Stefano Brivio References: <20260212113932.1047788-1-lvivier@redhat.com> <20260212113932.1047788-3-lvivier@redhat.com> <20260215115609.32cb69b0@elisabeth> <6bdd7a8c-bdcb-43d8-a03f-d0a2f9468316@vivier.eu> From: Laurent Vivier Autocrypt: addr=lvivier@redhat.com; keydata= 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 In-Reply-To: <6bdd7a8c-bdcb-43d8-a03f-d0a2f9468316@vivier.eu> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: mYF6zkatCDuVASE6EULBUhxuqulLRCqP7u2Fou5-aD0_1771841194 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: JW5B4WGA3VUIANWUSPQH5TYR4LRWBOOF X-Message-ID-Hash: JW5B4WGA3VUIANWUSPQH5TYR4LRWBOOF X-MailFrom: lvivier@redhat.com 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: passt-dev@passt.top 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: T24gMi8yMy8yNiAxMDo1NywgTGF1cmVudCBWaXZpZXIgd3JvdGU6DQo+IE9uIDIvMTUvMjYgMTE6 NTYsIFN0ZWZhbm8gQnJpdmlvIHdyb3RlOg0KPj4gT24gVGh1LCAxMiBGZWIgMjAyNiAxMjozOToz MiArMDEwMA0KPj4gTGF1cmVudCBWaXZpZXIgPGx2aXZpZXJAcmVkaGF0LmNvbT4gd3JvdGU6DQo+ Pg0KPj4+IEluIHRoZSB2aG9zdC11c2VyIHBhdGhzLCB0aGUgYnVmZmVycyBwcm92aWRlZCBieSB0 aGUgdmlydGlvIHF1ZXVlDQo+Pj4gaW5jbHVkZSB0aGUgdmlydGlvIG5ldCBoZWFkZXIgKFZORVRf SExFTikgcHJlcGVuZGVkIHRvIHRoZSBFdGhlcm5ldA0KPj4+IGZyYW1lLiBUaGUgbWluaW11bSBz aXplIGNoZWNrcyB1c2luZyBFVEhfWkxFTiBtdXN0IHRoZXJlZm9yZSBhY2NvdW50DQo+Pj4gZm9y IHRoaXMgYWRkaXRpb25hbCBoZWFkZXIgbGVuZ3RoLCBvdGhlcndpc2Ugd2UgdW5kZXJlc3RpbWF0 ZSB0aGUNCj4+PiBtaW5pbXVtIGJ1ZmZlciBzaXplIG5lZWRlZC4NCj4+Pg0KPj4+IFVzZSBFVEhf WkxFTiArIFZORVRfSExFTiBpbnN0ZWFkIG9mIGJhcmUgRVRIX1pMRU4gaW4gdnVfY29sbGVjdCgp DQo+Pj4gY2FsbHMgYW5kIHRoZSBjb3JyZXNwb25kaW5nIEFTU0VSVCgpIGNoZWNrcy4NCj4+Pg0K Pj4+IEZpeGVzOiAwY2I4ZjkwMDM2NTQgKCJ0Y3AsIHVkcDogUGFkIGJhdGNoZWQgZnJhbWVzIGZv ciB2aG9zdC11c2VyIG1vZGVzIHRvIDYwIGJ5dGVzIA0KPj4+ICg4MDIuMyBtaW5pbXVtKSIpDQo+ Pj4gU2lnbmVkLW9mZi1ieTogTGF1cmVudCBWaXZpZXIgPGx2aXZpZXJAcmVkaGF0LmNvbT4NCj4+ PiAtLS0NCj4+PiDCoCB0Y3BfdnUuYyB8IDggKysrKy0tLS0NCj4+PiDCoCB1ZHBfdnUuYyB8IDIg Ky0NCj4+PiDCoCAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS90Y3BfdnUuYyBiL3RjcF92dS5jDQo+Pj4gaW5kZXgg ZjdiZGE0OTQzZTQzLi4yZDU5M2Q1MzRkNjggMTAwNjQ0DQo+Pj4gLS0tIGEvdGNwX3Z1LmMNCj4+ PiArKysgYi90Y3BfdnUuYw0KPj4+IEBAIC05MCwxMiArOTAsMTIgQEAgaW50IHRjcF92dV9zZW5k X2ZsYWcoY29uc3Qgc3RydWN0IGN0eCAqYywgc3RydWN0IHRjcF90YXBfY29ubiANCj4+PiAqY29u biwgaW50IGZsYWdzKQ0KPj4+IMKgwqDCoMKgwqAgdnVfc2V0X2VsZW1lbnQoJmZsYWdzX2VsZW1b MF0sIE5VTEwsICZmbGFnc19pb3ZbMF0pOw0KPj4+IMKgwqDCoMKgwqAgZWxlbV9jbnQgPSB2dV9j b2xsZWN0KHZkZXYsIHZxLCAmZmxhZ3NfZWxlbVswXSwgMSwNCj4+PiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBNQVgoaGRybGVuICsgc2l6ZW9mKCpvcHRzKSwgRVRIX1pMRU4p LCBOVUxMKTsNCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBNQVgoaGRy bGVuICsgc2l6ZW9mKCpvcHRzKSwgRVRIX1pMRU4gKyBWTkVUX0hMRU4pLCBOVUxMKTsNCj4+PiDC oMKgwqDCoMKgIGlmIChlbGVtX2NudCAhPSAxKQ0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gLTE7DQo+Pj4gwqDCoMKgwqDCoCBBU1NFUlQoZmxhZ3NfZWxlbVswXS5pbl9zZ1swXS5pb3Zf bGVuID49DQo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgIE1BWChoZHJsZW4gKyBzaXplb2YoKm9w dHMpLCBFVEhfWkxFTikpOw0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCBNQVgoaGRybGVuICsg c2l6ZW9mKCpvcHRzKSwgRVRIX1pMRU4gKyBWTkVUX0hMRU4pKTsNCj4+PiDCoMKgwqDCoMKgIHZ1 X3NldF92bmV0aGRyKHZkZXYsIGZsYWdzX2VsZW1bMF0uaW5fc2dbMF0uaW92X2Jhc2UsIDEpOw0K Pj4+IEBAIC0yMDgsNyArMjA4LDcgQEAgc3RhdGljIHNzaXplX3QgdGNwX3Z1X3NvY2tfcmVjdihj b25zdCBzdHJ1Y3QgY3R4ICpjLCBzdHJ1Y3QgDQo+Pj4gdnVfdmlydHEgKnZxLA0KPj4+IMKgwqDC oMKgwqDCoMKgwqDCoCBjbnQgPSB2dV9jb2xsZWN0KHZkZXYsIHZxLCAmZWxlbVtlbGVtX2NudF0s DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFZJUlRRVUVVRV9NQVhf U0laRSAtIGVsZW1fY250LA0KPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBN QVgoTUlOKG1zcywgZmlsbHNpemUpICsgaGRybGVuLCBFVEhfWkxFTiksDQo+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1BWChNSU4obXNzLCBmaWxsc2l6ZSkgKyBoZHJsZW4s IEVUSF9aTEVOICsgVk5FVF9ITEVOKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgJmZyYW1lX3NpemUpOw0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoY250ID09 IDApDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7DQo+Pj4gQEAgLTMwMiw3 ICszMDIsNyBAQCBzdGF0aWMgdm9pZCB0Y3BfdnVfcHJlcGFyZShjb25zdCBzdHJ1Y3QgY3R4ICpj LCBzdHJ1Y3QgdGNwX3RhcF9jb25uIA0KPj4+ICpjb25uLA0KPj4+IMKgwqDCoMKgwqAgLyogd2Ug Z3Vlc3MgdGhlIGZpcnN0IGlvdmVjIHByb3ZpZGVkIGJ5IHRoZSBndWVzdCBjYW4gZW1iZWQNCj4+ PiDCoMKgwqDCoMKgwqAgKiBhbGwgdGhlIGhlYWRlcnMgbmVlZGVkIGJ5IEwyIGZyYW1lLCBpbmNs dWRpbmcgYW55IHBhZGRpbmcNCj4+PiDCoMKgwqDCoMKgwqAgKi8NCj4+PiAtwqDCoMKgIEFTU0VS VChpb3ZbMF0uaW92X2xlbiA+PSBNQVgoaGRybGVuLCBFVEhfWkxFTikpOw0KPj4+ICvCoMKgwqAg QVNTRVJUKGlvdlswXS5pb3ZfbGVuID49IE1BWChoZHJsZW4sIEVUSF9aTEVOICsgVk5FVF9ITEVO KSk7DQo+Pg0KPj4gVGhpcyB0cmlnZ2VycyBpbiB0aGUgcGFzc3RfdnVfaW5fbnMvdGNwLCAiVENQ L0lQdjQ6IGhvc3QgdG8gZ3Vlc3Q6IGJpZw0KPj4gdHJhbnNmZXIiIHRlc3QgY2FzZSwgdGhhdCBp cywgdGhlIGZpcnN0IHRpbWUgd2UgY29ubmVjdCB0byB0aGUgZ3Vlc3QNCj4+IChwcm9iYWJseSBv biB0aGUgaW5pdGlhbCBTWU4gc2VnbWVudCkuDQo+Pg0KPj4gSSBkaWRuJ3QgY2hlY2sgd2h5Lg0K PiANCj4gQWZ0ZXIgdGNwX3Z1X3NvY2tfcmVjdigpLCBpb3ZbMF0uaW92X2xlbiBpcyBzZXQgdG8g dGhlIHNpemUgb2YgaGRybGVuICsgcmVjZWl2ZWQgZGF0YSwgDQo+IGl0J3Mgd2h5IGluIHRjcF92 dV9wcmVwYXJlKCkgaW92X2xlbiBjYW4gYmUgc2hvcnRlciB0aGFuIGV4cGVjdGVkLiBBcyB0aGUg YWN0dWFsIGJ1ZmZlciANCj4gc2l6ZSBpcyBhbHJlYWR5IGd1YXJhbnRlZWQgYnkgdnVfY29sbGVj dCgpLCBJIHRoaW5rIHRoZSBBU1NFUlQoKSBzaG91bGQgYmUgcmV2ZXJ0ZWQgdG8gDQo+IEFTU0VS VChpb3ZbMF0uaW92X2xlbiA+PSBoZHJsZW4pLg0KPiANCj4gTW9yZW92ZXIgdGhlcmUgaXMgYSBw cm9ibGVtIHdpdGggdnVfcGFkKCkgaW4gdGNwX3Z1LmMgdGhhdCBpbmNsdWRlcyB0aGUgVk5FVF9I TEVOIChpdCANCj4gc2hvdWxkIG5vdCksIHNlZSB1ZHBfdnUuYw0KDQpJbiBmYWN0LCB0aGUgcGFk ZGluZyBpcyB3cm9uZyBpbiB1ZHBfdnUuYywgbm90IGluIHRjcF92dS5jDQoNClRoYW5rcywNCkxh dXJlbnQNCg0K