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>
This commit is contained in:
parent
eb92b75380
commit
c5e5269d8a
@ -320,6 +320,9 @@ static void vhost_net_stop_one(struct vhost_net *net,
|
||||
net->nc->info->poll(net->nc, true);
|
||||
}
|
||||
vhost_dev_stop(&net->dev, dev);
|
||||
if (net->nc->info->stop) {
|
||||
net->nc->info->stop(net->nc);
|
||||
}
|
||||
vhost_dev_disable_notifiers(&net->dev, dev);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user