1*7b28c615SPaolo Bonzini /* 2*7b28c615SPaolo Bonzini * vhost-net support 3*7b28c615SPaolo Bonzini * 4*7b28c615SPaolo Bonzini * Copyright Red Hat, Inc. 2010 5*7b28c615SPaolo Bonzini * 6*7b28c615SPaolo Bonzini * Authors: 7*7b28c615SPaolo Bonzini * Michael S. Tsirkin <mst@redhat.com> 8*7b28c615SPaolo Bonzini * 9*7b28c615SPaolo Bonzini * This work is licensed under the terms of the GNU GPL, version 2 or later. 10*7b28c615SPaolo Bonzini * See the COPYING file in the top-level directory. 11*7b28c615SPaolo Bonzini */ 12*7b28c615SPaolo Bonzini 13*7b28c615SPaolo Bonzini #include "qemu/osdep.h" 14*7b28c615SPaolo Bonzini #include "net/net.h" 15*7b28c615SPaolo Bonzini #include "net/tap.h" 16*7b28c615SPaolo Bonzini #include "net/vhost-user.h" 17*7b28c615SPaolo Bonzini 18*7b28c615SPaolo Bonzini #include "hw/virtio/virtio-net.h" 19*7b28c615SPaolo Bonzini #include "net/vhost_net.h" 20*7b28c615SPaolo Bonzini #include "qemu/error-report.h" 21*7b28c615SPaolo Bonzini 22*7b28c615SPaolo Bonzini 23*7b28c615SPaolo Bonzini uint64_t vhost_net_get_max_queues(VHostNetState *net) 24*7b28c615SPaolo Bonzini { 25*7b28c615SPaolo Bonzini return 1; 26*7b28c615SPaolo Bonzini } 27*7b28c615SPaolo Bonzini 28*7b28c615SPaolo Bonzini struct vhost_net *vhost_net_init(VhostNetOptions *options) 29*7b28c615SPaolo Bonzini { 30*7b28c615SPaolo Bonzini error_report("vhost-net support is not compiled in"); 31*7b28c615SPaolo Bonzini return NULL; 32*7b28c615SPaolo Bonzini } 33*7b28c615SPaolo Bonzini 34*7b28c615SPaolo Bonzini int vhost_net_start(VirtIODevice *dev, 35*7b28c615SPaolo Bonzini NetClientState *ncs, 36*7b28c615SPaolo Bonzini int total_queues) 37*7b28c615SPaolo Bonzini { 38*7b28c615SPaolo Bonzini return -ENOSYS; 39*7b28c615SPaolo Bonzini } 40*7b28c615SPaolo Bonzini void vhost_net_stop(VirtIODevice *dev, 41*7b28c615SPaolo Bonzini NetClientState *ncs, 42*7b28c615SPaolo Bonzini int total_queues) 43*7b28c615SPaolo Bonzini { 44*7b28c615SPaolo Bonzini } 45*7b28c615SPaolo Bonzini 46*7b28c615SPaolo Bonzini void vhost_net_cleanup(struct vhost_net *net) 47*7b28c615SPaolo Bonzini { 48*7b28c615SPaolo Bonzini } 49*7b28c615SPaolo Bonzini 50*7b28c615SPaolo Bonzini uint64_t vhost_net_get_features(struct vhost_net *net, uint64_t features) 51*7b28c615SPaolo Bonzini { 52*7b28c615SPaolo Bonzini return features; 53*7b28c615SPaolo Bonzini } 54*7b28c615SPaolo Bonzini 55*7b28c615SPaolo Bonzini void vhost_net_ack_features(struct vhost_net *net, uint64_t features) 56*7b28c615SPaolo Bonzini { 57*7b28c615SPaolo Bonzini } 58*7b28c615SPaolo Bonzini 59*7b28c615SPaolo Bonzini uint64_t vhost_net_get_acked_features(VHostNetState *net) 60*7b28c615SPaolo Bonzini { 61*7b28c615SPaolo Bonzini return 0; 62*7b28c615SPaolo Bonzini } 63*7b28c615SPaolo Bonzini 64*7b28c615SPaolo Bonzini bool vhost_net_virtqueue_pending(VHostNetState *net, int idx) 65*7b28c615SPaolo Bonzini { 66*7b28c615SPaolo Bonzini return false; 67*7b28c615SPaolo Bonzini } 68*7b28c615SPaolo Bonzini 69*7b28c615SPaolo Bonzini void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev, 70*7b28c615SPaolo Bonzini int idx, bool mask) 71*7b28c615SPaolo Bonzini { 72*7b28c615SPaolo Bonzini } 73*7b28c615SPaolo Bonzini 74*7b28c615SPaolo Bonzini int vhost_net_notify_migration_done(struct vhost_net *net, char* mac_addr) 75*7b28c615SPaolo Bonzini { 76*7b28c615SPaolo Bonzini return -1; 77*7b28c615SPaolo Bonzini } 78*7b28c615SPaolo Bonzini 79*7b28c615SPaolo Bonzini VHostNetState *get_vhost_net(NetClientState *nc) 80*7b28c615SPaolo Bonzini { 81*7b28c615SPaolo Bonzini return 0; 82*7b28c615SPaolo Bonzini } 83*7b28c615SPaolo Bonzini 84*7b28c615SPaolo Bonzini int vhost_set_vring_enable(NetClientState *nc, int enable) 85*7b28c615SPaolo Bonzini { 86*7b28c615SPaolo Bonzini return 0; 87*7b28c615SPaolo Bonzini } 88*7b28c615SPaolo Bonzini 89*7b28c615SPaolo Bonzini int vhost_net_set_mtu(struct vhost_net *net, uint16_t mtu) 90*7b28c615SPaolo Bonzini { 91*7b28c615SPaolo Bonzini return 0; 92*7b28c615SPaolo Bonzini } 93