From: Tetsuya Mukawa <mukawa@igel.co.jp>
To: Ravi Kerur <rkerur@gmail.com>,
dev@dpdk.org, Thomas Monjalon <thomas.monjalon@6wind.com>
Subject: Re: [PATCH v1] Change rte_eal_vdev_init to update port_id
Date: Fri, 07 Aug 2015 11:25:57 +0900 [thread overview]
Message-ID: <55C41735.1030405@igel.co.jp> (raw)
In-Reply-To: <1438884241-15599-1-git-send-email-rkerur@gmail.com>
On 2015/08/07 3:04, Ravi Kerur wrote:
> diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
> index 8280cea..472ef5a 100644
> --- a/drivers/net/enic/enic_ethdev.c
> +++ b/drivers/net/enic/enic_ethdev.c
> @@ -36,8 +36,8 @@
> #include <stdio.h>
> #include <stdint.h>
>
> -#include <rte_dev.h>
> #include <rte_pci.h>
> +#include <rte_dev.h>
> #include <rte_ethdev.h>
> #include <rte_string_fns.h>
Hi Ravi,
Do we need this fixing?
>
> diff --git a/drivers/net/mpipe/mpipe_tilegx.c b/drivers/net/mpipe/mpipe_tilegx.c
> index 743feef..6e3e304 100644
> --- a/drivers/net/mpipe/mpipe_tilegx.c
> +++ b/drivers/net/mpipe/mpipe_tilegx.c
> @@ -1582,6 +1582,7 @@ rte_pmd_mpipe_devinit(const char *ifname,
> if (!eth_dev) {
> RTE_LOG(ERR, PMD, "%s: Failed to allocate device.\n", ifname);
> rte_free(priv);
> + return -ENOMEM;
How about separating this fixing from the patch, and put it as an one of
cleanup patch series?
> }
>
> RTE_LOG(INFO, PMD, "%s: Initialized mpipe device"
> diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
> index 4089d66..82d5693 100644
> --- a/lib/librte_eal/common/eal_common_dev.c
> +++ b/lib/librte_eal/common/eal_common_dev.c
>
> RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
> @@ -94,6 +99,7 @@ rte_eal_dev_init(void)
> {
> struct rte_devargs *devargs;
> struct rte_driver *driver;
> + uint8_t port_id;
>
> /*
> * Note that the dev_driver_list is populated here
> @@ -108,7 +114,7 @@ rte_eal_dev_init(void)
> continue;
>
> if (rte_eal_vdev_init(devargs->virtual.drv_name,
> - devargs->args)) {
> + devargs->args, &port_id)) {
After this line, 'port_id' is actually not used by anywhere in this
function.
Also, I guess we will not use port_id in this function in the future.
How about fixing rte_eal_vdev_init() to handle NULL value correctly to
remove port_id from this function?
But I agree your current implementation is also one of choice.
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index 5fe1906..355d709 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> +int
> +rte_eth_dev_get_port_by_addr(const struct rte_pci_addr *addr, uint8_t *port_id)
> +{
> + int i;
> + struct rte_pci_device *pci_dev = NULL;
> +
> + if (addr == NULL || port_id == NULL) {
> + PMD_DEBUG_TRACE("Null pointer is specified\n");
> + return -EINVAL;
> + }
> +
> + *port_id = RTE_MAX_ETHPORTS;
> +
> + for (i = 0; i < RTE_MAX_ETHPORTS; i++) {
> +
> + pci_dev = rte_eth_devices[i].pci_dev;
> +
> + if (pci_dev != NULL &&
> + pci_dev->addr.domain == addr->domain &&
> + pci_dev->addr.bus == addr->bus &&
> + pci_dev->addr.devid == addr->devid &&
> + pci_dev->addr.function == addr->function) {
You can use rte_eal_compare_pci_addr() here.
> +
> + *port_id = i;
> + return 0;
> + }
> + }
> + return -ENODEV;
> +}
> diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
> index 8345a6c..3d5cb23 100644
> --- a/lib/librte_ether/rte_ether_version.map
> +++ b/lib/librte_ether/rte_ether_version.map
> @@ -125,5 +125,7 @@ DPDK_2.1 {
> rte_eth_timesync_enable;
> rte_eth_timesync_read_rx_timestamp;
> rte_eth_timesync_read_tx_timestamp;
> + rte_eth_dev_get_port_by_name;
> + rte_eth_dev_get_port_by_addr;
>
> } DPDK_2.0;
Hi Thomas,
Could you please make sure API consistency?
Is it ok to add above functions to DPDK_2.1 even though we are in RC
phase, or need to add to DPDK_2.2?
Thanks,
Tetsuya
next prev parent reply other threads:[~2015-08-07 2:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-06 18:04 [PATCH v1] Change rte_eal_vdev_init to update port_id Ravi Kerur
2015-08-07 2:25 ` Tetsuya Mukawa [this message]
2015-08-07 22:06 ` Ravi Kerur
2015-08-09 9:21 ` Thomas Monjalon
2015-08-10 5:31 ` Tetsuya Mukawa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55C41735.1030405@igel.co.jp \
--to=mukawa@igel.co.jp \
--cc=dev@dpdk.org \
--cc=rkerur@gmail.com \
--cc=thomas.monjalon@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.