git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/ena/base: fix types for printing timestamps
[dpdk.git]
/
drivers
/
net
/
kni
/
rte_eth_kni.c
diff --git
a/drivers/net/kni/rte_eth_kni.c
b/drivers/net/kni/rte_eth_kni.c
index
38a3bd5
..
d88cb17
100644
(file)
--- a/
drivers/net/kni/rte_eth_kni.c
+++ b/
drivers/net/kni/rte_eth_kni.c
@@
-156,6
+156,8
@@
eth_kni_dev_start(struct rte_eth_dev *dev)
}
if (internals->no_request_thread == 0) {
}
if (internals->no_request_thread == 0) {
+ internals->stop_thread = 0;
+
ret = rte_ctrl_thread_create(&internals->thread,
"kni_handle_req", NULL,
kni_handle_request, internals);
ret = rte_ctrl_thread_create(&internals->thread,
"kni_handle_req", NULL,
kni_handle_request, internals);
@@
-177,7
+179,7
@@
eth_kni_dev_stop(struct rte_eth_dev *dev)
struct pmd_internals *internals = dev->data->dev_private;
int ret;
struct pmd_internals *internals = dev->data->dev_private;
int ret;
- if (internals->no_request_thread == 0) {
+ if (internals->no_request_thread == 0
&& internals->stop_thread == 0
) {
internals->stop_thread = 1;
ret = pthread_cancel(internals->thread);
internals->stop_thread = 1;
ret = pthread_cancel(internals->thread);
@@
-187,8
+189,6
@@
eth_kni_dev_stop(struct rte_eth_dev *dev)
ret = pthread_join(internals->thread, NULL);
if (ret)
PMD_LOG(ERR, "Can't join the thread");
ret = pthread_join(internals->thread, NULL);
if (ret)
PMD_LOG(ERR, "Can't join the thread");
-
- internals->stop_thread = 0;
}
dev->data->dev_link.link_status = 0;
}
dev->data->dev_link.link_status = 0;
@@
-318,7
+318,7
@@
eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
return 0;
}
return 0;
}
-static
void
+static
int
eth_kni_stats_reset(struct rte_eth_dev *dev)
{
struct rte_eth_dev_data *data = dev->data;
eth_kni_stats_reset(struct rte_eth_dev *dev)
{
struct rte_eth_dev_data *data = dev->data;
@@
-335,6
+335,8
@@
eth_kni_stats_reset(struct rte_eth_dev *dev)
q->tx.pkts = 0;
q->tx.bytes = 0;
}
q->tx.pkts = 0;
q->tx.bytes = 0;
}
+
+ return 0;
}
static const struct eth_dev_ops eth_kni_ops = {
}
static const struct eth_dev_ops eth_kni_ops = {
@@
-375,6
+377,8
@@
eth_kni_create(struct rte_vdev_device *vdev,
data->nb_tx_queues = 1;
data->dev_link = pmd_link;
data->mac_addrs = &internals->eth_addr;
data->nb_tx_queues = 1;
data->dev_link = pmd_link;
data->mac_addrs = &internals->eth_addr;
+ data->promiscuous = 1;
+ data->all_multicast = 1;
data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE;
data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE;