From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from ws5-mx01.kavi.com (ws5-mx01.kavi.com [34.193.7.191]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ED679C47077 for ; Tue, 16 Jan 2024 12:38:34 +0000 (UTC) Received: from lists.oasis-open.org (oasis.ws5.connectedcommunity.org [10.110.1.242]) by ws5-mx01.kavi.com (Postfix) with ESMTP id 4E14979F2E for ; Tue, 16 Jan 2024 12:38:34 +0000 (UTC) Received: from lists.oasis-open.org (oasis-open.org [10.110.1.242]) by lists.oasis-open.org (Postfix) with ESMTP id 2229C98667B for ; Tue, 16 Jan 2024 12:38:34 +0000 (UTC) Received: from host09.ws5.connectedcommunity.org (host09.ws5.connectedcommunity.org [10.110.1.97]) by lists.oasis-open.org (Postfix) with QMQP id 072DC9865AA; Tue, 16 Jan 2024 12:38:34 +0000 (UTC) Mailing-List: contact virtio-comment-help@lists.oasis-open.org; run by ezmlm List-ID: Sender: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Received: from lists.oasis-open.org (oasis-open.org [10.110.1.242]) by lists.oasis-open.org (Postfix) with ESMTP id EB3859865C8 for ; Tue, 16 Jan 2024 12:38:33 +0000 (UTC) X-Virus-Scanned: amavisd-new at kavi.com X-MC-Unique: NKCK8husOu-wMWXgYTidvQ-1 From: Cornelia Huck To: Parav Pandit , "virtio-comment@lists.oasis-open.org" , "mst@redhat.com" Cc: Shahaf Shuler , "xuanzhuo@linux.alibaba.com" , "yuri.benditovich@daynix.com" In-Reply-To: Organization: "Red Hat GmbH, Sitz: Werner-von-Siemens-Ring 12, D-85630 Grasbrunn, Handelsregister: Amtsgericht =?utf-8?Q?M=C3=BCnchen=2C?= HRB 153243, =?utf-8?Q?Gesch=C3=A4ftsf=C3=BChrer=3A?= Ryan Barnhart, Charles Cachera, Michael O'Neill, Amy Ross" References: <20240115093141.3539316-1-parav@nvidia.com> <20240115093141.3539316-2-parav@nvidia.com> <87r0iimtrg.fsf@redhat.com> <87o7dlmtgo.fsf@redhat.com> User-Agent: Notmuch/0.37 (https://notmuchmail.org) Date: Tue, 16 Jan 2024 13:38:29 +0100 Message-ID: <87le8pmp16.fsf@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Subject: [virtio-comment] RE: [PATCH v2 1/2] virtio-net: Fix receive buffer size calculation text On Tue, Jan 16 2024, Parav Pandit wrote: >> From: Cornelia Huck >> Sent: Tuesday, January 16, 2024 4:33 PM >> To: Parav Pandit ; virtio-comment@lists.oasis-open.org; >> mst@redhat.com >> Cc: Shahaf Shuler ; xuanzhuo@linux.alibaba.com; >> yuri.benditovich@daynix.com >> Subject: RE: [PATCH v2 1/2] virtio-net: Fix receive buffer size calculation text >> >> On Tue, Jan 16 2024, Parav Pandit wrote: >> >> >> From: Cornelia Huck >> >> Sent: Monday, January 15, 2024 10:14 PM >> > >> >> On Mon, Jan 15 2024, Parav Pandit wrote: >> >> > +The driver MUST consider size of field \field{struct >> >> > +virtio_net_hdr} >> >> > +20 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated, and 12 bytes >> >> > +if >> >> not. >> >> > + >> >> >> >> Requiring the driver to consider the size of something to be its >> >> actual size seems a bit odd :) I don't think we need this, as the >> >> length can be derived from looking at the definitions, and is already >> >> spelled out explicitly, if you consider my suggestion above. >> > We need this because tx side also needs to refer to the virtio_net_hdr in >> patch 2 to be same as that of the rx side. >> > And hence, this normative sets base line for tx side too. Relying on rest of the >> receive packet normative is not enough. >> >> Hm, why? If struct virtio_net_hdr is well-defined, its size is well-defined as >> well, and we do not need to state it explictly? > Because, > the size of virtio_net_hdr is derived from the rx side features. > Today there is no normative line that says that even though you are using A, B, C Rx features, due to which your tx side virtio_net_hdr also changes. > The 2nd patch in this series adds this explicit normative as explained in the cover letter. Let's step back a bit. struct virtio_net_hdr is defined at the beginning of the "Device Operation" section; the definition clearly says that the last three fields depend on VIRTIO_NET_F_HASH_REPORT being negotiated. The device and the driver agree on whether HASH_REPORT is negotiated, and therefore should also agree on the size of virtio_net_hdr? Or is the problem that we did not state explicitly that the last three fields of virtio_net_hdr do not exist without HASH_REPORT (and are not merely invalid)? If yes, we should spell this out, instead of adding normative statements about what the size of virtio_net_hdr should be considered to be. If virtio_net_hdr has a fixed size, we shouldn't need the second patch, either. This publicly archived list offers a means to provide input to the OASIS Virtual I/O Device (VIRTIO) TC. In order to verify user consent to the Feedback License terms and to minimize spam in the list archive, subscription is required before posting. Subscribe: virtio-comment-subscribe@lists.oasis-open.org Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org List help: virtio-comment-help@lists.oasis-open.org List archive: https://lists.oasis-open.org/archives/virtio-comment/ Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists Committee: https://www.oasis-open.org/committees/virtio/ Join OASIS: https://www.oasis-open.org/join/