Message ID | 20200921191912.105305-1-lekiravi@yandex-team.ru |
---|---|
Headers | show |
Series | Introducing QMP query-netdev command | expand |
<div>Ping</div><div> </div><div>21.09.2020 22:19, Alexey Kirillov writes:</div><div>> This patch series introduces a new QMP command "query-netdev" to get</div><div>> information about currently attached backend network devices (netdevs).</div><div>> Also, since the "info_str" field of "NetClientState" is now deprecated,</div><div>> we no longer use it for netdevs, only for NIC/hubports.</div><div>> The HMP command "info network" now also uses the new QMP command inside.</div><div>></div><div>> Usage example:</div><div>></div><div>> -> { "execute": "query-netdev" }</div><div>> <- { "return": [</div><div>> {<!-- --></div><div>> "listen": "127.0.0.1:90",</div><div>> "type": "socket",</div><div>> "peer-id": "hub0port1",</div><div>> "id": "__org.qemu.net1"</div><div>> },</div><div>> {<!-- --></div><div>> "script": "/etc/qemu-ifup",</div><div>> "downscript": "/etc/qemu-ifdown",</div><div>> "ifname": "tap0",</div><div>> "type": "tap",</div><div>> "peer-id": "net5",</div><div>> "vnet_hdr": true,</div><div>> "id": "tap0"</div><div>> },</div><div>> {<!-- --></div><div>> "ipv6": true,</div><div>> "ipv4": true,</div><div>> "host": "10.0.2.2",</div><div>> "ipv6-dns": "fec0::3",</div><div>> "ipv6-prefix": "fec0::",</div><div>> "net": "10.0.2.0/255.255.255.0",</div><div>> "ipv6-host": "fec0::2",</div><div>> "type": "user",</div><div>> "peer-id": "net0",</div><div>> "dns": "10.0.2.3",</div><div>> "hostfwd": [</div><div>> {<!-- --></div><div>> "str": "tcp::20004-:22"</div><div>> }</div><div>> ],</div><div>> "ipv6-prefixlen": 64,</div><div>> "id": "netdev0",</div><div>> "restrict": false</div><div>> }</div><div>> ]</div><div>> }</div><div>></div><div>> v3->v4:</div><div>> - Rename "query-netdevs" to "query-netdev".</div><div>> - Copy netdev drivers to new QAPI enum "NetBackend".</div><div>></div><div>> v2->v3:</div><div>> - Remove NIC and hubports from query-netdevs.</div><div>> - Remove several fields from NetdevInfo since they are unnecessary.</div><div>> - Rename field @peer to @peer-id.</div><div>> - Add support of vhost-vdpa.</div><div>> - Keep "info_str" for NIC/hubports, but remove it for netdevs.</div><div>></div><div>> v1->v2:</div><div>> - Rewrite HMP "info network" to get information from results of QMP command.</div><div>> - Remove obsolete field "info_str" from "NetClientState".</div><div>></div><div>> Alexey Kirillov (4):</div><div>> qapi: net: Add query-netdev command</div><div>> tests: Add tests for query-netdev command</div><div>> hmp: Use QMP query-netdev in hmp_info_network</div><div>> net: Do not use legacy info_str for backends</div><div>></div><div>> include/net/net.h | 4 +-</div><div>> net/clients.h | 1 +</div><div>> net/hub.c | 4 +-</div><div>> net/hub.h | 2 +-</div><div>> net/l2tpv3.c | 21 +++-</div><div>> net/net.c | 213 +++++++++++++++++++++++++++++++-</div><div>> net/netmap.c | 13 ++</div><div>> net/slirp.c | 128 ++++++++++++++++++-</div><div>> net/socket.c | 91 ++++++++++----</div><div>> net/tap-win32.c | 10 +-</div><div>> net/tap.c | 107 ++++++++++++++--</div><div>> net/vde.c | 39 +++++-</div><div>> net/vhost-user.c | 20 ++-</div><div>> net/vhost-vdpa.c | 15 ++-</div><div>> qapi/net.json | 80 ++++++++++++</div><div>> tests/qtest/meson.build | 3 +</div><div>> tests/qtest/test-query-netdev.c | 115 +++++++++++++++++</div><div>> 17 files changed, 807 insertions(+), 59 deletions(-)</div><div>> create mode 100644 tests/qtest/test-query-netdev.c</div><div>></div><div>> --</div><div>> 2.25.1</div><div> </div><div><div>-- </div><div>Alexey Kirillov</div><div>Yandex.Cloud</div></div>
Ping 21.09.2020 22:19, Alexey Kirillov writes: > 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 > } > ] > } > > 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 | 115 +++++++++++++++++ > 17 files changed, 807 insertions(+), 59 deletions(-) > create mode 100644 tests/qtest/test-query-netdev.c > > -- > 2.25.1 P.S. Sorry for double-ping (first message was with "Content-Type: text/html", my mistake). -- Alexey Kirillov Yandex.Cloud
ping http://patchwork.ozlabs.org/project/qemu-devel/list/?series=203284 21.09.2020, 22:19, "Alexey Kirillov" <lekiravi@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 > } > ] > } > > 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 | 115 +++++++++++++++++ > 17 files changed, 807 insertions(+), 59 deletions(-) > create mode 100644 tests/qtest/test-query-netdev.c > > -- > 2.25.1 -- Alexey Kirillov Yandex.Cloud
Ping again, as no progress since september 22. http://patchwork.ozlabs.org/project/qemu-devel/list/?series=203284 21.09.2020, 22:19, "Alexey Kirillov" <lekiravi@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 > } > ] > } > > 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 | 115 +++++++++++++++++ > 17 files changed, 807 insertions(+), 59 deletions(-) > create mode 100644 tests/qtest/test-query-netdev.c > > -- > 2.25.1 -- Alexey Kirillov Yandex.Cloud