diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2016-07-27 01:15:25 +0400 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2016-07-29 00:33:49 +0300 |
commit | 950d94ba0671e7f154a9e87a277f8efbddcee28f (patch) | |
tree | 12851ea5543d29c01974e541ad9d30aa90d4fa00 /hw/net | |
parent | f6b8571041eea057b9e55fad51357e8d8ac9b1c0 (diff) | |
download | qemu-950d94ba0671e7f154a9e87a277f8efbddcee28f.zip |
vhost: add vhost_net_set_backend()
Not all vhost-user backends support ops->vhost_net_set_backend(). It is
a nicer to provide an assert/error than to crash trying to
call. Furthermore, it improves a bit the code by hiding vhost_ops
details.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/net')
-rw-r--r-- | hw/net/vhost_net.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index dd41a8eda8..dc61dc1c5f 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -242,8 +242,7 @@ static int vhost_net_start_one(struct vhost_net *net, qemu_set_fd_handler(net->backend, NULL, NULL, NULL); file.fd = net->backend; for (file.index = 0; file.index < net->dev.nvqs; ++file.index) { - const VhostOps *vhost_ops = net->dev.vhost_ops; - r = vhost_ops->vhost_net_set_backend(&net->dev, &file); + r = vhost_net_set_backend(&net->dev, &file); if (r < 0) { r = -errno; goto fail; @@ -255,8 +254,7 @@ fail: file.fd = -1; if (net->nc->info->type == NET_CLIENT_DRIVER_TAP) { while (file.index-- > 0) { - const VhostOps *vhost_ops = net->dev.vhost_ops; - int r = vhost_ops->vhost_net_set_backend(&net->dev, &file); + int r = vhost_net_set_backend(&net->dev, &file); assert(r >= 0); } } @@ -277,8 +275,7 @@ static void vhost_net_stop_one(struct vhost_net *net, if (net->nc->info->type == NET_CLIENT_DRIVER_TAP) { for (file.index = 0; file.index < net->dev.nvqs; ++file.index) { - const VhostOps *vhost_ops = net->dev.vhost_ops; - int r = vhost_ops->vhost_net_set_backend(&net->dev, &file); + int r = vhost_net_set_backend(&net->dev, &file); assert(r >= 0); } } |