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

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


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
  • Date: Fri, 5 Jun 2026 14:32:16 +0200
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Feedback-ID"
  • Cc: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
  • Delivery-date: Fri, 05 Jun 2026 12:32:32 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

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®.