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=afeYiXQp; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by passt.top (Postfix) with ESMTPS id 3E03D5A0265 for ; Tue, 26 May 2026 10:38:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779784684; 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; bh=RtLxlvOWPeeEDzEcZSID7yaGAewlkww1Qv1dTiOttjU=; b=afeYiXQpElB0r4086YxHAdqFSXVWV2QS9960vovuSq+dw2RTZw9fBw0+OQIwxTjGDM/cqq 4KIDFfr5k+tVLrdzsd31LKSbMceiElbl013ELnouxEWhEs2rRGKUnIHpIIaF2huiTTDtSe eXLM45TP1TTnbp7gv5PNPxd6OiU1+1c= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-58-aihmXPEdM-OTKvTDEmTK1Q-1; Tue, 26 May 2026 04:38:02 -0400 X-MC-Unique: aihmXPEdM-OTKvTDEmTK1Q-1 X-Mimecast-MFC-AGG-ID: aihmXPEdM-OTKvTDEmTK1Q_1779784681 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-48fe24773c8so54111895e9.3 for ; Tue, 26 May 2026 01:38:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779784681; x=1780389481; h=date:content-transfer-encoding:mime-version:organization:references :in-reply-to:message-id:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RtLxlvOWPeeEDzEcZSID7yaGAewlkww1Qv1dTiOttjU=; b=eFB5BxnRq4UYvEoiC9CCxTHOvlZksJYgRHLY/EKANWBriQuU29Ztapz7XfPrMuvuJM 1lwsFWD2/Ir8avyBGQlgCVLYKtuMQh0DZbOKow6UtxlK0+vCi9W0YoWF8iYoqTIOq9JY plHP62agdYJUK5cn5dFaHnQMMh/Qw2i+gW9Prh2sv22fvWZCCup6zJM5396+CRJ8uvI6 oX29C4oKTxDGETZlftwTZ+sW9/TP01HRspWzsuzYq7mrHHn92QUeEgisjh9Ixb2AduWe abzQnPEXci5OkXlTPEcKSQ/79f3ndcltVJkXqMheV1OJS/960KD+7sBXZni/G7qR/adJ xWnQ== X-Gm-Message-State: AOJu0YxV/iC4Ep968RKd23OLBlboBnm+W5AKfVEUZkazLUmrO7p95snj G5Li1mOylj57R/8y77PaHQ//z/v+Gu0PRXkojaVhillLIyNZ4X30GQejMNvoO07BPrH1rXF4XEH VpPXVdT9QD5EreR3+6pKSY8wItrJAxSbUfBHZxqjKCKtzpAqvD9UuJw== X-Gm-Gg: Acq92OE5dmjPI/txgOlyk8l68p8Toh+Ao0rd8cjJmS5AaRWWpWVuXFUBk/BcncVuMXX nDuU24gt2sia5S9TwbNS4FnK4CxOSYqPW7dCXGuWp5ckAcNpeqsYpoOYem2tFR0km1cO4HRnjrH WQl9doWxW0FQ2nOcd8N9DCHoaMiO72n0tTkiONNXoQEzkNI0HeSC9ZupKeqgpt/ATAvnICKBnik NxDibIN7B4XmQYuA0yR5ToYcZGl/GxMwx4oyvkFMfXRO68liOQni/LMRNlt/5en91WDHFXWenZt 5NfkTqFedjhc4pKJEPx2jb/75CCVJ5Frqqotp3uuPTx3tXm7Y/Up7lPCpbNdH2XESOmDqVbOlni qbF+3CvY0r9/0T2lc4qcuPilPF48c+z3OWz3l/WZgEDL8dSCnaA== X-Received: by 2002:a05:600c:c3cd:20b0:48a:58ae:993b with SMTP id 5b1f17b1804b1-490428c97a1mr200104505e9.16.1779784680610; Tue, 26 May 2026 01:38:00 -0700 (PDT) X-Received: by 2002:a05:600c:c3cd:20b0:48a:58ae:993b with SMTP id 5b1f17b1804b1-490428c97a1mr200104215e9.16.1779784680142; Tue, 26 May 2026 01:38:00 -0700 (PDT) Received: from maya.myfinge.rs (ifcgrfdd.trafficplex.cloud. [176.103.220.4]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490454ac676sm336058305e9.13.2026.05.26.01.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 01:37:59 -0700 (PDT) From: Stefano Brivio To: Laurent Vivier Subject: Re: [PATCH v7 1/4] tcp: Encode checksum computation flags in a single parameter Message-ID: <20260526103758.34941683@elisabeth> In-Reply-To: <20260520151010.496286-2-lvivier@redhat.com> References: <20260520151010.496286-1-lvivier@redhat.com> <20260520151010.496286-2-lvivier@redhat.com> Organization: Red Hat X-Mailer: Claws Mail 4.2.0 (GTK 3.24.49; x86_64-pc-linux-gnu) MIME-Version: 1.0 Date: Tue, 26 May 2026 10:37:59 +0200 (CEST) X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 82uAhTWL2sh31bCZi-5xntqM7EF2W0lDA69A_U7iPrY_1779784681 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-ID-Hash: 2SSE2UYPC4YANEZEMJF776WK7UAYJMZF X-Message-ID-Hash: 2SSE2UYPC4YANEZEMJF776WK7UAYJMZF X-MailFrom: sbrivio@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, David Gibson , Jon Maloy 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: On Wed, 20 May 2026 17:10:07 +0200 Laurent Vivier wrote: > tcp_fill_headers() takes a pointer to a previously computed IPv4 header > checksum to avoid recalculating it when the payload length doesn't > change, and a separate bool to skip TCP checksum computation. > > Replace both parameters with a single uint32_t csum_flags that encodes: > - IP4_CSUM (bit 31): compute IPv4 header checksum from scratch > - TCP_CSUM (bit 30): compute TCP checksum > - IP4_CMASK (low 16 bits): cached IPv4 header checksum value Have you considered something like: struct csum_state { bool compute_tcp; bool compute_ip; uint16_t computed_ip; }; ? I think the related documentation would look simpler and it should also be more robust to future changes. Not worth a respin though, if it looks like a good idea I guess it could be done as a follow-up. -- Stefano