ping Patchwork page: http://patchwork.ozlabs.org/project/qemu-devel/list/?series=212983
09.11.2020, 03:02, "Alexey Kirillov" <lekir...@yandex-team.ru>: > This patch series introduces a new QMP command "query-netdev" to get > information about currently attached backend network devices (netdevs). > Also, since the "info_str" field of "NetClientState" is now deprecated, > we no longer use it for netdevs, only for NIC/hubports. > The HMP command "info network" now also uses the new QMP command inside. > > Usage example: > > -> { "execute": "query-netdev" } > <- { "return": [ > { > "listen": "127.0.0.1:90", > "type": "socket", > "peer-id": "hub0port1", > "id": "__org.qemu.net1" > }, > { > "script": "/etc/qemu-ifup", > "downscript": "/etc/qemu-ifdown", > "ifname": "tap0", > "type": "tap", > "peer-id": "net5", > "vnet_hdr": true, > "id": "tap0" > }, > { > "ipv6": true, > "ipv4": true, > "host": "10.0.2.2", > "ipv6-dns": "fec0::3", > "ipv6-prefix": "fec0::", > "net": "10.0.2.0/255.255.255.0", > "ipv6-host": "fec0::2", > "type": "user", > "peer-id": "net0", > "dns": "10.0.2.3", > "hostfwd": [ > { > "str": "tcp::20004-:22" > } > ], > "ipv6-prefixlen": 64, > "id": "netdev0", > "restrict": false > } > ] > } > > v4->v5: > - Enable qtest of query-netdevs for AVR and RX archs. > - Bump "Since" version in QAPI to 6.0. > > v3->v4: > - Rename "query-netdevs" to "query-netdev". > - Copy netdev drivers to new QAPI enum "NetBackend". > > v2->v3: > - Remove NIC and hubports from query-netdevs. > - Remove several fields from NetdevInfo since they are unnecessary. > - Rename field @peer to @peer-id. > - Add support of vhost-vdpa. > - Keep "info_str" for NIC/hubports, but remove it for netdevs. > > v1->v2: > - Rewrite HMP "info network" to get information from results of QMP command. > - Remove obsolete field "info_str" from "NetClientState". > > Alexey Kirillov (4): > qapi: net: Add query-netdev command > tests: Add tests for query-netdev command > hmp: Use QMP query-netdev in hmp_info_network > net: Do not use legacy info_str for backends > > include/net/net.h | 4 +- > net/clients.h | 1 + > net/hub.c | 4 +- > net/hub.h | 2 +- > net/l2tpv3.c | 21 +++- > net/net.c | 213 +++++++++++++++++++++++++++++++- > net/netmap.c | 13 ++ > net/slirp.c | 128 ++++++++++++++++++- > net/socket.c | 91 ++++++++++---- > net/tap-win32.c | 10 +- > net/tap.c | 107 ++++++++++++++-- > net/vde.c | 39 +++++- > net/vhost-user.c | 20 ++- > net/vhost-vdpa.c | 15 ++- > qapi/net.json | 80 ++++++++++++ > tests/qtest/meson.build | 3 + > tests/qtest/test-query-netdev.c | 120 ++++++++++++++++++ > 17 files changed, 812 insertions(+), 59 deletions(-) > create mode 100644 tests/qtest/test-query-netdev.c > > -- > 2.25.1 -- Alexey Kirillov Yandex.Cloud