]>
Commit | Line | Data |
---|---|---|
d5970055 MT |
1 | #ifndef VHOST_NET_H |
2 | #define VHOST_NET_H | |
3 | ||
1422e32d | 4 | #include "net/net.h" |
1a1bfac9 | 5 | #include "hw/virtio/vhost-backend.h" |
d5970055 MT |
6 | |
7 | struct vhost_net; | |
8 | typedef struct vhost_net VHostNetState; | |
9 | ||
81647a65 | 10 | typedef struct VhostNetOptions { |
1a1bfac9 | 11 | VhostBackendType backend_type; |
81647a65 NN |
12 | NetClientState *net_backend; |
13 | void *opaque; | |
81647a65 NN |
14 | } VhostNetOptions; |
15 | ||
e2051e9e | 16 | uint64_t vhost_net_get_max_queues(VHostNetState *net); |
81647a65 | 17 | struct vhost_net *vhost_net_init(VhostNetOptions *options); |
d5970055 | 18 | |
a9f98bb5 JW |
19 | int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, int total_queues); |
20 | void vhost_net_stop(VirtIODevice *dev, NetClientState *ncs, int total_queues); | |
d5970055 MT |
21 | |
22 | void vhost_net_cleanup(VHostNetState *net); | |
23 | ||
9a2ba823 CH |
24 | uint64_t vhost_net_get_features(VHostNetState *net, uint64_t features); |
25 | void vhost_net_ack_features(VHostNetState *net, uint64_t features); | |
d5970055 | 26 | |
f56a1247 MT |
27 | bool vhost_net_virtqueue_pending(VHostNetState *net, int n); |
28 | void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev, | |
29 | int idx, bool mask); | |
3e866365 | 30 | int vhost_net_notify_migration_done(VHostNetState *net, char* mac_addr); |
ed8b4afe | 31 | VHostNetState *get_vhost_net(NetClientState *nc); |
7263a0ad CO |
32 | |
33 | int vhost_set_vring_enable(NetClientState * nc, int enable); | |
d5970055 | 34 | #endif |