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