Use vhost_set_backend_type to initialise a proper vhost_ops structure. In vhost_net_init and vhost_net_start_one call conditionally TAP related initialisation depending on the vhost backend type. Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			1019 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1019 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef VHOST_NET_H
 | 
						|
#define VHOST_NET_H
 | 
						|
 | 
						|
#include "net/net.h"
 | 
						|
#include "hw/virtio/vhost-backend.h"
 | 
						|
 | 
						|
struct vhost_net;
 | 
						|
typedef struct vhost_net VHostNetState;
 | 
						|
 | 
						|
typedef struct VhostNetOptions {
 | 
						|
    VhostBackendType backend_type;
 | 
						|
    NetClientState *net_backend;
 | 
						|
    void *opaque;
 | 
						|
    bool force;
 | 
						|
} VhostNetOptions;
 | 
						|
 | 
						|
struct vhost_net *vhost_net_init(VhostNetOptions *options);
 | 
						|
 | 
						|
bool vhost_net_query(VHostNetState *net, VirtIODevice *dev);
 | 
						|
int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, int total_queues);
 | 
						|
void vhost_net_stop(VirtIODevice *dev, NetClientState *ncs, int total_queues);
 | 
						|
 | 
						|
void vhost_net_cleanup(VHostNetState *net);
 | 
						|
 | 
						|
unsigned vhost_net_get_features(VHostNetState *net, unsigned features);
 | 
						|
void vhost_net_ack_features(VHostNetState *net, unsigned features);
 | 
						|
 | 
						|
bool vhost_net_virtqueue_pending(VHostNetState *net, int n);
 | 
						|
void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev,
 | 
						|
                              int idx, bool mask);
 | 
						|
VHostNetState *get_vhost_net(NetClientState *nc);
 | 
						|
#endif
 |