qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] net/filter: Add filter order info for "info network


From: Zhang Chen
Subject: [Qemu-devel] [PATCH] net/filter: Add filter order info for "info network"
Date: Tue, 3 Sep 2019 16:22:29 +0800

From: Zhang Chen <address@hidden>

People need a way to know current filter order if they
want to dynamic add/remove netfilter.

For example:
(qemu) info network
.......
filters order:
 m0 ---> redire0 ---> redire1 ---> End
.......

Signed-off-by: Zhang Chen <address@hidden>
---
 net/net.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/net/net.c b/net/net.c
index 84aa6d8d00..496f4aa049 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1253,15 +1253,23 @@ void print_net_client(Monitor *mon, NetClientState *nc)
                    NetClientDriver_str(nc->info->type),
                    nc->info_str);
     if (!QTAILQ_EMPTY(&nc->filters)) {
-        monitor_printf(mon, "filters:\n");
-    }
-    QTAILQ_FOREACH(nf, &nc->filters, next) {
-        char *path = object_get_canonical_path_component(OBJECT(nf));
+        monitor_printf(mon, "filters order:\n");
+        QTAILQ_FOREACH(nf, &nc->filters, next) {
+            char *path = object_get_canonical_path_component(OBJECT(nf));
+
+            monitor_printf(mon, " %s --->", path);
+        }
+        monitor_printf(mon, " End\n");
+        monitor_printf(mon, "filters detail info:\n");
 
-        monitor_printf(mon, "  - %s: type=%s", path,
-                       object_get_typename(OBJECT(nf)));
-        netfilter_print_info(mon, nf);
-        g_free(path);
+        QTAILQ_FOREACH(nf, &nc->filters, next) {
+            char *path = object_get_canonical_path_component(OBJECT(nf));
+
+            monitor_printf(mon, "  - %s: type=%s", path,
+                           object_get_typename(OBJECT(nf)));
+            netfilter_print_info(mon, nf);
+            g_free(path);
+        }
     }
 }
 
-- 
2.17.GIT




reply via email to

[Prev in Thread] Current Thread [Next in Thread]