Hi Dehan,

On 12/6/24 12:31, Dehan Meng wrote:
The Route information of the Linux VM needs to be used
by administrators and users when debugging network problems
and troubleshooting.

Signed-off-by: Dehan Meng <dem...@redhat.com>
---
  qga/commands-posix.c | 81 ++++++++++++++++++++++++++++++++++++++++++++
  qga/commands-win32.c |  6 ++++
  qga/qapi-schema.json | 56 ++++++++++++++++++++++++++++++
  3 files changed, 143 insertions(+)


diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json
index b3de1fb6b3..58f51aecbb 100644
--- a/qga/qapi-schema.json
+++ b/qga/qapi-schema.json
@@ -1800,3 +1800,59 @@
  { 'command': 'guest-get-cpustats',
    'returns': ['GuestCpuStats']
  }
+
+##
+# @GuestNetworkRoute:
+#
+# Route information, currently, only linux supported.
+#
+# @iface: The destination network or host's egress network interface in the 
routing table
+#
+# @destination: The IP address of the target network or host, The final 
destination of the packet

Maybe clearer to start naming this @ipv4 in case you plan @ipv6
support later (see @NetdevUserOptions structure in qapi/net.json).

+#
+# @gateway: The IP address of the next hop router
+#
+# @mask: Subnet Mask
+#
+# @metric: Route metric
+#
+# @flags: Route flags (not for windows)
+#
+# @irtt: Initial round-trip delay (not for windows)
+#
+# @refcnt: The route's reference count (not for windows)
+#
+# @use: Route usage count (not for windows)
+#
+# @window: TCP window size, used for flow control (not for windows)
+#
+# @mtu: Data link layer maximum packet size (not for windows)
+#
+# Since: 9.1
+
+##
+{ 'struct': 'GuestNetworkRoute',
+  'data': {'iface': 'str',
+           'destination': 'str',
+           'gateway': 'str',
+           'metric': 'int',
+           'mask': 'str',
+           '*irtt': 'int',
+           '*flags': 'uint64',
+           '*refcnt': 'int',
+           '*use': 'int',
+           '*window': 'int',
+           '*mtu': 'int'
+           }}
+
+##
+# @guest-network-get-route:
+#
+# Retrieve information about route of network.
+# Returns: List of route info of guest.
+#
+# Since: 9.1
+##
+{ 'command': 'guest-network-get-route',
+  'returns': ['GuestNetworkRoute']
+}


Reply via email to