]>
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 | 12 | NetClientState *net_backend; |
69e87b32 | 13 | uint32_t busyloop_timeout; |
81647a65 | 14 | void *opaque; |
81647a65 NN |
15 | } VhostNetOptions; |
16 | ||
e2051e9e | 17 | uint64_t vhost_net_get_max_queues(VHostNetState *net); |
81647a65 | 18 | struct vhost_net *vhost_net_init(VhostNetOptions *options); |
d5970055 | 19 | |
a9f98bb5 JW |
20 | int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, int total_queues); |
21 | void vhost_net_stop(VirtIODevice *dev, NetClientState *ncs, int total_queues); | |
d5970055 MT |
22 | |
23 | void vhost_net_cleanup(VHostNetState *net); | |
24 | ||
9a2ba823 CH |
25 | uint64_t vhost_net_get_features(VHostNetState *net, uint64_t features); |
26 | void vhost_net_ack_features(VHostNetState *net, uint64_t features); | |
d5970055 | 27 | |
f56a1247 MT |
28 | bool vhost_net_virtqueue_pending(VHostNetState *net, int n); |
29 | void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev, | |
30 | int idx, bool mask); | |
3e866365 | 31 | int vhost_net_notify_migration_done(VHostNetState *net, char* mac_addr); |
ed8b4afe | 32 | VHostNetState *get_vhost_net(NetClientState *nc); |
7263a0ad CO |
33 | |
34 | int vhost_set_vring_enable(NetClientState * nc, int enable); | |
a463215b MAL |
35 | |
36 | uint64_t vhost_net_get_acked_features(VHostNetState *net); | |
37 | ||
d5970055 | 38 | #endif |