On 14/02/2025 11:06, Markus Armbruster wrote:
Laurent Vivier <lviv...@redhat.com> writes:

The netdev reports NETDEV_VHOST_USER_CONNECTED event when
the chardev is connected, and NETDEV_VHOST_USER_DISCONNECTED
when it is disconnected.

The NETDEV_VHOST_USER_CONNECTED event includes the ChardevInfo
(label, filename and frontend_open).

This allows a system manager like libvirt to detect when the server
fails.

For instance with passt:

{ 'execute': 'qmp_capabilities' }
{ "return": { } }

[killing passt here]

{ "timestamp": { "seconds": 1739517243, "microseconds": 115081 },
   "event": "NETDEV_VHOST_USER_DISCONNECTED",
   "data": { "netdev-id": "netdev0" } }

[automatic reconnection with reconnect-ms]

{ "timestamp": { "seconds": 1739517290, "microseconds": 343777 },
   "event": "NETDEV_VHOST_USER_CONNECTED",
   "data": { "netdev-id": "netdev0",
             "info": { "frontend-open": true,
                       "filename": "unix:",
                       "label": "chr0" } } }

Signed-off-by: Laurent Vivier <lviv...@redhat.com>

Standard question for events: if a management application misses an
event, say because it restarts and reconnects, is there a way to obtain
the missed information with a query command?


query-chardev could help but it doesn't provide the netdev id.

in HMP, "info network" has the information, but for QMP we had a try with a query-netdev in the past but the series has been reverted.

f9bb0c1f9862 ("Revert "qapi: net: Add query-netdev command"")
d32ad10a14d4 ("qapi: net: Add query-netdev command")

Thanks,
Laurent
Thanks
Laurent


Reply via email to