summary refs log tree commit diff stats
path: root/include/net/net.h
diff options
context:
space:
mode:
authorEugenio Pérez <eperezma@redhat.com>2022-08-23 20:30:31 +0200
committerJason Wang <jasowang@redhat.com>2022-09-02 10:22:39 +0800
commitc5e5269d8a955a0f924218911c2f4a0b34e87a21 (patch)
tree0a78a43253e46288cb85467ac9c78a48689d6a84 /include/net/net.h
parenteb92b75380fc0f2368e22be45d1e2d1e2cd2f79c (diff)
downloadfocaccia-qemu-c5e5269d8a955a0f924218911c2f4a0b34e87a21.tar.gz
focaccia-qemu-c5e5269d8a955a0f924218911c2f4a0b34e87a21.zip
vhost_net: Add NetClientInfo stop callback
Used by the backend to perform actions after the device is stopped.

In particular, vdpa net use it to unmap CVQ buffers to the device,
cleaning the actions performed in prepare().

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'include/net/net.h')
-rw-r--r--include/net/net.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/net.h b/include/net/net.h
index ad9e80083a..476ad45b9a 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -45,6 +45,7 @@ typedef struct NICConf {
 typedef void (NetPoll)(NetClientState *, bool enable);
 typedef bool (NetCanReceive)(NetClientState *);
 typedef int (NetStart)(NetClientState *);
+typedef void (NetStop)(NetClientState *);
 typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t);
 typedef ssize_t (NetReceiveIOV)(NetClientState *, const struct iovec *, int);
 typedef void (NetCleanup) (NetClientState *);
@@ -73,6 +74,7 @@ typedef struct NetClientInfo {
     NetReceiveIOV *receive_iov;
     NetCanReceive *can_receive;
     NetStart *start;
+    NetStop *stop;
     NetCleanup *cleanup;
     LinkStatusChanged *link_status_changed;
     QueryRxFilter *query_rx_filter;