From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012046.outbound.protection.outlook.com [40.93.195.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C48E30ACEC for ; Mon, 27 Oct 2025 17:49:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.46 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761587407; cv=fail; b=YLKTxHsq9jC3EhXGiSvPCwS6RQHzDAtKaAwOMw6NLd3ymZ79tbKb/0MtHCscoS9sW1k4AaOlxXaZylugiTPMBnvnaDiGvcu+mHzDQck2bz/4y+xVj28EGDx4fp5a9x1gOMB7rARzmEFTK7cu4yHu7TyVRC3jAtQlS2Vrv6QtW0M= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761587407; c=relaxed/simple; bh=I5SoKuA2CnflkiVcp7SXULZFNm3YhjAHyXJ8k8WWb90=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qnw0y54PVEx9a5AoCeFu7c1h1sCfNA5i4e/rWsciVYSWA7hUUH1gXoGL+lHSwm2sGMI+ZMkS8V/YsQJjKs8qJeOTPAtG1u1+9KBbLOdl86VmQMdMo1HwxeYgCCrTgWX8oRXce9OSSA5JqYWhrZ9Jwo9GZV3TFMejYYPrhtPBu64= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=fail (0-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=nIWVjEXB reason="key not found in DNS"; arc=fail smtp.client-ip=40.93.195.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="nIWVjEXB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xcsWWFWHY+7xDgmZGnH0ApFNDE1yMGm4MR0YjZML8w1tlgE1YMsxEp9UmH6y85Mu3W17wrMv1QtHmdcrWqgqCW93T4VimCrDIiIwViBQiOxPIR167yw4GPHNnbJqXpe6wcZfkUvOTNGgWjHqIylEw4ztv/itb0uChyIciKFBBPPIPzMby7/+0DhAji5jCMW5frJzJ8UPJ6BKgkC+0IOgNwlcLC0pblqTkl0z2+GP+K4c7JTSXVTCBAl0eDtQggyP+KeaYXf2MJ9SYKiINgaJu11gic+RfrGYUpaOU0A9T4ahtMVqi782SImhBPlOcFBwv8dThTTuFazOs2TxjyfhuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HpfaTMd969eZxSH7JVmj0HbzM/z+0Gh+UO4u0RvTpO0=; b=OPN4oITxTTSmy4LBG4PGC/f8BihQD5bJ8bfwsHgSTG6fed7cHov0ZDX4ir7r4wiFq+8wPbVtCNkQheVd083M1bSnrjVfb9yBOb4EZpbRUO/nSS45LI0zSOjg/htfwo3UGcxV1ixDyBIer/VtVXkId1gbnZqZoHYMyzrVignbjyiiSOoalDV2GkDMkSuEPyhJlnmnty1CppDADhUHfu1vacx/S4HXSoa/kDlTI5BfGzSAKKBMNI3CcqFbU378afZ8xUsfwZGT4cVCkfoNFCJ96a7Ok4Xa/Z7z+T3VU4c4LGfgNpjrAUO8Hz0H7Y3JQOMwHlkqzidLlQHCPLxQanhA3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lists.linux.dev smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HpfaTMd969eZxSH7JVmj0HbzM/z+0Gh+UO4u0RvTpO0=; b=nIWVjEXBmzV+4C/VpHWJN91MmJEa18UFtBMPLRH2pheBWHOgdbZ6VFNEhkW4aweQxA9YCxNvoqr4TOBh/NpF4P+wq5BjCz63aNG7pMbxhRvKiy07061qt6q6vliv1IjQ+gvYL/E1/ZoIC28D88B8j8vMMaZV/jv8Lb73GkbpV3Q1GJYJYFcGagnCXRJgE+OpMkVeeFlt5377aQ2dvzaqveyY1JeE3PREXAMNXT3znkvHINUeTqcSXR0DSHzOL0DnF91rnAP1ILsMELFYjXa9Dl8g7LWGPQkroUxecC6eOK8ddPzj5LpSsYXH+qxiwNNzwIlg614JIJTD3PPx0HDkwQ== Received: from CH5P221CA0005.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1f2::29) by PH8PR12MB6844.namprd12.prod.outlook.com (2603:10b6:510:1cb::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Mon, 27 Oct 2025 17:49:46 +0000 Received: from CH1PEPF0000AD83.namprd04.prod.outlook.com (2603:10b6:610:1f2:cafe::9a) by CH5P221CA0005.outlook.office365.com (2603:10b6:610:1f2::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.19 via Frontend Transport; Mon, 27 Oct 2025 17:49:43 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH1PEPF0000AD83.mail.protection.outlook.com (10.167.244.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.10 via Frontend Transport; Mon, 27 Oct 2025 17:49:45 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 27 Oct 2025 10:49:27 -0700 Received: from vr-arch-host06.mtvr.labs.mlnx (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 27 Oct 2025 10:49:24 -0700 From: Parav Pandit To: , , , CC: , Parav Pandit Subject: [PATCH 2/4] edit: add changelog for 1.4 Date: Mon, 27 Oct 2025 19:47:54 +0200 Message-ID: <20251027174756.56284-3-parav@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251027174756.56284-1-parav@nvidia.com> References: <20251027174756.56284-1-parav@nvidia.com> Precedence: bulk X-Mailing-List: virtio-comment@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD83:EE_|PH8PR12MB6844:EE_ X-MS-Office365-Filtering-Correlation-Id: 42817b59-a562-4dc5-5298-08de1581378e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TlZmbE1pQUN0cXRmR2xKeDAyV0hITXJ1K2Y4ZzhJRHd2Nk0wRk14cmVOdDY0?= =?utf-8?B?Tko3VnZvU3VWdVJHT3JLaGlVa2M1aDlvWmRyTEJZYW14N1hFYmdLOEtZK1g5?= =?utf-8?B?OGNScjhCT0VFWGdKVzFha0ZJaWZOYXFuOWtqdy9laTlzVWZUTk1tbTNJV2xL?= =?utf-8?B?QkFzTldIbTF3enVzVUVKdWlmdThhVCtXSnFSRWRZNDdZRGwvWkxBRWlsdFI0?= =?utf-8?B?d1RWTzZSbnV6U0UwL2d5YmpJZVRXZzRkeE1mYzhEZHpTV3dHQ0t5R21PajlF?= =?utf-8?B?bm0ycHNoWk1Feld5UTJHaU9lcmF4Y0N2dWFLWGN3ekZDL1BvN1hyZTllbGpI?= =?utf-8?B?TWEwbXZpMWd1TEFsMHN0eVpRWUs4dEpwdzdaQk0rMWM3Q2VzMVNMWDJHQXJs?= =?utf-8?B?RVBYM2Mrcm4wUWp2RDNsZGFXN0RFTUc5dS94ellwYXh1Y1AzTFdFMDcvYVpR?= =?utf-8?B?TThXM2Y3R2VXbUx1d1JvKzN0QU4yMlRiNVpiUmQ3aURvUG1SY0xlVmNMSUd1?= =?utf-8?B?K3NydmprYVBqeUo0QlMxQVFWRGRhbVRkdGY5eDNtZi9uM3dMZ0dJMUlKVWR5?= =?utf-8?B?OFdNUmwxSlRMbTg0TUEvSldvWGdFeUJXMDI0SnRESW1rbkdSRUdCdWo2SzYy?= =?utf-8?B?dnhKY2xja0xXNzh4TGVWV09GR2RHRjQxMHRRakZ6dFZMRWF1cGFDcTFXUXR6?= =?utf-8?B?YUVmR2hRcjdZT0lIZCtwZnRORGt1MjBXQ1hDRzd5di9WbExaWW5MMUlvdm9m?= =?utf-8?B?U3NDTXBmNjd3a1BnRFdMZ3JZYmNNcEhrVFZHbWtKalV5VHd6V3BENk51M2Vh?= =?utf-8?B?UHI2Ym04cGdWdDgwRm9xa2ZXMmpiVFZyY2g0dUVWRXlITEhlMmE5ZVNpQjJO?= =?utf-8?B?ZUx4RFhRV05zZ0tzN1l6M1U0YkxyaDRSOUN5aTNUMjY5WnRHRE5UU2NETDJY?= =?utf-8?B?TTkrdmZiZldzZnUxc21aNkw0bDl6aFdXTUp0RzZ2Qi82R0J5T29pTU9LR3ha?= =?utf-8?B?STBxMmtJQ21vV0g1am95ZldVNlpHK2dvQXVIRnhBOVpnQzk2NmRma0dYUmY5?= =?utf-8?B?LzFndHVaem9JTlpla0E4L0RES1BJT1oyUlRISDJVUS9VaElBaTFxa3A3WnBO?= =?utf-8?B?eVh2UWpDMXY4Tmw3dXJYbEE1YnNzNlpaY0JzN1ZkWHNEL3MvVHpHZGlOYVUv?= =?utf-8?B?WVU2byt5eC9uazRUSldMT2tnM1ZIM0ttTllMeUFMVW1ObGc0WWorWjlqQkw5?= =?utf-8?B?V3VTQVRva1hmSEpEcGp3SmkzYWxWQ0ZZU1A2S2JWUnEwS2hYWENIdlpoNXdt?= =?utf-8?B?aGxkdGY5K0JkSVhFNWtyRHBUemdnMGY5M0haNkZHV2twQVNBQ3BXSE1qWERL?= =?utf-8?B?bG03ZzBrQ0wySTl5RFhuQW4wRHRRL08ydG9JQS9rMDFaQ3JCQjhvZjI5Yy9x?= =?utf-8?B?dE9KWVpXeUh3ZVFxWFJGTm1VbWRlbUM3K3BKT3BOWFlqQmtlNWpmRzk0NlpS?= =?utf-8?B?YklGYVVwR0c2VnY2MiszK3hETjdLTUdwcXhoRGMwMWdabjNFeXNpb3RqSzdv?= =?utf-8?B?aVB2TGNTSFhISENvS2h5d0drZEZUREEwNzlTWG1oZE4rYlEydE5aTDNobkRh?= =?utf-8?B?eVlTY3dBb1BIS29ublN0VjUvSzRpUmxXazFjYTRlNlR4TFJmQVJmQkFVaUJk?= =?utf-8?B?MUYxQk1ieHM2a2tDeEx5RGpKN0hITmQ1WDFwd2tlcWRRcnhhL3N1S1JVSDdQ?= =?utf-8?B?V0Z1MGFGQ2R6UURUMDVJQ2FaSDNNRjRpajlwNk04YndKaDAyMytWdnRGa2VO?= =?utf-8?B?U211T0V4cjlMQ25nY1VhMUFWZzVsaU9rczVBZzRzaGRqS01wVWQ3MnpVZDVt?= =?utf-8?B?VTRXMjQxYWcvUitsWDFLWkZvYlh2ZEFlOFlPbnRXbTBHN3pmV0hMTjZaVk5y?= =?utf-8?B?bkFkNnBLd1d3VHdMVGpZVHNtRkI4Um85Y2lmdkFNaTFwSVdMWDMybkQ2SXJC?= =?utf-8?B?MEZ1Qkg4NlF5eDhTOHFua2tmZWpOaDlLcUhRYVlnRUxmSHVEUE93K2ltbEMr?= =?utf-8?B?MFFYcXdEYUw5ZEVUTmpoUThaTjg3UmJMRGoxekhsRnoxemdJRmdRZkNuQWJC?= =?utf-8?Q?3RwoJh9Ghl4b85Rg+r/+lfW92?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 17:49:45.8703 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 42817b59-a562-4dc5-5298-08de1581378e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD83.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6844 Add the changelog for 1.4. Signed-off-by: Parav Pandit --- cl-os.tex | 2092 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2092 insertions(+) diff --git a/cl-os.tex b/cl-os.tex index e69de29..c5100f7 100644 --- a/cl-os.tex +++ b/cl-os.tex @@ -0,0 +1,2092 @@ +3abace8 & 27 Sep 2023 & Cornelia Huck & { remove enumerate usage that makes the tool unhappy + + +Signed-off-by: Cornelia Huck + + } \\ +\hline +db68dc0 & 28 Sep 2023 & Cornelia Huck & { Revert "remove enumerate usage that makes the tool unhappy" + + +This reverts commit 3abace87db23ddceaf9688a405dd3fd540023977. + +We can fix it properly instead. + +Signed-off-by: Cornelia Huck + + } \\ +\hline +c7bef01 & 28 Sep 2023 & Michael S. Tsirkin & { html: add missing enumitem package + + +makediffhtml.sh currently fails with: + +! Missing number, treated as zero. + + \textbackslash c@* +l.25850 \textbackslash begin\{enumerate\}[label=\textbackslash alph* + .] +? +! Emergency stop. + + \textbackslash c@* +l.25850 \textbackslash begin\{enumerate\}[label=\textbackslash alph* + .] + +Some web searches turned up suggestions to use enumitem and in fact, +virtio.tex already does this - but virtio-html.tex doesn't. + +Adding \textbackslash usepackage\{enumitem\} in virtio-html.tex too fixes the issue. + +Signed-off-by: Michael S. Tsirkin +Signed-off-by: Cornelia Huck + + } \\ +\hline +3fdaa17 & 30 Oct 2023 & jeshwank & { virtio-tee: Reserve device ID 46 for TEE device + + +In a virtual environment, an application running in guest VM may want +to delegate security sensitive tasks to a Trusted Application (TA) +running within a Trusted Execution Environment (TEE). A TEE is a trusted +OS running in some secure environment, for example, TrustZone on ARM +CPUs, or a separate secure co-processor etc. + +A virtual TEE device emulates a TEE within a guest VM. Such a virtual +TEE device supports multiple operations such as: + +VIRTIO_TEE_CMD_OPEN_DEVICE – Open a communication channel with virtio + TEE device. +VIRTIO_TEE_CMD_CLOSE_DEVICE – Close communication channel with virtio + TEE device. +VIRTIO_TEE_CMD_GET_VERSION – Get version of virtio TEE. +VIRTIO_TEE_CMD_OPEN_SESSION – Open a session to communicate with + trusted application running in TEE. +VIRTIO_TEE_CMD_CLOSE_SESSION – Close a session to end communication + with trusted application running in TEE. +VIRTIO_TEE_CMD_INVOKE_FUNC – Invoke a command or function in trusted + application running in TEE. +VIRTIO_TEE_CMD_CANCEL_REQ – Cancel an ongoing command within TEE. +VIRTIO_TEE_CMD_REGISTER_MEM - Register shared memory with TEE. +VIRTIO_TEE_CMD_UNREGISTER_MEM - Unregister shared memory from TEE. + +We would like to reserve device ID 46 for Virtio-TEE device. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/175} + +Signed-off-by: Jeshwanth Kumar +Reviewed-by: Rijo Thomas +Reviewed-by: Parav Pandit +Acked-by: Sumit Garg +Signed-off-by: Cornelia Huck + + } \\ +\hline +42f3899 & 30 Oct 2023 & Xuan Zhuo & { virtio-net: support device stats + + +This patch allows the driver to obtain some statistics from the device. + +In the device implementation, we can count a lot of such information, +which can be used for debugging and judging the running status of the +device. We hope to directly display it to the user through ethtool. + +To get stats atomically, try to get stats for all/multiple queue pairs +in one command. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/180} + +Signed-off-by: Xuan Zhuo +Suggested-by: Michael S. Tsirkin +Reviewed-by: Parav Pandit +Signed-off-by: Cornelia Huck + + } \\ +\hline +925b42e & 30 Oct 2023 & Parav Pandit & { conformance: Add missing virtqueue reset conformance references + + +Add the missing references to the virtqueue reset related conformance +requirements. + +Signed-off-by: Parav Pandit +Reviewed-by: Xuan Zhuo +[CH: pushed as an editorial change] +Signed-off-by: Cornelia Huck + + } \\ +\hline +68d5cc4 & 30 Oct 2023 & Parav Pandit & { packed-ring: Change host,guest to device,driver + + +Rest of the packed ring description already uses the device +and driver terminology. Change the introductory line as well from +host and guest to device and driver respectively. + +Signed-off-by: Parav Pandit +Acked-by: Michael S. Tsirkin +[CH: pushed as an editorial update] +Signed-off-by: Cornelia Huck + + } \\ +\hline +c8249d7 & 30 Oct 2023 & Cornelia Huck & { editorial: allow for longer device id table + + +Move to "longtable" to allow the table to span multiple pages (it +became too long to fit on one page with the latest addition.) + +Signed-off-by: Cornelia Huck + + } \\ +\hline +eb16e33 & 03 Nov 2023 & Cornelia Huck & { editorial: various fixes for 1.3-csd01 + + + +- Set approval date to 06 October 2023. (applies to front page subtitle, +citation format, PDF page footers) + +- Set filenames and URIs to show csd01 instead of wd01 (also PDF footers) + +- Set "Previous stage" to "N/A" (don't list a different numbered Version) + +- In "Related work", change (3x) text - "Latest version" to "Latest stage" + +- In "Notices", set the copyright year to 2023. + + +- In the first line of Appendix D. Revision History, replace "the previous +version" with "Version 1.2" + + +- In Section 1.3, apply the current IETF-recommended text: +"The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", +"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and +"OPTIONAL" in this document are to be interpreted as described in BCP 14 +[[RFC2119](\#link)] and [[RFC8174](\#link)] when, and only when, they appear +in all capitals, as shown here." + +- Also, add the RFC 8174 reference: +[RFC8174] +Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP +14, RFC 8174, DOI 10.17487/RFC8174, May 2017, +\url{https://www.rfc-editor.org/info/rfc8174.} + +Reported-by: Paul Knight +Signed-off-by: Cornelia Huck + + } \\ +\hline +43a948e & 03 Nov 2023 & Cornelia Huck & { editorial: update "Computer Language Definitions" URL + + +Split out from the other fixes for 1.3-csd01 so that we can fixup the +diff. + + +- In "Status", (fourth paragraph) change the hyperlink under (Computer +Language Definitions) to be " +\url{https://www.oasis-open.org/policies-guidelines/tc-process-2017-05-26/\#wpComponentsCompLang} +" + +Reported-by: Paul Knight +Signed-off-by: Cornelia Huck + + } \\ +\hline +5fc35a7 & 03 Nov 2023 & Cornelia Huck & { makediff: update list of cherry-picks + + +We don't need to apply the old commits anymore, but we have to apply +the URL update to work around a not-yet-debugged latexdiff problem. + +Signed-off-by: Cornelia Huck + + } \\ +\hline +4cb03b1 & 17 Nov 2023 & Parav Pandit & { description: Avoid splitting the word virtqueue + + +Don't split the word virtqueue. + +Signed-off-by: Parav Pandit +[CH: applied as editorial] +Signed-off-by: Cornelia Huck + + } \\ +\hline +878a5e7 & 13 Feb 2024 & Shujun Xue & { Define the DEVICE ID of Virtio Cpu balloon device as 47. + + +The Virtio CPU balloon device is a primitive device for managing guest +CPU capacity: the device asks for certain CPU cores to be online, +offline or throttled, and the driver performs the requested operation. +This allows the guest to adapt to changes in allowance of underlying +CPU capacity. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/187} + +Signed-off-by: Shujun Xue +Signed-off-by: Cornelia Huck + + } \\ +\hline +07bb9f7 & 13 Feb 2024 & Harald Mommer & { virtio-can: Device specification. + + +virtio-can is a virtual CAN device. It provides a way to give access to +a CAN controller from a driver guest. The device is aimed to be used by +driver guests running a HLOS as well as by driver guests running a +typical RTOS as used in controller environments. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/186} + +Signed-off-by: Harald Mommer +Signed-off-by: Mikhail Golubev-Ciuchea +Signed-off-by: Cornelia Huck + + } \\ +\hline +193daee & 13 Feb 2024 & Heng Qi & { virtio-net: support the RSS context + + +Commit 84a1d9c48200 ("net: ethtool: extend RXNFC API to support RSS spreading of +filter matches") adds support for RSS context as a destination for receive flow filters +(see WIP work: \url{https://lists.oasis-open.org/archives/virtio-comment/202308/msg00194.html).} + +An RSS context consists of configurable parameters specified by receive-side scaling. + +Some use cases: +1. When users want some data flows to be steered to specific multiple rxqs, they can set + receive flow filter rules for these data flows to an RSS context with desired rxqs. +2. Traffic isolation. Used when users want the traffic of certain applications to occupy + several queues without being distubed. + +How to set/configure an RSS context: +Assuming no RSS context has been created before. +1. ethtool -X eth0 context new start 5 equal 8 + +This command creates an RSS context with an id=1 for eth0, and fills in the indirection +table with rxq indexes 5-8 circularly. The hash key and hash types reuse the default +RSS configuration. + +Then, we can use 'ethtool -x eth0 context 1' to query the above configuration. + +2. ethtool -X eth0 context new start 6 equal 7 \textbackslash + hkey 8f:bf:dd:11:23:58:d2:8a:00:31:d0:32:a3:b5:1f:\textbackslash + 1f:e4:d1:fe:47:7f:64:42:fd:d0:61:16:b8:b0:f9:71:e8:2d:36:7f:18:dd:4d:c8:f3 + +This command creates an RSS context with an id=2 for eth0, and fills in the indirection +table with rxq indexes 6-7 circularly. The hash key is 8f:bf:dd:11:23:58:d2:8a:00:31:d0\textbackslash +:32:a3:b5:1f:1f:e4:d1:fe:47:7f:64:42:fd:d0:61:16:b8:b0:f9:71:e8:2d:36:7f:18:dd:4d:c8:f3. +Hash types reuse the default RSS configuration. + +3. ethtool -N eth0 rx-flow-hash tcp4 sdfn context 1 + +This command specifies the hash types for the RSS context whose id=1 on eth0. +Now this RSS context only has the hash key to reuse the default RSS configuration. + +4. ethtool -N eth0 flow-type udp4 src-ip 1.1.1.1 context 1 + +This command configures a receive flow filter rule for eth0, and the data flow matching +this rule will continue to select the final rxq according to the RSS context configuration +with id=1. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/178} + +Signed-off-by: Heng Qi +Signed-off-by: Parav Pandit +Acked-by: Satananda Burla +Acked-by: Xuan Zhuo +Signed-off-by: Cornelia Huck + + } \\ +\hline +bb11bf9 & 13 Feb 2024 & Haixu Cui & { content: Rename SPI master to SPI controller + + +SPI master is an outdated term and should use SPI controller. + +Signed-off-by: Haixu Cui +Reviewed-by: Viresh Kumar +Signed-off-by: Cornelia Huck + + } \\ +\hline +a402acc & 13 Feb 2024 & Haixu Cui & { virtio-spi: add the device specification + + +The Virtio SPI (Serial Peripheral Interface) device is a virtual +SPI controller that allows the driver to operate and use the SPI +controller under the control of the host. + +This patch adds the specification for virtio-spi. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/189} + +Signed-off-by: Haixu Cui +Reviewed-by: Viresh Kumar +Signed-off-by: Cornelia Huck + + } \\ +\hline +37c6a40 & 16 Feb 2024 & Pape, Andreas (ADITG/ESS3) & { sound: add sampling rates 12000Hz and 24000Hz + + +24kHz is used for 'super wideband' voice transmission 12kHz is added 'for completeness' + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/184} + +Signed-off-by: Andreas Pape +Reviewed-by: Anton Yakovlev +Signed-off-by: Cornelia Huck + + } \\ +\hline +71fe8e9 & 21 May 2024 & Michael S. Tsirkin & { README.md: update mailing list info + + +As approved by the TC, we are moving to a less formal +way of discussing the specification, on the mailing lists +provided by the Linux Foundation: + +\url{https://groups.oasis-open.org/higherlogic/ws/public/ballot?id=3820} + +Update README.md, CONTRIBUTING.md and newdevice.tex accordingly. + +Use this opportunity to explain when and how to use each +mailing list. + +Oh yes, and device numbers are reserved through virtio-comment +not through virtio-dev. Correct that. + +Message-Id: <8f5db33c96d685fcebca3579b05d09b64dd720d9.1715766697.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +6678bbf & 11 Jul 2024 & Parav Pandit & { Add link for the feature bits section + + +Device common feature bits overview in the basic facilities and +their actual description are apart by 24 chapters. + +Help reader to directly reach out to feature bits definitions from +the basic chapter. + +MST: merged as a trivial editorial change + +Signed-off-by: Parav Pandit +Message-Id: <20240612073522.2571082-1-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +550b760 & 11 Jul 2024 & Michael S. Tsirkin & { can: drop a broken conformance link + + +CAN device has a single device conformance section, drop +a link to a non-existent section, fixing a Latex error. + +Fixes: 07bb9f7 ("virtio-can: Device specification.") +Message-ID: <87a6c3c4463e9f304cdd5dd5fac2194a95a8bcd2.1720724591.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +d7c486b & 11 Jul 2024 & Michael S. Tsirkin & { introduction: fix label + + +label to rfc8174 is incorrect, leading to undefined reference +and multiple defined reference latex errors. + +Fix it up. + +Message-Id: <52b6fc16793e3b24284aefafda94322c739b9f7f.1720725332.git.mst@redhat.com> +Fixes: eb16e33 ("editorial: various fixes for 1.3-csd01") +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +7e454b6 & 11 Jul 2024 & Michael S. Tsirkin & { makediff: cherry pick label change + + +label changes tend to trip up makediff - this one +causes an undefined reference from deleted section. +To fix, cherry-pick it. + +Message-Id: <216774e3fa811e0a6e994a3815f0804ddfc0bb03.1720731399.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +b495841 & 11 Jul 2024 & Michael S. Tsirkin & { transport-mmio: fix up makediff from 1.2 + + +we fixed a typo in label name: in the diff old links become +undefined. Add the old label back for now, we can drop it +down the road. + +Message-Id: +Fixes: ca97719 ("transport-mmio: Fix spellings and white spaces") +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +75086cb & 11 Jul 2024 & Michael S. Tsirkin & { Merge tag 'v1.3-wd02' into virtio-1.4 + + +Merge fixes from master branch (1.3) up to tag v1.3-wd02 +commit b495841 ("transport-mmio: fix up makediff from 1.2") + +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +61b65cb & 11 Jul 2024 & Cornelia Huck & { editorial: allow for longer device id table: makediff 1.3 + + +Move to "longtable" to allow the table to span multiple pages (it +became too long to fit on one page with the latest addition.) + +Signed-off-by: Cornelia Huck +(cherry picked from commit c8249d73d2fdbbfd38e8bf45c8492057bc2485e9) + + } \\ +\hline +6fa0087 & 11 Jul 2024 & Michael S. Tsirkin & { Merge tag 'v1.3-wd02-makediff' into virtio-1.4 + + +this is just so makediff can cherry pick a workaround +for latexdiff. + +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +79b04be & 11 Jul 2024 & Michael S. Tsirkin & { makediff: update base version to 1.3 + + +might cause minor conflicts if we merge 1.3 branch +again, but seems cleaner than seeing full diff here. + +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +18e47c0 & 11 Jul 2024 & Parav Pandit & { virtio-blk: Fix data type of num_queues field + + +Correct the endianness of num_queues field to be little endian. + +Suggested-by: Max Gurtovoy +Reviewed-by: Max Gurtovoy +Signed-off-by: Parav Pandit +Reviewed-by: Stefano Garzarella +Reviewed-by: Stefan Hajnoczi +Message-Id: <20240521122119.2004071-1-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +0080681 & 11 Jul 2024 & Parav Pandit & { virtio-net: Fix receive buffer size calculation text + + +Receive buffer size calculation is based on the following +negotiated features. + +The text has wrong calculation for IPv6 and also it has missed +VIRTIO_NET_F_HASH_REPORT. + +The problem of igorance of VIRTIO_NET_F_HASH_REPORT is reported +in [1], however fix for ipv6 payload length must also be +considered. + +Since for the both the fixes touching same requirements, a +new issue is created as [2]. + +This patch brings following fixes. + +1. Fix annotating struct virtio_net_hdr as field +2. Fix receive buffer calculation for guest GSO cases to consider + ipv6 payload length +3. small grammar corrections for article +4. reword the requirement to consider the virtio_ndr_hdr which is + depends on the negotiated feature, hence first clarify the + struct virtio_net_hdr size + +[1] \url{https://github.com/oasis-tcs/virtio-spec/issues/170} +[2] \url{https://github.com/oasis-tcs/virtio-spec/issues/183} + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/170} +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183} +Reviewed-by: Xuan Zhuo +Signed-off-by: Parav Pandit +Message-Id: <20240606102014.2103986-2-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +bf0fdf8 & 11 Jul 2024 & Parav Pandit & { virtio-net: Clarify the size of the struct virtio_net_hdr for tx + + +The feature VIRTIO_NET_F_HASH_REPORT only applies to the receive side. +However, when VIRTIO_NET_F_HASH_REPORT feature was introduced, it was +not clarified that the size of the struct virtio_net_hdr on the packet +transmission also uses higher size when VIRTIO_NET_F_HASH_REPORT is +negotiated. + +Explicitly clarify this. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183} +Reviewed-by: Xuan Zhuo +Signed-off-by: Parav Pandit +Message-Id: <20240606102014.2103986-3-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +6abd42f & 11 Jul 2024 & Parav Pandit & { virtio-net: Annotate virtio_net_hdr as field + + +At several places struct virtio_net_hdr missed out the field +annotation. Add it. + +Reviewed-by: Xuan Zhuo +Signed-off-by: Parav Pandit +Message-Id: <20240606102014.2103986-4-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +fdd39cf & 11 Jul 2024 & Parav Pandit & { admin: Introduce self group + + +Define self group to control the self device itself. + +Subsequent patches introduces the concept of device capabilities +and device resources which utilizes the self group to access +capabilities and uses device resources to refer to the device itself. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-2-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +bfe175d & 11 Jul 2024 & Parav Pandit & { admin: Use already defined names for the legacy commands + + +Instead of description, use the existing name for defining the legacy +commands. While at it, prefer the shorter label names which +are already unique and refer them as hyperreference in the table +for quick naviation. + +This is editorial change to align to subsequent patches. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-3-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +88a24d2 & 11 Jul 2024 & Parav Pandit & { admin: Add theory of operation for capability admin commands + + +Device capability indicates the supported functionality and +resources of the device to the driver. + +Driver capability indicates the supported functionality +and resources which driver will be using. Driver capability is +subset of the device capability. + +Add theory of operation describing it. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-4-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +72a91e6 & 11 Jul 2024 & Parav Pandit & { admin: Prepare table for multipage listing + + +If the table spans across two pages, it is not readable. +Make use of xltabular package that supports table spanning +across multiple pages. + +Signed-off-by: Parav Pandit +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-5-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +d60a390 & 11 Jul 2024 & Parav Pandit & { admin: Add capability admin commands + + +Add three capabilities related administration commands. +First to get the device capability. +Second to set the driver capability. +Third for the driver to discover which capabilities can be accessed. + +Even though the current series restricts device capability reading +to the self group type, same structure and command format etc will +be reusable in future to read the capability from the owner device +and also to set the device capability via owner device using +new DEV_CAP_SET command. + +Resource objects are introduced in subsequent patch which utilizes +the capability, however some description around resource object +limit is covered in this patch to keep things simple. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-6-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +738f0a2 & 11 Jul 2024 & Parav Pandit & { admin: Add theory of operation for device resource objects + + +The driver controls the device by means of device resource objects. +These operations include create, query, modify, and destroy the device +resource objects. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-7-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +5040f36 & 11 Jul 2024 & Parav Pandit & { admin: Add device resource objects admin commands + + +Add generic administration commands create, modify, query and destroy +device resource object. + +Each resource object defines resource specific attributes for the commands. +Once the resource object is created by the driver, it can be query/modify or +destroyed by the driver. + +Each resource object is identified using a unique resource id per +resource type. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-8-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +7b3bdd6 & 11 Jul 2024 & Parav Pandit & { virtio-net: Add theory of operation for flow filter + + +Currently packet allow/drop interface has following limitations. + +1. Driver can either select which MAC and VLANs to consider +for allowing/dropping packets, here, the driver has a +limitation that driver needs to supply full mac +table or full vlan table for each type. Driver cannot add or +delete an individual entry. + +2. Driver cannot select mac+vlan combination for which +to allow/drop packet. + +3. Driver cannot not set other commonly used packet match fields +such as IP header fields, TCP, UDP, SCP header fields. + +4. Driver cannot steer specific packets based on the match +fields to specific receiveq. + +5. Driver do not have multiple or dedicated virtqueues to + perform flow filter requests in accelerated manner in + the device. + +Flow filter as a generic framework overcome above limitations. + +As starting point it is useful to support at least two use cases. +a. ARFS +b. ethtool ntuple steering + +In future it can be further extended for usecases such as +switching device, connection tracking or may be more. + +The flow filter has following properties. + +1. It is an extendible object that driver can create, destroy. +2. It belongs to a flow filter group. +3. Each flow filter rule is identified using a unique id, + has priority, match key, destination(rq) and action(allow/drop). +4. Flow filter key also refers to the mask to learn which fields + of the packets to match. + +This patch adds theory of operation for flow filter functionality. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Heng Qi +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-9-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +899bb0c & 11 Jul 2024 & Parav Pandit & { virtio-net: Add flow filter capability + + +Add first flow filter capability that indicates device resource +limits such as number of flow filter rules, groups and selectors. + +add second capability that indicates supported selectors defining +which packet headers and their fields supported. + +[Parav Pandit: resolve conflict: editorial: in spec links] +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Heng Qi +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-10-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +224e98b & 11 Jul 2024 & Parav Pandit & { virtio-net: Add flow filter group, classifier and rule resource objects + + +Flow filter rules depend on the flow filter group resource object. +The device can have one or more flow filter groups. Each flow filter +group has its own order. The group order defines the packet +processing order in the flow filter domain. + +Define flow filter classifier object which consists of one +or multiple types of packet header fields to consider +for matching. A mask can match on partial field or whole +field if the device supports partial masking for a given +mask type. + +Define flow filter rule resource which consists of +match key, reference to group and mask objects and +an action. + +Currently it covers the most common filter types and value +of Ethernet header, IPV4 and IPV6 headers and TCP and UDP headers. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Heng Qi +Signed-off-by: Michael S. Tsirkin +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-11-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +3b7b737 & 11 Jul 2024 & Parav Pandit & { virtio-net: Add flow filter device and driver requirements + + +Add device and driver flow filter requirements. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179} +Signed-off-by: Parav Pandit +Signed-off-by: Heng Qi +Acked-by: Satananda Burla +Message-Id: <20240604132903.2093195-12-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +9b3129f & 12 Jul 2024 & Martin Kröning & { virtio_pci_cap64: specify offset_hi, length_hi endianness + + +While the capability introduction says "This virtio structure capability uses little-endian format," +it might be preferrable to be explicit about the endianness of offset_hi and length_hi. + +Signed-off-by: Martin Kröning +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/196} +Message-Id: +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +67141d1 & 12 Jul 2024 & Parav Pandit & { admin: Add theory of operation for device parts + + +A device can get and set the state of the device which is +organized as multiple device parts. This can be useful +in cases of VM snapshot, VM migration, debug or some other use +cases. + +Add the theory of operations on how to get/set device parts +and how it affects when the device is stopped or resumed. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176} +Signed-off-by: Michael S. Tsirkin +Signed-off-by: Parav Pandit +Message-Id: <20240601145042.2074739-2-parav@nvidia.com> + + } \\ +\hline +a1281ad & 12 Jul 2024 & Parav Pandit & { admin: Extend resource objects for sr-iov group type + + +occasionally the group owner device accesses the device parts +of the member device. Extend the usage of resource objects +for member device parts access. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176} +Signed-off-by: Parav Pandit +Message-Id: <20240601145042.2074739-3-parav@nvidia.com> + + } \\ +\hline +aa4f6f0 & 12 Jul 2024 & Parav Pandit & { admin: Add admin commands for device parts + + +Add administration commands to handle device parts such as +get/set device parts, get metadata of the device parts, + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176} +Signed-off-by: Parav Pandit +Message-Id: <20240601145042.2074739-4-parav@nvidia.com> + + } \\ +\hline +617aa2d & 12 Jul 2024 & Parav Pandit & { admin: Define common device parts + + +Define common device parts that represents the state of the device. +The driver can get and set these device parts using administration +commands. + +[Parav Pandit: resolve conflict: editorial: empty blank line at end of file newdevice.tex] +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176} +Signed-off-by: Parav Pandit +Message-Id: <20240601145042.2074739-5-parav@nvidia.com> + + } \\ +\hline +52d320c & 12 Jul 2024 & Parav Pandit & { admin: Add requirements of device parts commands + + +Add device and driver side requirements for the device parts +related commands. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176} +Signed-off-by: Parav Pandit +Message-Id: <20240601145042.2074739-6-parav@nvidia.com> + + } \\ +\hline +24e93e1 & 15 Jul 2024 & Parav Pandit & { editorial: replace hyperref with ref + + +Replace hyperreference with the name reference. +Fix the broken reference link for the DEVICE_STATUS part. + +Fixes: aa4f6f069ab3 ("admin: Add admin commands for device parts") +Fixes: 617aa2d62a88 ("admin: Define common device parts") +Suggested-by: Michael S. Tsirkin +Signed-off-by: Parav Pandit +Message-Id: <20240714144023.3291803-1-parav@vr-arch-host06.mtvr.labs.mlnx> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +7379354 & 15 Jul 2024 & Michael S. Tsirkin & { makediff: look in subjects only + + +We currently use rev-list with -F to find commits. +This helps if commit subject has any special characters +but means that pattern can apply anywhere in the line. +In particular, a common Fixes: (hash) "subject" pattern +we started using implies that fixups are picked up +instead of the commit. + +For now, just switch to using regexp (dropping -F) +and add "^" in front to only look for the string at +beginning of the line. + +We'll worry about more elaborate logic later, if it's ever +needed. + +Message-Id: <1130700f4ae71a93d9887af35cf105731219f057.1721062136.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +98ad5fc & 15 Jul 2024 & Michael S. Tsirkin & { makediff: cherry pick table env change + + +latexdiff can not cope with environment name changes. +cherry pick to avoid confusing it. + +Fixes: 72a91e6 ("admin: Prepare table for multipage listing") +Message-Id: +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +849b421 & 15 Jul 2024 & Michael S. Tsirkin & { admin: switch to tabularx + + +xltabular seems to confuse htlatex. Switch to an older +tabularx which seems to be sufficient for our purposes. + +Message-Id: <29ebb999f6d3808edbf32cd6e95b69fefc1a6e34.1721062136.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +8e81624 & 15 Jul 2024 & Michael S. Tsirkin & { admin-cmds-device-parts: switch to tabularx + + +xltabular seems to confuse htlatex. Switch to an older +tabularx which seems to be sufficient for our purposes. + +Message-Id: +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +886fc33 & 15 Jul 2024 & Michael S. Tsirkin & { device-parts: switch to tabularx + + +xltabular seems to confuse htlatex. Switch to an older +tabularx which seems to be sufficient for our purposes. + +Message-Id: <00f72154c624fbbe8c3da9dbdb4e4369c36b7f10.1721062136.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +a5fb7b5 & 15 Jul 2024 & Michael S. Tsirkin & { admin-cmds-resource-objects: switch to tabularx + + +xltabular seems to confuse htlatex. Switch to an older +tabularx which seems to be sufficient for our purposes. + +Message-Id: <3f7be88a42af0a384621ef07b65c7a31755ef42e.1721062136.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +459f1aa & 15 Jul 2024 & Michael S. Tsirkin & { virtio: replace xltabular with ltablex + + +now that we only use tabularx, switch to ltablex to +make tabularx tables paginate properly. + +Message-Id: <15b11ce5ac9bbe1aaa7818403b999ff39c74a479.1721062136.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +e48de84 & 15 Jul 2024 & Michael S. Tsirkin & { makediff: cherry pick switch to tabularx + + +Message-Id: <88cdb7020f5b2771a6d201b1f65005da97e54f16.1721062136.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +6c23405 & 15 Jul 2024 & Michael S. Tsirkin & { admin: get rid of _ in labels + + +it's not the 1st time we find out underscores in labels confuse +latexdiff machinery when generating html. +Errors look like this: + +! Missing \textbackslash endcsname inserted. + + \textbackslash unhbox +.... + +? +! Emergency stop. + + \textbackslash unhbox + +To fix, convert underscores in labels to dashes. + +Message-Id: <3e773fcfd4246e66e6f39d3be95d2c0335e34532.1721062136.git.mst@redhat.com> +Signed-off-by: Michael S. Tsirkin + + } \\ +\hline +2a5a957 & 23 Oct 2024 & Viresh Kumar & { virtio-transport: Add a section to define mandatory transport requirements + + +The current Virtio documentation lacks a set of generic requirements +applicable to all transports. Defining these generic requirements could +be beneficial when integrating support for a new transport. + +This section outlines the essential requirements that any transport +method must adhere to. + +Signed-off-by: Viresh Kumar +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/201} +Reviewed-by: Stefano Garzarella +Link: \url{https://lore.kernel.org/r/4c24ede14e2545b2e9c69e7d9b79dc15744fd965.1723647318.git.viresh.kumar@linaro.org} + + } \\ +\hline +1d38844 & 23 Oct 2024 & Parav Pandit & { device-parts: editorial: Add missing struct keyword + + +'struct' keyword was missing in the definition. +Add it. + +Branch: virtio-1.4 +Fixes: aa4f6f06 ("admin: Add admin commands for device parts") +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20240916030835.68178-2-parav@nvidia.com} + + } \\ +\hline +9081da1 & 23 Oct 2024 & Parav Pandit & { device-parts: editorial: Fix metadata type name + + +The description is for the type VIRTIO_ADMIN_CMD_DEV_PARTS_METADATA_TYPE_LIST; +however, it referred to a non-existent definition. Correct it. + +Branch: virtio-1.4 +Fixes: aa4f6f069ab3 ("admin: Add admin commands for device parts") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205} +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20240916030835.68178-3-parav@nvidia.com} + + } \\ +\hline +b820c61 & 23 Oct 2024 & Parav Pandit & { crypto: editorial: Fix spelling errors + + +Fix spelling errors. + +Branch: virtio-1.4 +Fixes: a385dd3366a2 ("virtio-crypto: Add virtio crypto device specification") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205} +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20240916030835.68178-4-parav@nvidia.com} + + } \\ +\hline +ec1845b & 23 Oct 2024 & Parav Pandit & { gpu: editorial: Fix spelling errors + + +Fix spelling errors. + +Branch: virtio-1.4 +Fixes: fed64230bf31 ("Add virtio gpu device specification.") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205} +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20240916030835.68178-5-parav@nvidia.com} + + } \\ +\hline +9d60d84 & 23 Oct 2024 & Parav Pandit & { common: editorial: Fix spelling errors + + +Fix spelling errors. + +Branch: virtio-1.4 +Fixes: 5f1a8ac61c15 ("admin: introduce virtio admin virtqueues") +Fixes: 68f66ff7a3d9 ("content: define what an exported object is") +Fixes: ef16b644cc25 ("content.tex: spec text converted to latex") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205} +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20240916030835.68178-6-parav@nvidia.com} + + } \\ +\hline +e98070a & 03 Nov 2024 & Albert Esteve & { content: Reserve ID for media device + + +Reserve device ID 49 for media device. +Compatible with video encoder, video decoder, +and capture devices. + +Signed-off-by: Albert Esteve +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/202} +Link: \url{https://lore.kernel.org/r/20240906070833.1949727-1-aesteve@redhat.com} + + } \\ +\hline +417fb28 & 03 Nov 2024 & Parav Pandit & { virtio-gpu: Fix spelling error + + +Fix spelling error. + +Fixes: fed64230bf31 ("Add virtio gpu device specification.") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/192} +Signed-off-by: Parav Pandit +Reviewed-by: Matias Ezequiel Vara Larsen + + } \\ +\hline +d17c70a & 03 Nov 2024 & Parav Pandit & { Revert "virtio-gpu: Fix spelling error" + + +This reverts commit 417fb28849c6ecac3b18a35e8a154c03f8dba66f. +Reverted due to missing Link in commit log. + +Signed-off-by: Parav Pandit + + } \\ +\hline +4a5df40 & 03 Nov 2024 & Parav Pandit & { virtio-gpu: Fix spelling error + + +Fix spelling error. + +Fixes: fed64230bf31 ("Add virtio gpu device specification.") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/192} +Signed-off-by: Parav Pandit +Reviewed-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20241027044457.495730-1-parav@nvidia.com} + + } \\ +\hline +a1849e3 & 25 Nov 2024 & Juraj Marcin & { virtio-mem: introduce VIRTIO_MEM_F_PERSISTENT_SUSPEND + + +Before, the behavior while suspending to a deep sleep state and waking +up was not specified. For example, in x86 QEMU VM all devices receive a +reset request during wake-up. This would lead to unplugging of all the +plugged memory blocks. Due to this, suspending is disallowed in the +Linux Kernel, when plugged memory is present and +VIRTIO_MEM_F_PERSISTENT_SUSPEND feature flag is not advertised by the +virtio-mem device. + +This new flag should signal to the guest driver, that the device can +correctly suspend to a deep sleep state and then wake up without +disrupting the plugged memory blocks. This feature flag is already +supported in the Linux Kernel [1] and also supported in QEMU [2]. + +[1]: \url{https://lore.kernel.org/all/20240318120645.105664-1-david@redhat.com/} +[2]: \url{https://lore.kernel.org/all/20240904103722.946194-1-jmarcin@redhat.com/} + +Reviewed-by: David Hildenbrand +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Juraj Marcin +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/207} +Link: \url{https://lore.kernel.org/r/20241009090202.10544-2-jmarcin@redhat.com} + + } \\ +\hline +c8c01f2 & 25 Nov 2024 & Parav Pandit & { device-parts: editorial: Replace duplicated part type + + +Device part type VIRTIO_DEV_PART_VQ_CFG was duplicated in +the description; it is supposed to be VIRTIO_DEV_PART_VQ_NOTIFY_CFG. +Fix it. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/209} +Fixes: 617aa2d62a88 ("Signed-off-by: Parav Pandit ") +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20241020114141.451478-2-parav@nvidia.com} + + } \\ +\hline +f21f831 & 25 Nov 2024 & Parav Pandit & { device-parts: Add device type specific raw selector + + +The subsequent patch defines the device-type-specific parts. For +these parts, the raw selector format is defined to ensure that +each device type can specify its format accurately. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/209} +Signed-off-by: Parav Pandit +Reviewed-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20241020114141.451478-3-parav@nvidia.com} +Note: Merged with tab replaced with white spaces. + + } \\ +\hline +b2990c8 & 25 Nov 2024 & Parav Pandit & { virtio-net: Define cvq configuration related device parts + + +virtio net driver sends the control virtqueue commands for +device configuration. Such driver configuration is currently +not captured in the device parts. + +This series adds several of such device parts which represents +the network device specific configuration. + +It is done by utilizing the existing device parts structure. +A new generic selector format is added to enable device type +specific device parts. + +This series also reuses the existing control virtqueue command +structures, fields, and values to define the network device parts. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/209} +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20241020114141.451478-4-parav@nvidia.com} + + } \\ +\hline +8e443f4 & 20 Jan 2025 & Paolo Abeni & { virtio-net: clarify NEEDS_CSUM semantic for GSO packats. + + +The current wording is a bit unclear hinting to possible additional +nested headers. For GSO packets virtio net (currently) supports +offload for the checksum of single transport header, explicitly state +that in both the driver and device sections. + +Signed-off-by: Paolo Abeni +Reviewed-by: Jason Wang +Reviewed-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/81034d9f4b12f7bd7aa6f7f5266cb6d551d0823c.1732699986.git.pabeni@redhat.com} + + } \\ +\hline +95c085b & 20 Jan 2025 & Paolo Abeni & { virtio-net: clarify DATA_VALID semantic for encap protos. + + +DATA_VALID allows offloading a single checksum level, leaving +unspecified which header checksum is offloaded when one or more +encapsulated protocols are present. + +In such a case, the only option usable from the guest OS is +offloading the outermost checksum. That also matches the existing +implementation. + +Explicitly state such the constraint, to remove any ambiguity and +make later changes more straightforward. + +Signed-off-by: Paolo Abeni +Reviewed-by: Jason Wang +Reviewed-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/ec6fdbfba2c4fc1969d83799836ebb694a01fb30.1732699986.git.pabeni@redhat.com} + + } \\ +\hline +8cd457d & 20 Jan 2025 & Paolo Abeni & { virtio-net: define UDP tunnel segmentation offload feature + + +The VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV\{4,6\} are two gso_type flags +allowing respectively GSO over UDPv4 tunnel and GSO over UDPv6 tunnel. +They can be negotiated on both the host and guest sides. + +One constraint addressed here is that the virtio side (either device or +driver) receiving a UDP tunneled GSO packet must be able to reconstruct +completely the inner and outer headers offset - to allow for later GSO. + +To accommodate such need, new fields are introduced in the virtio_net +header: outer_th_offset and inner_nh_offset. +They map directly to the corresponding header information. The inner +transport header is implied by the (inner) checksum offload. + +Those fields are required because a virtio device H/W implementation +performing segmentation for UDP tunneled packet will need to touch +the outer transport protocol (for the UDP length filed), the +inner network protocol (for the total length field, in the IPv4 +case). + +Note that segmentation will additionally need to touch +the outer network protocol and the inner transport protocol. The first +is implied/easily found with trivial parsing, the latter is identified +by the existing csum_start field. + +Note that there is no concept of UDP tunnel type negotiation (e.g. +vxlan, geneve, vxlan-gpe, etc.), as a virtio device H/W implementation +can perform segmentation for every possible UDP-tunnel given the +specified new fields. +In the reverse direction, if a virtio device H/W implementation receives +some traffic for an unknown or unsupported UDP tunnel, it will simply +not aggregate the wire packet in a GSO one. + +Signed-off-by: Paolo Abeni +Reviewed-by: Jason Wang +Link: \url{https://lore.kernel.org/r/3e1c45071c8cf4efc7ca0ecc7b52a73c6bf983fe.1732699986.git.pabeni@redhat.com} + + } \\ +\hline +3fea589 & 20 Jan 2025 & Paolo Abeni & { virtio-net: define UDP tunnel checksum offload feature + + +This complements the previous change, additionally +introducing the UDP tunnel checksum offload feature. + +Differently from the plain checksum offload feature, this +depends on UDP tunnel segmentation being available, as outer checksum +computation for non GSO packets is cheap and H/W implementation of +such a feature is complex. + +UDP tunnel checksum offload does not introduce additional fields, +instead it leverages the outer transport offset introduced by the +UDP tunnel segmentation feature to locate the outer checksum +inside the packet. + +When UDP tunnel checksum offload is negotiated: + +- the driver requests the outer UDP checksum offload setting the +VIRTIO_NET_HDR_F_UDP_TUNNEL_CSUM bit in the flag field. Such bit +is not allocated inside the gso_type field to prevent space +exhaustion there. + +- in the device -> driver direction, the VIRTIO_NET_HDR_F_DATA_VALID +bit semantic is extended, covering both the inner and the outer +checksum validation. + +Signed-off-by: Paolo Abeni +Reviewed-by: Jason Wang +Link: \url{https://lore.kernel.org/r/e87cf0c61f5ea3783cea0bcc4ea74f6e73f453d7.1732699986.git.pabeni@redhat.com} + + } \\ +\hline +14d3f88 & 03 Feb 2025 & Parav Pandit & { virtio-net: Fix to avoid using reserved feature bits + + +Listed patches in the fixes tag, incorrectly used the reserved feature bits. +Fix them to use the well defined device specific range. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/212} +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/213} +Fixes: 8cd457d8aa82 ("virtio-net: define UDP tunnel segmentation offload feature") +Fixes: 3fea589bd7c6 ("virtio-net: define UDP tunnel checksum offload feature") +Signed-off-by: Parav Pandit +Reviewed-by: Cornelia Huck +Acked-by: Michael S. Tsirkin +Link: \url{https://lore.kernel.org/r/20250126062058.13695-1-parav@nvidia.com} + + } \\ +\hline +124fcd0 & 24 Feb 2025 & Steffen Trumtrar & { virtio-net: Fix receive buffer size typo + + +The commit 00806815385340dd411cc67df3f6837935bb5e26 introduced a slight +typo in the struct virtio_net_hdr size calculation depending on +VIRTIO_NET_F_HASH_REPORT negotiation. + +Without VIRTIO_NET_F_HASH_REPORT the struct is smaller than with the +feature. This mix up only occurs in one instance; sizes are correct in +all other occurences. + +Fix this typo. + +Fixes: 008068153853 ("virtio-net: Fix receive buffer size calculation text") +Signed-off-by: Steffen Trumtrar +Reviewed-by: Parav Pandit +Acked-by: Michael S. Tsirkin +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/216} +Link: \url{https://lore.kernel.org/r/20250207-v1-4-topic-virtio-net-receive-buffer-fix-v1-1-efcef167d6bc@pengutronix.de} + + } \\ +\hline +a9b942e & 10 Mar 2025 & Parav Pandit & { virtio-net: Rename selectors_limit to classifiers_limit + + +A classifier object consists of one or more selectors. The number of +selectors per classifier object is already annotated in the field +selectors_per_classifier_limit. + +The field selectors_limit is intended to reflect the limit of +classifier objects. Hence, rename it to classifiers_limit. + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/215} +Fixes: 3b7b7371dbed ("virtio-net: Add flow filter device and driver requirements") +Fixes: 899bb0ca24d8 ("virtio-net: Add flow filter capability") +Signed-off-by: Parav Pandit +Reviewed-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250215061158.21053-1-parav@nvidia.com} + + } \\ +\hline +4c73a70 & 10 Apr 2025 & Parav Pandit & { conformance: Add missing virtqueue reset conformance references + + +Add the missing references to the virtqueue reset related conformance +requirements. + +(cherry picked from commit 925b42e3f72fdd113a5e4cc219b739c2c74dba23) + +Signed-off-by: Parav Pandit +Reviewed-by: Xuan Zhuo +[CH: pushed as an editorial change] +Signed-off-by: Cornelia Huck +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-2-mvaralar@redhat.com} + + } \\ +\hline +82b4313 & 10 Apr 2025 & Parav Pandit & { packed-ring: Change host,guest to device,driver + + +Rest of the packed ring description already uses the device +and driver terminology. Change the introductory line as well from +host and guest to device and driver respectively. + +(cherry picked from commit 68d5cc4fe4081a49235885005647b095b7965c0b) + +Signed-off-by: Parav Pandit +Acked-by: Michael S. Tsirkin +[CH: pushed as an editorial update] +Signed-off-by: Cornelia Huck +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-3-mvaralar@redhat.com} + + } \\ +\hline +32a7417 & 10 Apr 2025 & Parav Pandit & { description: Avoid splitting the word virtqueue + + +Don't split the word virtqueue. + +(cherry picked from commit 4cb03b12dc951f0152cd2cd9c79b24492e174e43) + +Signed-off-by: Parav Pandit +[CH: applied as editorial] +Signed-off-by: Cornelia Huck +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-4-mvaralar@redhat.com} + + } \\ +\hline +36e9060 & 10 Apr 2025 & Haixu Cui & { content: Rename SPI master to SPI controller + + +SPI master is an outdated term and should use SPI controller. + +(cherry picked from commit bb11bf9b25cc86c6ff02bf9f243da55b0d383a32) + +Signed-off-by: Haixu Cui +Reviewed-by: Viresh Kumar +Signed-off-by: Cornelia Huck +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-5-mvaralar@redhat.com} + + } \\ +\hline +8297084 & 10 Apr 2025 & Parav Pandit & { virtio-blk: Fix data type of num_queues field + + +Correct the endianness of num_queues field to be little endian. + +(cherry picked from commit 18e47c01207b2983a7dfd1e2c7de1bdc408d391a) + +Suggested-by: Max Gurtovoy +Reviewed-by: Max Gurtovoy +Signed-off-by: Parav Pandit +Reviewed-by: Stefano Garzarella +Reviewed-by: Stefan Hajnoczi +Message-Id: <20240521122119.2004071-1-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-6-mvaralar@redhat.com} + + } \\ +\hline +a22cd3e & 10 Apr 2025 & Parav Pandit & { virtio-net: Fix receive buffer size calculation text + + +Receive buffer size calculation is based on the following +negotiated features. + +The text has wrong calculation for IPv6 and also it has missed +VIRTIO_NET_F_HASH_REPORT. + +The problem of igorance of VIRTIO_NET_F_HASH_REPORT is reported +in [1], however fix for ipv6 payload length must also be +considered. + +Since for the both the fixes touching same requirements, a +new issue is created as [2]. + +This patch brings following fixes. + +1. Fix annotating struct virtio_net_hdr as field +2. Fix receive buffer calculation for guest GSO cases to consider + ipv6 payload length +3. small grammar corrections for article +4. reword the requirement to consider the virtio_ndr_hdr which is + depends on the negotiated feature, hence first clarify the + struct virtio_net_hdr size + +[1] \url{https://github.com/oasis-tcs/virtio-spec/issues/170} +[2] \url{https://github.com/oasis-tcs/virtio-spec/issues/183} + +(cherry picked from commit 00806815385340dd411cc67df3f6837935bb5e26) + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/170} +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183} +Reviewed-by: Xuan Zhuo +Signed-off-by: Parav Pandit +Message-Id: <20240606102014.2103986-2-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-7-mvaralar@redhat.com} + + } \\ +\hline +25d8101 & 10 Apr 2025 & Parav Pandit & { virtio-net: Clarify the size of the struct virtio_net_hdr for tx + + +The feature VIRTIO_NET_F_HASH_REPORT only applies to the receive side. +However, when VIRTIO_NET_F_HASH_REPORT feature was introduced, it was +not clarified that the size of the struct virtio_net_hdr on the packet +transmission also uses higher size when VIRTIO_NET_F_HASH_REPORT is +negotiated. + +Explicitly clarify this. + +(cherry picked from commit bf0fdf8ba828b694a22c44d45cb3fd34cf813e99) + +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183} +Reviewed-by: Xuan Zhuo +Signed-off-by: Parav Pandit +Message-Id: <20240606102014.2103986-3-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-8-mvaralar@redhat.com} + + } \\ +\hline +fb926ab & 10 Apr 2025 & Parav Pandit & { virtio-net: Annotate virtio_net_hdr as field + + +At several places struct virtio_net_hdr missed out the field +annotation. Add it. + +(cherry picked from commit 6abd42fd2398718ff689dc51fa93d38ede97be8f) + +Reviewed-by: Xuan Zhuo +Signed-off-by: Parav Pandit +Message-Id: <20240606102014.2103986-4-parav@nvidia.com> +Signed-off-by: Michael S. Tsirkin +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-9-mvaralar@redhat.com} + + } \\ +\hline +b16f382 & 10 Apr 2025 & Martin Kröning & { virtio_pci_cap64: specify offset_hi, length_hi endianness + + +While the capability introduction says "This virtio structure capability uses little-endian format," +it might be preferrable to be explicit about the endianness of offset_hi and length_hi. + +(cherry picked from commit 9b3129fe72360a78e76b6dd890d3abc5a45fa915) + +Signed-off-by: Martin Kröning +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/196} +Message-Id: +Signed-off-by: Michael S. Tsirkin +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-10-mvaralar@redhat.com} + + } \\ +\hline +376348f & 10 Apr 2025 & Parav Pandit & { gpu: editorial: Fix spelling errors + + +Fix spelling errors. + +(cherry picked from commit ec1845bd5a0261a65e29137f949ba03bf2fb44e2) + +Branch: virtio-1.4 +Fixes: fed64230bf31 ("Add virtio gpu device specification.") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205} +Reviewed-by: Matias Ezequiel Vara Larsen +Signed-off-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/20240916030835.68178-5-parav@nvidia.com} +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-11-mvaralar@redhat.com} + + } \\ +\hline +12289b0 & 10 Apr 2025 & Paolo Abeni & { virtio-net: clarify NEEDS_CSUM semantic for GSO packats. + + +The current wording is a bit unclear hinting to possible additional +nested headers. For GSO packets virtio net (currently) supports +offload for the checksum of single transport header, explicitly state +that in both the driver and device sections. + +(cherry picked from commit 8e443f483843c3d42a4128778f1c7548a02c48bf) + +Signed-off-by: Paolo Abeni +Reviewed-by: Jason Wang +Reviewed-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/81034d9f4b12f7bd7aa6f7f5266cb6d551d0823c.1732699986.git.pabeni@redhat.com} +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-12-mvaralar@redhat.com} + + } \\ +\hline +d3c2f14 & 10 Apr 2025 & Paolo Abeni & { virtio-net: clarify DATA_VALID semantic for encap protos. + + +DATA_VALID allows offloading a single checksum level, leaving +unspecified which header checksum is offloaded when one or more +encapsulated protocols are present. + +In such a case, the only option usable from the guest OS is +offloading the outermost checksum. That also matches the existing +implementation. + +Explicitly state such the constraint, to remove any ambiguity and +make later changes more straightforward. + +(cherry picked from commit 95c085b2f16de4bcdcae9c42d7828d9b8efc7836) + +Signed-off-by: Paolo Abeni +Reviewed-by: Jason Wang +Reviewed-by: Parav Pandit +Link: \url{https://lore.kernel.org/r/ec6fdbfba2c4fc1969d83799836ebb694a01fb30.1732699986.git.pabeni@redhat.com} +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-13-mvaralar@redhat.com} + + } \\ +\hline +16718cb & 10 Apr 2025 & Steffen Trumtrar & { virtio-net: Fix receive buffer size typo + + +The commit 00806815385340dd411cc67df3f6837935bb5e26 introduced a slight +typo in the struct virtio_net_hdr size calculation depending on +VIRTIO_NET_F_HASH_REPORT negotiation. + +Without VIRTIO_NET_F_HASH_REPORT the struct is smaller than with the +feature. This mix up only occurs in one instance; sizes are correct in +all other occurences. + +Fix this typo. + +(cherry picked from commit 124fcd0e97f209aab19639e7369116d99ede22a2) + +Fixes: 008068153853 ("virtio-net: Fix receive buffer size calculation text") +Signed-off-by: Steffen Trumtrar +Reviewed-by: Parav Pandit +Acked-by: Michael S. Tsirkin +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/216} +Link: \url{https://lore.kernel.org/r/20250207-v1-4-topic-virtio-net-receive-buffer-fix-v1-1-efcef167d6bc@pengutronix.de} +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250401133543.801184-14-mvaralar@redhat.com} + + } \\ +\hline +8d76f64 & 20 May 2025 & Kommula Shiva Shankar & { virtio-net: Introduce a new field to indicate outer network header offset + + +This patch introduces a new field in the virtio_net_hdr called outer_nh_offset, along with a new net device feature, VIRTIO_NET_F_OUT_NET_HEADER. + +Currently, drivers lack a dedicated field to signal the start of the network header to the device when performing checksum offload +and segmentation offload. This requires the device to read the packet in data path, which significantly affects performance. +Additionally, some hardware implementations require knowledge of the outer L3 offset (aka L2 length) for inline IPsec hardware acceleration. + +To address this limitation, we propose to introduce a new field in the virtio_net_hdr called +outer_nh_offset. + +The outer_nh_offset represents the start byte offset of the outer network header from the beginning of the packet. + +This issue was briefly discussed on the mailing list in a different thread, which can be found here. +\url{https://lore.kernel.org/all/DM4PR18MB4269FAAC3CFC7E57E25DFBD2DF8B2@DM4PR18MB4269.namprd18.prod.outlook.com/} + +v4->v5 + - Added padding bytes to virtio_net_hdr to ensure 64b alignment + - Addressed pending review comments +v4:\url{https://lore.kernel.org/virtio-comment/20250304075955.208450-1-kshankar@marvell.com/} + +v3 -> v4 + - Removed the union of new flag with existing flags. Added as a separate field + in the virtio net header + - Renamed out_nh_offset to outer_nh_offset to maintain consistency with other fields + - Spellchecks in commit message description +v3:\url{https://lore.kernel.org/all/20250217172509.107212-1-kshankar@marvell.com} + +v2 -> v3: + - Rebase to virtio-1.4 + - Addressed pending review comments related to wording. +v2:\url{https://lore.kernel.org/all/20250128142152.3662988-1-kshankar@marvell.com/} + +v1 -> v2: + - explicitly state that the out_nh_offset can be set only when a valid network header is present. + - updated out_nh_offset usage in the RX direction. + - minor word cleanup. +v1: \url{https://lore.kernel.org/virtio-comment/20250114171636.3175670-1-kshankar@marvell.com/} + +Signed-off-by: Kommula Shiva Shankar +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/222} +Link: \url{https://lore.kernel.org/r/20250401195655.486230-1-kshankar@marvell.com} + + } \\ +\hline +fa12149 & 20 May 2025 & Aiswarya Cyriac & { Reserve device ID 49 for Virtio USB controller device + + +Virtio USB controller device is a dual role device, which +can function as a USB host controller or a USB device +controller or support both roles. Additionally, device provides +support for switching of roles between USB host and device. + +Signed-off-by: Aiswarya Cyriac +Reviewed-by: Matias Ezequiel Vara Larsen +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/211} +Link: \url{https://lore.kernel.org/r/20241129111325.952-1-quic_acyriac@quicinc.com} + + } \\ +\hline +c7553a7 & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add IPsec service operation and Capabilities + + +This commit introduces the IPsec service operation to the Crypto +device, enabling offloading of IPsec processing. + +Capabilities: + +1. IPsec Resource Capability (VIRTIO_CRYPTO_IPSEC_RESOURCE_CAP): + Indicates the device's IPsec resource limits, such as the number of + outbound and inbound Security Associations (SAs). +2. IPsec SA Capability (VIRTIO_CRYPTO_IPSEC_SA_CAP): Specifies the + supported IPsec modes, along with the supported cryptographic + algorithms, authentication algorithms, IPsec options and + anti-replay window size. + +Signed-off-by: Srujana Challa +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226} +Link: \url{https://lore.kernel.org/r/20250429131953.1949757-2-schalla@marvell.com} + + } \\ +\hline +9d2cf8d & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add resource objects for IPsec outbound and inbound SAs + + +This commit introduces resource objects to enable the driver/device to +create IPsec Security Associations (SAs) for both inbound and outbound +directions. + +The IPsec SA objects include essential parameters required for packet +outbound and inbound processing, such as SPI, tunnel headers, IPsec mode, +IPsec options and cipher/authentication specific data. + +Signed-off-by: Srujana Challa +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226} +Link: \url{https://lore.kernel.org/r/20250429131953.1949757-3-schalla@marvell.com} + + } \\ +\hline +4e0baa8 & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add new IPsec opcodes to data request + + +Adds new IPsec opcodes, VIRTIO_CRYPTO_IPSEC_OUTBOUND and +VIRTIO_CRYPTO_IPSEC_INBOUND and defines opcode specific +data structures for IPsec data processing. + +Reviewed-by: Matias Ezequiel Vara Larsen +Reviewed-by: Parav Pandit +Signed-off-by: Srujana Challa +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226} +Link: \url{https://lore.kernel.org/r/20250429131953.1949757-4-schalla@marvell.com} + + } \\ +\hline +dac8e79 & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add device and driver requirements for IPsec operation + + +Add device and driver requirements for IPsec Operation. + +Signed-off-by: Srujana Challa +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226} +Link: \url{https://lore.kernel.org/r/20250429131953.1949757-5-schalla@marvell.com} + + } \\ +\hline +45809a3 & 04 Jun 2025 & Srujana Challa & { virtio-net: Add IPsec operation, capabilities and resource objects + + +This commit introduces the IPsec Operation to the Net device +along with the capabilities and resource objects. This enables +the offloading of IPsec processing, both before transmission +and after reception, thereby providing inline offload +capabilities. + +Capbilities: + +1. IPsec Resource Capability (VIRTIO_CRYPTO_IPSEC_RESOURCE_CAP): + Indicates the device's IPsec resource limits, such as the number of + encryption and decryption Security Associations (SAs). +2. IPsec SA Capability (VIRTIO_CRYPTO_IPSEC_SA_CAP): Specifies the + supported IPsec modes, along with the supported cryptographic + algorithms, authentication algorithms, IPsec options and + anti-replay window size. + +Resource objects: +1. VIRTIO_NET_RESOURCE_OBJ_IPSEC_OUTB_SA +2. VIRTIO_NET_RESOURCE_OBJ_IPSEC_INB_SA + +These IPsec SA resource objects encompass parameters necessary +for packet encryption and decryption. These include the SPI, +tunnel headers, IPsec mode, IPsec options, and metadata specific +to cipher and authentication. + +This patch refers the Virtio-crypto IPsec service operation +capabilities and resource objects data structures and crypto algorithm +definitions to avoid duplication, however the admin command type vaule +differs between Virtio-crypto and Virtio-net. + +Signed-off-by: Srujana Challa +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227} +Link: \url{https://lore.kernel.org/r/20250520121924.2169258-2-schalla@marvell.com} + + } \\ +\hline +a9604fa & 04 Jun 2025 & Srujana Challa & { virtio-net: Add new flow filter selector and action for IPsec + + +This update introduces a new flow filter selector to match +the ESP header and adds a new flow filter action for IPsec +processing. + +Signed-off-by: Srujana Challa +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227} +Link: \url{https://lore.kernel.org/r/20250520121924.2169258-3-schalla@marvell.com} + + } \\ +\hline +fd15f89 & 04 Jun 2025 & Srujana Challa & { virtio-net: extend virtio_net_hdr for IPsec support + + +Add IPsec resource object identifiers to the virtio_net_hdr for +identifying encryption/decryption operations on tx and rx side +respectively, along with flags. + +Signed-off-by: Srujana Challa +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227} +Link: \url{https://lore.kernel.org/r/20250520121924.2169258-4-schalla@marvell.com} + + } \\ +\hline +a0b809a & 04 Jun 2025 & Srujana Challa & { virtio-net: Add IPsec operation device and driver requirements + + +Add device and driver requirements for IPsec Operation. + +Signed-off-by: Srujana Challa +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227} +Link: \url{https://lore.kernel.org/r/20250520121924.2169258-5-schalla@marvell.com} + + } \\ +\hline +c5e5810 & 09 Jul 2025 & Albert Esteve & { virtio-media: Add virtio media device specification + + +Virtio-media is an encapsulation of the V4L2 UAPI into +virtio, able to virtualize any video device supported +by V4L2. + +Note that virtio-media does not require the use of a +V4L2 device driver on the host or guest side - +V4L2 is only used as a host-guest protocol, +and both sides are free to convert it from/to any +model that they wish to use. + +Reviewed-by: Matias Ezequiel Vara Larsen +Reviewed-by: Alexandre Courbot +Signed-off-by: Albert Esteve + + } \\ +\hline +340d076 & 15 Jul 2025 & Zhu Lingshan & { virtio: re-order device status bits + + +This commit re-arranges the device status bits, +to list them in ascending order. + +Signed-off-by: Zhu Lingshan +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/229} +Reviewed-by: Jason Wang +Link: \url{https://lore.kernel.org/r/20250704101739.354522-2-lingshan.zhu@amd.com} + + } \\ +\hline +b1d6ef6 & 15 Jul 2025 & Zhu Lingshan & { virtio: document feature bit 42 + + +This commit documents feture bit 42 +VIRTIO_NET_F_GUEST_RSC6 + +Signed-off-by: Zhu Lingshan +Reviewed-by: Parav Pandit +Fixes: 94384142 ("content: Declare virtio-net legacy feature bits 41-42") +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/229} +Reviewed-by: Jason Wang +Link: \url{https://lore.kernel.org/r/20250704101739.354522-3-lingshan.zhu@amd.com} + + } \\ +\hline +f219fef & 15 Jul 2025 & Zhu Lingshan & { virtio: introduce SUSPEND and RESUME feature + + +This commit allows the driver to suspend the +device through a new device status bit SUSPEND +and resume the device running by re-setting +DRIVER_OK bit in device status. + +Signed-off-by: Zhu Lingshan +Signed-off-by: Jason Wang +Reviewed-by: Parav Pandit +Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/229} +Link: \url{https://lore.kernel.org/r/20250704101739.354522-4-lingshan.zhu@amd.com} + + } \\ +\hline +6275e11 & 15 Jul 2025 & Parav Pandit & { virtio-net: Fix ipsec broken conformance links + + +Fix the broken conformance links for ipsec device and driver +requirements. + +Fixes: a0b809a7ddbd ("virtio-net: Add IPsec operation device and driver requirements") +Signed-off-by: Parav Pandit +Reviewed-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250709140049.507870-1-parav@nvidia.com} + + } \\ +\hline +65645f2 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add initial device specification + + +The virtio-rtc device provides information about current time through +one or more clocks. As such, it is a Real-Time Clock (RTC) device. + +The normative statements for this device follow in the next patch. + +For this device, there is a Linux kernel driver patch series which is +being upstreamed, and a proprietary device implementation. + +Miscellaneous + +------------- + +The spec does not specify how a driver should interpret clock readings, +esp. also not how to perform clock synchronization. + +The device uses the former "Timer/Clock" device id which is already part +of the specification. This device id was registered a long time ago and +should be unused according to the author's information. The name "RTC" +was determined to be the best for a device which focuses on current +time. + +Signed-off-by: Peter Hilber +Link: \url{https://lore.kernel.org/r/20250710090648.1711-3-quic_philber@quicinc.com} + + } \\ +\hline +f111987 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add initial normative statements + + +Add the normative statements for the initial device specification. + +Signed-off-by: Peter Hilber +Link: \url{https://lore.kernel.org/r/20250710090648.1711-4-quic_philber@quicinc.com} + + } \\ +\hline +0a6a441 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add alarm feature + + +Add the VIRTIO_RTC_F_ALARM feature (without normative statements). + +The intended use case is: A driver needs to react when an alarm time has +been reached, but at alarm time, the driver may be in a sleep state or +powered off. The alarm feature can resume and notify the driver in this +case. Alarms may be retained across device resets. + +Peculiarities + +------------- + +Unlike usual alarm clocks, a virtio-rtc alarm-capable clock may step +autonomously at any time: An alarm may change back from "expired" to +"not expired" before the driver has started processing an alarm +notification. + +To address the above, and the device resets, define "alarm expiration" +in such a way that the driver always has a chance to react to an alarm, +and make the device always responsible for notifying the driver about an +alarm expiration. + +The VIRTIO_RTC_REQ_SET_ALARM_ENABLED request is there so that the Linux +ioctls RTC_AIE_ON and RTC_AIE_OFF only need to emit one request. + +Signed-off-by: Peter Hilber +Link: \url{https://lore.kernel.org/r/20250710090648.1711-5-quic_philber@quicinc.com} + + } \\ +\hline +f978e07 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add normative statements for alarm feature + + +Add the normative statements for the alarm feature added previously. + +Signed-off-by: Peter Hilber +Link: \url{https://lore.kernel.org/r/20250710090648.1711-6-quic_philber@quicinc.com} + + } \\ +\hline +928d969 & 23 Sep 2025 & Matias Ezequiel Vara Larsen & { git-publish: add profile + + +Add git-publish profile and document how to use it. + +Signed-off-by: Matias Ezequiel Vara Larsen +Reviewed-by: Stefano Garzarella +Reviewed-by: Albert Esteve +Acked-by: Cornelia Huck +Link: \url{https://lore.kernel.org/r/20250305164546.1484029-1-mvaralar@redhat.com} + + } \\ +\hline +d9742cb & 26 Sep 2025 & Matias Ezequiel Vara Larsen & { README.md: add example email for TC vote request + + +Signed-off-by: Matias Ezequiel Vara Larsen +Link: \url{https://lore.kernel.org/r/20250320114326.2075821-1-mvaralar@redhat.com} + + } \\ +\hline +63aaa4b & 13 Oct 2025 & Parav Pandit & { Merge branch 'virtio-1.4' + + +Resolved conflict in net device description. + +Signed-off-by: Parav Pandit + + } \\ +\hline -- 2.34.1