X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fkni%2Frte_eth_kni.c;h=0532de53150420816c4e16e9757517993765d7ca;hb=bf1bc993eab153ffc488c435ad007bd827b7cd37;hp=f544d54771d7e3ac6297b16b2334b4010d9ee51b;hpb=62024eb8275696bead35b38a6062a2513f1f7c58;p=dpdk.git diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c index f544d54771..0532de5315 100644 --- a/drivers/net/kni/rte_eth_kni.c +++ b/drivers/net/kni/rte_eth_kni.c @@ -7,8 +7,8 @@ #include #include -#include -#include +#include +#include #include #include #include @@ -61,14 +61,14 @@ struct pmd_internals { }; static const struct rte_eth_link pmd_link = { - .link_speed = ETH_SPEED_NUM_10G, - .link_duplex = ETH_LINK_FULL_DUPLEX, - .link_status = ETH_LINK_DOWN, - .link_autoneg = ETH_LINK_FIXED, + .link_speed = RTE_ETH_SPEED_NUM_10G, + .link_duplex = RTE_ETH_LINK_FULL_DUPLEX, + .link_status = RTE_ETH_LINK_DOWN, + .link_autoneg = RTE_ETH_LINK_FIXED, }; static int is_kni_initialized; -RTE_LOG_REGISTER(eth_kni_logtype, pmd.net.kni, NOTICE); +RTE_LOG_REGISTER_DEFAULT(eth_kni_logtype, NOTICE); #define PMD_LOG(level, fmt, args...) \ rte_log(RTE_LOG_ ## level, eth_kni_logtype, \ @@ -124,7 +124,7 @@ eth_kni_start(struct rte_eth_dev *dev) struct pmd_internals *internals = dev->data->dev_private; uint16_t port_id = dev->data->port_id; struct rte_mempool *mb_pool; - struct rte_kni_conf conf; + struct rte_kni_conf conf = {{0}}; const char *name = dev->device->name + 4; /* remove net_ */ mb_pool = internals->rx_queues[0].mb_pool; @@ -211,6 +211,9 @@ eth_kni_close(struct rte_eth_dev *eth_dev) return 0; ret = eth_kni_dev_stop(eth_dev); + if (ret) + PMD_LOG(WARNING, "Not able to stop kni for %s", + eth_dev->data->name); /* mac_addrs must not be freed alone because part of dev_private */ eth_dev->data->mac_addrs = NULL; @@ -281,11 +284,6 @@ eth_kni_tx_queue_setup(struct rte_eth_dev *dev, return 0; } -static void -eth_kni_queue_release(void *q __rte_unused) -{ -} - static int eth_kni_link_update(struct rte_eth_dev *dev __rte_unused, int wait_to_complete __rte_unused) @@ -359,8 +357,6 @@ static const struct eth_dev_ops eth_kni_ops = { .dev_infos_get = eth_kni_dev_info, .rx_queue_setup = eth_kni_rx_queue_setup, .tx_queue_setup = eth_kni_tx_queue_setup, - .rx_queue_release = eth_kni_queue_release, - .tx_queue_release = eth_kni_queue_release, .link_update = eth_kni_link_update, .stats_get = eth_kni_stats_get, .stats_reset = eth_kni_stats_reset, @@ -392,6 +388,7 @@ eth_kni_create(struct rte_vdev_device *vdev, data->mac_addrs = &internals->eth_addr; data->promiscuous = 1; data->all_multicast = 1; + data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS; rte_eth_random_addr(internals->eth_addr.addr_bytes); @@ -405,8 +402,13 @@ eth_kni_create(struct rte_vdev_device *vdev, static int kni_init(void) { - if (is_kni_initialized == 0) - rte_kni_init(MAX_KNI_PORTS); + int ret; + + if (is_kni_initialized == 0) { + ret = rte_kni_init(MAX_KNI_PORTS); + if (ret < 0) + return ret; + } is_kni_initialized++;