xref: /qemu/include/net/vhost_net.h (revision ed8b4afe5ff290ae119237e4fa2142e9f1832230)
1d5970055SMichael S. Tsirkin #ifndef VHOST_NET_H
2d5970055SMichael S. Tsirkin #define VHOST_NET_H
3d5970055SMichael S. Tsirkin 
41422e32dSPaolo Bonzini #include "net/net.h"
5d5970055SMichael S. Tsirkin 
6d5970055SMichael S. Tsirkin struct vhost_net;
7d5970055SMichael S. Tsirkin typedef struct vhost_net VHostNetState;
8d5970055SMichael S. Tsirkin 
94e68f7a0SStefan Hajnoczi VHostNetState *vhost_net_init(NetClientState *backend, int devfd, bool force);
10d5970055SMichael S. Tsirkin 
115430a28fSmst@redhat.com bool vhost_net_query(VHostNetState *net, VirtIODevice *dev);
12a9f98bb5SJason Wang int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, int total_queues);
13a9f98bb5SJason Wang void vhost_net_stop(VirtIODevice *dev, NetClientState *ncs, int total_queues);
14d5970055SMichael S. Tsirkin 
15d5970055SMichael S. Tsirkin void vhost_net_cleanup(VHostNetState *net);
16d5970055SMichael S. Tsirkin 
17d5970055SMichael S. Tsirkin unsigned vhost_net_get_features(VHostNetState *net, unsigned features);
18d5970055SMichael S. Tsirkin void vhost_net_ack_features(VHostNetState *net, unsigned features);
19d5970055SMichael S. Tsirkin 
20f56a1247SMichael S. Tsirkin bool vhost_net_virtqueue_pending(VHostNetState *net, int n);
21f56a1247SMichael S. Tsirkin void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev,
22f56a1247SMichael S. Tsirkin                               int idx, bool mask);
23*ed8b4afeSNikolay Nikolaev VHostNetState *get_vhost_net(NetClientState *nc);
24d5970055SMichael S. Tsirkin #endif
25