17b28c615SPaolo Bonzini /* 27b28c615SPaolo Bonzini * vhost-net support 37b28c615SPaolo Bonzini * 47b28c615SPaolo Bonzini * Copyright Red Hat, Inc. 2010 57b28c615SPaolo Bonzini * 67b28c615SPaolo Bonzini * Authors: 77b28c615SPaolo Bonzini * Michael S. Tsirkin <mst@redhat.com> 87b28c615SPaolo Bonzini * 97b28c615SPaolo Bonzini * This work is licensed under the terms of the GNU GPL, version 2 or later. 107b28c615SPaolo Bonzini * See the COPYING file in the top-level directory. 117b28c615SPaolo Bonzini */ 127b28c615SPaolo Bonzini 137b28c615SPaolo Bonzini #include "qemu/osdep.h" 147b28c615SPaolo Bonzini #include "net/net.h" 157b28c615SPaolo Bonzini #include "net/tap.h" 167b28c615SPaolo Bonzini #include "net/vhost-user.h" 177b28c615SPaolo Bonzini 187b28c615SPaolo Bonzini #include "hw/virtio/virtio-net.h" 197b28c615SPaolo Bonzini #include "net/vhost_net.h" 207b28c615SPaolo Bonzini #include "qemu/error-report.h" 217b28c615SPaolo Bonzini 227b28c615SPaolo Bonzini 237b28c615SPaolo Bonzini uint64_t vhost_net_get_max_queues(VHostNetState *net) 247b28c615SPaolo Bonzini { 257b28c615SPaolo Bonzini return 1; 267b28c615SPaolo Bonzini } 277b28c615SPaolo Bonzini 287b28c615SPaolo Bonzini struct vhost_net *vhost_net_init(VhostNetOptions *options) 297b28c615SPaolo Bonzini { 307b28c615SPaolo Bonzini error_report("vhost-net support is not compiled in"); 317b28c615SPaolo Bonzini return NULL; 327b28c615SPaolo Bonzini } 337b28c615SPaolo Bonzini 347b28c615SPaolo Bonzini int vhost_net_start(VirtIODevice *dev, 357b28c615SPaolo Bonzini NetClientState *ncs, 36*05ba3f63SJason Wang int data_queue_pairs, int cvq) 377b28c615SPaolo Bonzini { 387b28c615SPaolo Bonzini return -ENOSYS; 397b28c615SPaolo Bonzini } 407b28c615SPaolo Bonzini void vhost_net_stop(VirtIODevice *dev, 417b28c615SPaolo Bonzini NetClientState *ncs, 42*05ba3f63SJason Wang int data_queue_pairs, int cvq) 437b28c615SPaolo Bonzini { 447b28c615SPaolo Bonzini } 457b28c615SPaolo Bonzini 467b28c615SPaolo Bonzini void vhost_net_cleanup(struct vhost_net *net) 477b28c615SPaolo Bonzini { 487b28c615SPaolo Bonzini } 497b28c615SPaolo Bonzini 507b28c615SPaolo Bonzini uint64_t vhost_net_get_features(struct vhost_net *net, uint64_t features) 517b28c615SPaolo Bonzini { 527b28c615SPaolo Bonzini return features; 537b28c615SPaolo Bonzini } 547b28c615SPaolo Bonzini 5538140cc4SCindy Lu int vhost_net_get_config(struct vhost_net *net, uint8_t *config, 5638140cc4SCindy Lu uint32_t config_len) 5738140cc4SCindy Lu { 5838140cc4SCindy Lu return 0; 5938140cc4SCindy Lu } 6038140cc4SCindy Lu int vhost_net_set_config(struct vhost_net *net, const uint8_t *data, 6138140cc4SCindy Lu uint32_t offset, uint32_t size, uint32_t flags) 6238140cc4SCindy Lu { 6338140cc4SCindy Lu return 0; 6438140cc4SCindy Lu } 6538140cc4SCindy Lu 667b28c615SPaolo Bonzini void vhost_net_ack_features(struct vhost_net *net, uint64_t features) 677b28c615SPaolo Bonzini { 687b28c615SPaolo Bonzini } 697b28c615SPaolo Bonzini 707b28c615SPaolo Bonzini uint64_t vhost_net_get_acked_features(VHostNetState *net) 717b28c615SPaolo Bonzini { 727b28c615SPaolo Bonzini return 0; 737b28c615SPaolo Bonzini } 747b28c615SPaolo Bonzini 757b28c615SPaolo Bonzini bool vhost_net_virtqueue_pending(VHostNetState *net, int idx) 767b28c615SPaolo Bonzini { 777b28c615SPaolo Bonzini return false; 787b28c615SPaolo Bonzini } 797b28c615SPaolo Bonzini 807b28c615SPaolo Bonzini void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev, 817b28c615SPaolo Bonzini int idx, bool mask) 827b28c615SPaolo Bonzini { 837b28c615SPaolo Bonzini } 847b28c615SPaolo Bonzini 857b28c615SPaolo Bonzini int vhost_net_notify_migration_done(struct vhost_net *net, char* mac_addr) 867b28c615SPaolo Bonzini { 877b28c615SPaolo Bonzini return -1; 887b28c615SPaolo Bonzini } 897b28c615SPaolo Bonzini 907b28c615SPaolo Bonzini VHostNetState *get_vhost_net(NetClientState *nc) 917b28c615SPaolo Bonzini { 927b28c615SPaolo Bonzini return 0; 937b28c615SPaolo Bonzini } 947b28c615SPaolo Bonzini 957b28c615SPaolo Bonzini int vhost_set_vring_enable(NetClientState *nc, int enable) 967b28c615SPaolo Bonzini { 977b28c615SPaolo Bonzini return 0; 987b28c615SPaolo Bonzini } 997b28c615SPaolo Bonzini 1007b28c615SPaolo Bonzini int vhost_net_set_mtu(struct vhost_net *net, uint16_t mtu) 1017b28c615SPaolo Bonzini { 1027b28c615SPaolo Bonzini return 0; 1037b28c615SPaolo Bonzini } 104