[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] frontend: Split IP address dumping to its own function


  • To: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Owen Smith <owen.smith@xxxxxxxxxx>
  • Date: Fri, 5 Jun 2026 14:10:50 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • 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=A86Y1pa7K8qtxho83e3Llsqwm+4VtCTHO1JUI/gYJDM=; b=tH1zoVzFdDShT1gbkK/AoA2Gl9EgYFff8zM5TgmpZ8ijqkjdeKezRMJK74RU7021ZvyJLHxMt5mQafrfQatUhklPhck0R1Gcnmhq1weLW+pet7TWKq+psZOrg5I5+YZ0XOaUtzwF5iYp/osXrrhjTS7DqVFJ1KvD5NFLrrML5mgmv2h+tYXKVT4XnWsRBkKHCLlbA4TV+UACXPVR6rl8Ux83RcmS0PU9L5YrXZFSlYgzYPNSLUQCUvSOh3sO0bPhhh+t9iVxRnR8H/XYHAUInVqo18Hc9zy3xobWnvslw6eyl1yzc7SdVpdxgyDWru8T5EozxAwWXMKLVsOwYBeGxA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wl1qFkCZGFV//j3HNZb7OiTAibJWEjLOL36hAmrQBU/L49IGoZepLqSSh9ZmTVSk1qP31A8elqREnzWpD7FK92bE2TLC/rPmhbi1KO9263hpUyTXTXrIUWaWBvuq3fsi9WTFw5s+Ks2OfiHC3jJyiMd0Q7wxF5YNauYYP1KqK1NRl/bu9zBJYUn7wlEQHQJHlWKMobrIde9qJzLlhmfVbAZY9jLY/b63LJG3z/cLoV17vnmopZWzWlNzjLl+lSEoQhHP/diLbf/dqnSz456uACkaxcIWBgTWXJ3tQxOK1tumIF0eQ0M/D/Jv7kLNbbcxqIrt7EsnECcTrEdOqX/fdg==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Delivery-date: Fri, 05 Jun 2026 14:10:56 +0000
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Msip_labels:
  • Thread-index: AQHc9OdpPtwDBWbkQ0+cAPhl+t6ScbYwAFX9
  • Thread-topic: [PATCH 1/2] frontend: Split IP address dumping to its own function

Reviewed-by: Owen Smith <owen.smith@xxxxxxxxxx>

________________________________________
From: win-pv-devel <win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx> on behalf of Tu 
Dinh <ngoc-tu.dinh@xxxxxxxxxx>
Sent: 05 June 2026 1:32 PM
To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Tu Dinh
Subject: [PATCH 1/2] frontend: Split IP address dumping to its own function

This lets us rework the reporting functions later.

Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
 src/xenvif/frontend.c | 82 ++++++++++++++++++++++++++++++-------------
 1 file changed, 58 insertions(+), 24 deletions(-)

diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c
index b52596c..4afc72a 100644
--- a/src/xenvif/frontend.c
+++ b/src/xenvif/frontend.c
@@ -669,6 +669,56 @@ fail1:
     return status;
 }

+static NTSTATUS
+FrontendDumpIPv4Address(
+    _In_ PXENVIF_FRONTEND           Frontend,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_ PSTR                       Node,
+    _In_ PIPV4_ADDRESS              Address
+    )
+{
+    NTSTATUS                        status;
+
+    status = XENBUS_STORE(Printf,
+                          &Frontend->StoreInterface,
+                          Transaction,
+                          __FrontendGetPrefix(Frontend),
+                          Node,
+                          "%u.%u.%u.%u",
+                          Address->Byte[0],
+                          Address->Byte[1],
+                          Address->Byte[2],
+                          Address->Byte[3]);
+    return status;
+}
+
+static NTSTATUS
+FrontendDumpIPv6Address(
+    _In_ PXENVIF_FRONTEND           Frontend,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_ PSTR                       Node,
+    _In_ PIPV6_ADDRESS              Address
+    )
+{
+    NTSTATUS                        status;
+
+    status = XENBUS_STORE(Printf,
+                          &Frontend->StoreInterface,
+                          Transaction,
+                          __FrontendGetPrefix(Frontend),
+                          Node,
+                          "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x",
+                          NTOHS(Address->Word[0]),
+                          NTOHS(Address->Word[1]),
+                          NTOHS(Address->Word[2]),
+                          NTOHS(Address->Word[3]),
+                          NTOHS(Address->Word[4]),
+                          NTOHS(Address->Word[5]),
+                          NTOHS(Address->Word[6]),
+                          NTOHS(Address->Word[7]));
+    return status;
+}
+
 static NTSTATUS
 FrontendDumpAddressTable(
     IN  PXENVIF_FRONTEND        Frontend
@@ -727,16 +777,10 @@ FrontendDumpAddressTable(
             if (!NT_SUCCESS(status))
                 continue;

-            status = XENBUS_STORE(Printf,
-                                  &Frontend->StoreInterface,
-                                  Transaction,
-                                  __FrontendGetPrefix(Frontend),
-                                  Node,
-                                  "%u.%u.%u.%u",
-                                  Address.Byte[0],
-                                  Address.Byte[1],
-                                  Address.Byte[2],
-                                  Address.Byte[3]);
+            status = FrontendDumpIPv4Address(Frontend,
+                                             Transaction,
+                                             Node,
+                                             &Address);
             if (!NT_SUCCESS(status))
                 goto fail4;

@@ -759,20 +803,10 @@ FrontendDumpAddressTable(
             if (!NT_SUCCESS(status))
                 continue;

-            status = XENBUS_STORE(Printf,
-                                  &Frontend->StoreInterface,
-                                  Transaction,
-                                  __FrontendGetPrefix(Frontend),
-                                  Node,
-                                  "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x",
-                                  NTOHS(Address.Word[0]),
-                                  NTOHS(Address.Word[1]),
-                                  NTOHS(Address.Word[2]),
-                                  NTOHS(Address.Word[3]),
-                                  NTOHS(Address.Word[4]),
-                                  NTOHS(Address.Word[5]),
-                                  NTOHS(Address.Word[6]),
-                                  NTOHS(Address.Word[7]));
+            status = FrontendDumpIPv6Address(Frontend,
+                                             Transaction,
+                                             Node,
+                                             &Address);
             if (!NT_SUCCESS(status))
                 goto fail4;

--
2.54.0.windows.1



--
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.