diff options
author | 2016-07-18 15:30:06 -0300 | |
---|---|---|
committer | 2016-07-19 08:26:18 +0200 | |
commit | 8be94df6e9f5f70516cb86d82dd04fefaa0fe8b3 (patch) | |
tree | b055d508e145ddc35943c4a083aa846855c92732 /drivers/net/vhost | |
parent | ddb3f4884bd4cdb8659fb8326c27986a5c832ade (diff) |
Imported Upstream version 16.07-rc2
Change-Id: Ie9e8ec528a2a0dace085c5e44aa7fa3b489d4ba0
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Diffstat (limited to 'drivers/net/vhost')
-rw-r--r-- | drivers/net/vhost/rte_eth_vhost.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c index 3b509465..7539cd49 100644 --- a/drivers/net/vhost/rte_eth_vhost.c +++ b/drivers/net/vhost/rte_eth_vhost.c @@ -303,6 +303,7 @@ destroy_device(int vid) struct internal_list *list; char ifname[PATH_MAX]; unsigned i; + struct rte_vhost_vring_state *state; rte_vhost_get_ifname(vid, ifname, sizeof(ifname)); list = find_internal_resource(ifname); @@ -345,6 +346,15 @@ destroy_device(int vid) vq->vid = -1; } + state = vring_states[eth_dev->data->port_id]; + rte_spinlock_lock(&state->lock); + for (i = 0; i <= state->max_vring; i++) { + state->cur[i] = false; + state->seen[i] = false; + } + state->max_vring = 0; + rte_spinlock_unlock(&state->lock); + RTE_LOG(INFO, PMD, "Connection closed\n"); _rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC); @@ -915,10 +925,12 @@ rte_pmd_vhost_devuninit(const char *name) } static struct rte_driver pmd_vhost_drv = { - .name = "eth_vhost", .type = PMD_VDEV, .init = rte_pmd_vhost_devinit, .uninit = rte_pmd_vhost_devuninit, }; -PMD_REGISTER_DRIVER(pmd_vhost_drv); +PMD_REGISTER_DRIVER(pmd_vhost_drv, eth_vhost); +DRIVER_REGISTER_PARAM_STRING(eth_vhost, + "iface=<ifc> " + "queues=<int>"); |