Skip to contentSkip to conversation

net: Dump client type 'info network'

PATCH Superseded Jan Kiszka 3 participants 12 messages May 17, 2011 – May 23, 2011

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

PATCH 2/2 net: Dump client type 'info network'

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0 (NIC): model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0 (NIC): model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1 (tap): fd=5

---
 net.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)
net.c +15 -3
index 606ce70..a4ee6b1 100644
@@ -1223,6 +1223,15 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
 
 void do_info_network(Monitor *mon)
 {
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "NIC",
+        [NET_CLIENT_TYPE_SLIRP]  = "user IPv4",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "VDE",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
+    };
     VLANState *vlan;
     VLANClientState *vc, *peer;
     net_client_type type;
@@ -1231,7 +1240,8 @@ void do_info_network(Monitor *mon)
         monitor_printf(mon, "VLAN %d devices:\n", vlan->id);
 
         QTAILQ_FOREACH(vc, &vlan->clients, next) {
-            monitor_printf(mon, "  %s: %s\n", vc->name, vc->info_str);
+            monitor_printf(mon, "  %s (%s): %s\n", vc->name,
+                           typename[vc->info->type], vc->info_str);
         }
     }
     monitor_printf(mon, "Devices not on any VLAN:\n");
@@ -1239,10 +1249,12 @@ void do_info_network(Monitor *mon)
         peer = vc->peer;
         type = vc->info->type;
         if (!peer || type == NET_CLIENT_TYPE_NIC) {
-            monitor_printf(mon, "  %s: %s\n", vc->name, vc->info_str);
+            monitor_printf(mon, "  %s (%s): %s\n", vc->name, typename[type],
+                           vc->info_str);
         }
         if (peer && type == NET_CLIENT_TYPE_NIC) {
-            monitor_printf(mon, "   \\ %s: %s\n", peer->name, peer->info_str);
+            monitor_printf(mon, "   \\ %s (%s): %s\n", peer->name,
+                           typename[peer->info->type], peer->info_str);
         }
     }
 }
Signature · 1 line
1.7.1
Reviewed-by on v1 2/2
#1 lore raw
Quoted 10 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
 rtl8139.0 (NIC): model=rtl8139,macaddr=52:54:00:12:34:57 Devices not on any VLAN:
 virtio-net-pci.0 (NIC): model=virtio-net-pci,macaddr=52:54:00:12:34:56 \ network1 (tap): fd=5

Quoted 4 lines

---
 net.c |   18 +++++++++++++++---

 1 files changed, 15 insertions(+), 3 deletions(-)

This is useful.

#2 lore raw
In reply to Jan Kiszka
Quoted 9 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0 (NIC): model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0 (NIC): model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1 (tap): fd=5

I guess I'd prefix vc->infostr with type=WHATEVER, for consistency with the command line, like this:

(qemu) info network
VLAN 0 devices:

    rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
  Devices not on any VLAN:
    virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
     \ network1: type=tap,fd=5
Quoted 13 lines
---
 net.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)
net.c +0 -0
index 606ce70..a4ee6b1 100644
@@ -1223,6 +1223,15 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
 
 void do_info_network(Monitor *mon)

net.c int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data) · line 1234

Quoted 10 lines
net.c +9 -0
 {
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "NIC",
+        [NET_CLIENT_TYPE_SLIRP]  = "user IPv4",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "VDE",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
+    };

Why not use the type names from net_client_types[]? Easier, and consistent with the command line.

Quoted 28 lines
net.c +6 -3
     VLANState *vlan;
     VLANClientState *vc, *peer;
     net_client_type type;
@@ -1231,7 +1240,8 @@ void do_info_network(Monitor *mon)
         monitor_printf(mon, "VLAN %d devices:\n", vlan->id);
 
         QTAILQ_FOREACH(vc, &vlan->clients, next) {
-            monitor_printf(mon, "  %s: %s\n", vc->name, vc->info_str);
+            monitor_printf(mon, "  %s (%s): %s\n", vc->name,
+                           typename[vc->info->type], vc->info_str);
         }
     }
     monitor_printf(mon, "Devices not on any VLAN:\n");
@@ -1239,10 +1249,12 @@ void do_info_network(Monitor *mon)
         peer = vc->peer;
         type = vc->info->type;
         if (!peer || type == NET_CLIENT_TYPE_NIC) {
-            monitor_printf(mon, "  %s: %s\n", vc->name, vc->info_str);
+            monitor_printf(mon, "  %s (%s): %s\n", vc->name, typename[type],
+                           vc->info_str);
         }
         if (peer && type == NET_CLIENT_TYPE_NIC) {
-            monitor_printf(mon, "   \\ %s: %s\n", peer->name, peer->info_str);
+            monitor_printf(mon, "   \\ %s (%s): %s\n", peer->name,
+                           typename[peer->info->type], peer->info_str);
         }
     }
 }
author
#3 lore raw
Quoted 15 lines · Markus Armbruster
Quoted 9 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0 (NIC): model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0 (NIC): model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1 (tap): fd=5

I guess I'd prefix vc->infostr with type=WHATEVER, for consistency with the command line, like this:

Quoted 6 lines

(qemu) info network
VLAN 0 devices:

    rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
  Devices not on any VLAN:
    virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
     \ network1: type=tap,fd=5

That really only creates consistency for the 'user' client. Other clients put arbitrarily formatted strings into info_str. If it's still preferred that way, no big deal, just wanted to point it out.

Quoted 13 lines
Quoted 13 lines
---
 net.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)
net.c +0 -0
index 606ce70..a4ee6b1 100644
@@ -1223,6 +1223,15 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
 
Quoted 14 lines

net.c int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data) · line 1234

Quoted 11 lines
net.c +9 -0
 void do_info_network(Monitor *mon)
 {
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "NIC",
+        [NET_CLIENT_TYPE_SLIRP]  = "user IPv4",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "VDE",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
+    };

Why not use the type names from net_client_types[]? Easier, and consistent with the command line.

Will do.

Thanks,
Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
author
#4 lore raw
Quoted 23 lines · Jan Kiszka
Quoted 15 lines · Markus Armbruster
Quoted 9 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0 (NIC): model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0 (NIC): model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1 (tap): fd=5

I guess I'd prefix vc->infostr with type=WHATEVER, for consistency with the command line, like this:

Quoted 6 lines

(qemu) info network
VLAN 0 devices:

    rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
  Devices not on any VLAN:
    virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
     \ network1: type=tap,fd=5
Quoted 3 lines

That really only creates consistency for the 'user' client. Other clients put arbitrarily formatted strings into info_str. If it's still preferred that way, no big deal, just wanted to point it out.

Umm, obviously nic and tap are formatting similar, just dump and (broken-again-by-someone) socket do not. So let's go for type=.

Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
author
#5 lore raw

PATCH v2 2/2 net: Dump client type 'info network'

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1: type=tap,fd=5

---

Changes in v2:
- format type as "type=name"
- use standard type names
- factor out print_net_client

 net.c |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)
net.c +22 -3
index 606ce70..6d06eb7 100644
@@ -1221,6 +1221,22 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
     return 0;
 }
 
+static void print_net_client(Monitor *mon, VLANClientState *vc)
+{
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "nic",
+        [NET_CLIENT_TYPE_SLIRP]  = "user",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "vde",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
+    };
+
+    monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
+                   typename[vc->info->type], vc->info_str);
+}
+
 void do_info_network(Monitor *mon)
 {
     VLANState *vlan;
@@ -1231,7 +1247,8 @@ void do_info_network(Monitor *mon)
         monitor_printf(mon, "VLAN %d devices:\n", vlan->id);
 
         QTAILQ_FOREACH(vc, &vlan->clients, next) {
-            monitor_printf(mon, "  %s: %s\n", vc->name, vc->info_str);
+            monitor_printf(mon, "  ");
+            print_net_client(mon, vc);
         }
     }
     monitor_printf(mon, "Devices not on any VLAN:\n");
@@ -1239,10 +1256,12 @@ void do_info_network(Monitor *mon)
         peer = vc->peer;
         type = vc->info->type;
         if (!peer || type == NET_CLIENT_TYPE_NIC) {
-            monitor_printf(mon, "  %s: %s\n", vc->name, vc->info_str);
+            monitor_printf(mon, "  ");
+            print_net_client(mon, vc);
         }
         if (peer && type == NET_CLIENT_TYPE_NIC) {
-            monitor_printf(mon, "   \\ %s: %s\n", peer->name, peer->info_str);
+            monitor_printf(mon, "   \\ ");
+            print_net_client(mon, peer);
         }
     }
 }
Signature · 1 line
1.7.1
#6 lore raw
Quoted 34 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1: type=tap,fd=5

---

Changes in v2:
- format type as "type=name"
- use standard type names
- factor out print_net_client

 net.c |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)
net.c +5 -0
index 606ce70..6d06eb7 100644
@@ -1221,6 +1221,22 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
     return 0;
 }
 
+static void print_net_client(Monitor *mon, VLANClientState *vc)
+{
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "nic",

net.c int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data) · line 1238

Quoted 10 lines
net.c +10 -0
+        [NET_CLIENT_TYPE_SLIRP]  = "user",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "vde",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
+    };
+
+    monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
+                   typename[vc->info->type], vc->info_str);
+}

Any particular reason for using typename[vc->info->type] instead of net_client[types[vc->info->type].type?

[...]

author
#7 lore raw
Quoted 41 lines · Markus Armbruster
Quoted 39 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1: type=tap,fd=5

---

Changes in v2:
- format type as "type=name"
- use standard type names
- factor out print_net_client

 net.c |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)
net.c +10 -0
index 606ce70..6d06eb7 100644
@@ -1221,6 +1221,22 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
     return 0;
 }
 
+static void print_net_client(Monitor *mon, VLANClientState *vc)
+{
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "nic",
+        [NET_CLIENT_TYPE_SLIRP]  = "user",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "vde",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
Quoted 8 lines

net.c int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data) · line 1238

Quoted 5 lines
net.c +5 -0
+    };
+
+    monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
+                   typename[vc->info->type], vc->info_str);
+}

Any particular reason for using typename[vc->info->type] instead of net_client[types[vc->info->type].type?

Uncertainty about the sorting of that array. Is it supposed to be aligned to NET_CLIENT_TYPE_* definitions?

Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
#8 lore raw
Quoted 51 lines · Jan Kiszka
Quoted 41 lines · Markus Armbruster
Quoted 39 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1: type=tap,fd=5

---

Changes in v2:
- format type as "type=name"
- use standard type names
- factor out print_net_client

 net.c |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)
net.c +10 -0
index 606ce70..6d06eb7 100644
@@ -1221,6 +1221,22 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
     return 0;
 }
 
+static void print_net_client(Monitor *mon, VLANClientState *vc)
+{
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "nic",
+        [NET_CLIENT_TYPE_SLIRP]  = "user",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "vde",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
Quoted 8 lines

net.c int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data) · line 1238

Quoted 5 lines
net.c +5 -0
+    };
+
+    monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
+                   typename[vc->info->type], vc->info_str);
+}

Any particular reason for using typename[vc->info->type] instead of net_client[types[vc->info->type].type?

Quoted 2 lines

Uncertainty about the sorting of that array. Is it supposed to be aligned to NET_CLIENT_TYPE_* definitions?

Hmm, you're right: it happens to be in order, but it's not explicit, so you can't rely on it. I'd be tempted to make the order explicit, but it's your call.

author
#9 lore raw
Quoted 53 lines · Markus Armbruster
Quoted 51 lines · Jan Kiszka
Quoted 49 lines · Markus Armbruster
Quoted 34 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1: type=tap,fd=5

---

Changes in v2:
- format type as "type=name"
- use standard type names
- factor out print_net_client

 net.c |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)
net.c +5 -0
index 606ce70..6d06eb7 100644
@@ -1221,6 +1221,22 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
     return 0;
 }
 
+static void print_net_client(Monitor *mon, VLANClientState *vc)
+{
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "nic",

net.c int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data) · line 1238

Quoted 10 lines
net.c +10 -0
+        [NET_CLIENT_TYPE_SLIRP]  = "user",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "vde",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
+    };
+
+    monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
+                   typename[vc->info->type], vc->info_str);
+}

Any particular reason for using typename[vc->info->type] instead of net_client[types[vc->info->type].type?

Quoted 6 lines
Quoted 2 lines

Uncertainty about the sorting of that array. Is it supposed to be aligned to NET_CLIENT_TYPE_* definitions?

Hmm, you're right: it happens to be in order, but it's not explicit, so you can't rely on it. I'd be tempted to make the order explicit, but it's your call.

Checked again: net_client is terminated by a NULL entry. If we put certain entries on fixed slots, that would created premature list termination if some features is missing (e.g. VDE is configured out). So we actually need a separate name array.

Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
#10 lore raw
Quoted 57 lines · Jan Kiszka
Quoted 56 lines · Markus Armbruster
Quoted 53 lines · Jan Kiszka
Quoted 41 lines · Markus Armbruster
Quoted 39 lines · Jan Kiszka

Include the client type name into the output of 'info network'. The result looks like this:

(qemu) info network
VLAN 0 devices:
rtl8139.0: type=nic,model=rtl8139,macaddr=52:54:00:12:34:57
Devices not on any VLAN:
virtio-net-pci.0: type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
\ network1: type=tap,fd=5

---

Changes in v2:
- format type as "type=name"
- use standard type names
- factor out print_net_client

 net.c |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)
net.c +10 -0
index 606ce70..6d06eb7 100644
@@ -1221,6 +1221,22 @@ int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
     return 0;
 }
 
+static void print_net_client(Monitor *mon, VLANClientState *vc)
+{
+    static const char *typename[] = {
+        [NET_CLIENT_TYPE_NONE]   = "none",
+        [NET_CLIENT_TYPE_NIC]    = "nic",
+        [NET_CLIENT_TYPE_SLIRP]  = "user",
+        [NET_CLIENT_TYPE_TAP]    = "tap",
+        [NET_CLIENT_TYPE_SOCKET] = "socket",
+        [NET_CLIENT_TYPE_VDE]    = "vde",
+        [NET_CLIENT_TYPE_DUMP]   = "dump",
Quoted 8 lines

net.c int do_netdev_del(Monitor *mon, const QDict *qdict, QObject **ret_data) · line 1238

Quoted 5 lines
net.c +5 -0
+    };
+
+    monitor_printf(mon, "%s: type=%s,%s\n", vc->name,
+                   typename[vc->info->type], vc->info_str);
+}

Any particular reason for using typename[vc->info->type] instead of net_client[types[vc->info->type].type?

Uncertainty about the sorting of that array. Is it supposed to be aligned to NET_CLIENT_TYPE_* definitions?

Quoted 8 lines
Quoted 3 lines

Hmm, you're right: it happens to be in order, but it's not explicit, so you can't rely on it. I'd be tempted to make the order explicit, but it's your call.

Checked again: net_client is terminated by a NULL entry. If we put certain entries on fixed slots, that would created premature list termination if some features is missing (e.g. VDE is configured out). So we actually need a separate name array.

Fixable; there's just one user. But again: it's your call.

author
#11 lore raw
Quoted 6 lines · Markus Armbruster
Quoted 4 lines

Checked again: net_client is terminated by a NULL entry. If we put certain entries on fixed slots, that would created premature list termination if some features is missing (e.g. VDE is configured out). So we actually need a separate name array.

Fixable; there's just one user. But again: it's your call.

OK, I give up :). Will resend the whole thing with refactored net_client_types to use them for output as well.

Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux