[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 0/5] Introducing QMP query-netdev command
- To: Alexey Kirillov <lekiravi@xxxxxxxxxxxxxx>, Markus Armbruster <armbru@xxxxxxxxxx>, Thomas Huth <thuth@xxxxxxxxxx>, Eric Blake <eblake@xxxxxxxxxx>
- From: Jason Wang <jasowang@xxxxxxxxxx>
- Date: Mon, 15 Mar 2021 16:19:00 +0800
- Authentication-results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jasowang@xxxxxxxxxx
- Cc: Laurent Vivier <lvivier@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>, "Michael S. Tsirkin" <mst@xxxxxxxxxx>, Stefan Weil <sw@xxxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, "qemu-devel@xxxxxxxxxx" <qemu-devel@xxxxxxxxxx>, Vincenzo Maffione <v.maffione@xxxxxxxxx>, Paolo Bonzini <pbonzini@xxxxxxxxxx>, "yc-core@xxxxxxxxxxxxxx" <yc-core@xxxxxxxxxxxxxx>, Michael Roth <michael.roth@xxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Giuseppe Lettieri <g.lettieri@xxxxxxxxxxxx>, Luigi Rizzo <rizzo@xxxxxxxxxxxx>
- Delivery-date: Mon, 15 Mar 2021 08:19:36 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
在 2021/3/12 下午6:29, Alexey Kirillov 写道:
ping
Patchew page:
https://patchew.org/QEMU/20210303095910.78277-1-lekiravi@xxxxxxxxxxxxxx
Applied.
Thanks
03.03.2021, 13:01, "Alexey Kirillov" <lekiravi@xxxxxxxxxxxxxx>:
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 QAPI structure 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
}
]
}
v6->v7:
- Use macroses QAPI_LIST_PREPEND and QAPI_LIST_APPEND for lists.
- Reorder NetBackend entries in alphabetical order.
v5->v6:
- Add QAPI visitor to generate info_str replacement directly from NetdevInfo.
- Make info_str dynamically allocated.
- Make commit messages more meaningful.
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 (5):
qapi: net: Add query-netdev command
tests: Add tests for query-netdev command
net: Move NetClientState.info_str to dynamic allocations
hmp: Use QAPI NetdevInfo in hmp_info_network
net: Do not fill legacy info_str for backends
hw/net/xen_nic.c | 5 +-
include/net/net.h | 5 +-
include/qapi/hmp-output-visitor.h | 30 +++++
net/l2tpv3.c | 8 +-
net/net.c | 73 +++++++++--
net/netmap.c | 7 ++
net/slirp.c | 124 ++++++++++++++++++-
net/socket.c | 92 ++++++++++----
net/tap-win32.c | 10 +-
net/tap.c | 107 +++++++++++++++--
net/vde.c | 25 +++-
net/vhost-user.c | 20 +++-
net/vhost-vdpa.c | 15 ++-
qapi/hmp-output-visitor.c | 193 ++++++++++++++++++++++++++++++
qapi/meson.build | 1 +
qapi/net.json | 80 +++++++++++++
tests/qtest/meson.build | 3 +
tests/qtest/test-query-netdev.c | 120 +++++++++++++++++++
18 files changed, 856 insertions(+), 62 deletions(-)
create mode 100644 include/qapi/hmp-output-visitor.h
create mode 100644 qapi/hmp-output-visitor.c
create mode 100644 tests/qtest/test-query-netdev.c
--
2.25.1
--
Alexey Kirillov
Yandex.Cloud
|