Re: [PATCH] net/ixgbe: clean up rte_eth_dev_info_get
From: Ananyev, Konstantin <hidden>
Date: 2017-02-01 18:10:03
-----Original Message----- From: Yigit, Ferruh Sent: Wednesday, February 1, 2017 5:40 PM To: Ananyev, Konstantin <redacted>; Lu, Wenzhuo <redacted>; dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: clean up rte_eth_dev_info_get On 2/1/2017 4:24 PM, Ananyev, Konstantin wrote:quoted
Hi Wenzhuo,quoted
-----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wenzhuo Lu Sent: Wednesday, January 25, 2017 2:39 AM To: dev@dpdk.org Cc: Lu, Wenzhuo <redacted> Subject: [dpdk-dev] [PATCH] net/ixgbe: clean up rte_eth_dev_info_get It'not appropriate to call rte_eth_dev_info_get in PMD, as rte_eth_dev_info_get need to get info from PMD. Remove rte_eth_dev_info_get from PMD code and get the info directly. Signed-off-by: Wenzhuo Lu <redacted> --- drivers/net/ixgbe/ixgbe_ethdev.c | 144 ++++++++++++++++++--------------------- 1 file changed, 68 insertions(+), 76 deletions(-)diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 64ce55a..f14a68b 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c@@ -4401,17 +4401,17 @@ static int ixgbevf_dev_xstats_get_names(__rte_unused struct rte_eth_dev *dev, int rar_entry; uint8_t *new_mac = (uint8_t *)(mac_addr); struct rte_eth_dev *dev; - struct rte_eth_dev_info dev_info; + struct rte_pci_device *pci_dev; RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV); dev = &rte_eth_devices[port]; - rte_eth_dev_info_get(port, &dev_info); + pci_dev = IXGBE_DEV_TO_PCI(dev); - if (is_ixgbe_pmd(dev_info.driver_name) != 0) + if (is_ixgbe_pmd(dev->data->drv_name)) return -ENOTSUP;I wonder why do we need now that it is really an ixgbe device all over the place?This device specific API, so it is missing merits of abstraction layer, application can these APIs with any port_id, API should be protected for it.
Ah ok, my bad - didn't realize from the patch that it affects only device specific API :) Would It be too much hassle to move these functions into a separate file (rte_ixgbe_pmd.c or so)? Konstantin
quoted
Konstantin