<div dir="ltr">Ferruh, <div><br></div><div>Since in the older patch we had introduced rte_eth_dev_get_by_name patch and had been merged to dpdk-next-net, the current patch failed for the build when I submitted the patch. Is there a way to enforce it to dpdk-next-net ? <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 3, 2022 at 1:54 PM Kumara Parameshwaran <<a href="mailto:kumaraparamesh92@gmail.com" target="_blank">kumaraparamesh92@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Kumara Parameshwaran <<a href="mailto:kparameshwar@vmware.com" target="_blank">kparameshwar@vmware.com</a>><br>
<br>
Make changes in PMDs to use the new function where<br>
rte_eth_dev_get_port_by_name is used to get port_id<br>
to access rte_eth_devices<br>
<br>
Signed-off-by: Kumara Parameshwaran <<a href="mailto:kparameshwar@vmware.com" target="_blank">kparameshwar@vmware.com</a>><br>
---<br>
v1<br>
* Replace rte_eth_get_get_port_by_name in PMDs with rte_eth_dev_get_by_name<br>
  where port_id is used to retrieve rte_eth_dev data structure<br>
<br>
 drivers/net/bonding/rte_eth_bond_api.c       | 10 +++++-----<br>
 drivers/net/ipn3ke/ipn3ke_ethdev.c           |  9 +++------<br>
 drivers/net/memif/rte_eth_memif.c            |  7 ++-----<br>
 drivers/net/softnic/rte_eth_softnic_thread.c |  8 +++-----<br>
 drivers/net/tap/rte_eth_tap.c                |  7 ++-----<br>
 5 files changed, 15 insertions(+), 26 deletions(-)<br>
<br>
diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c<br>
index 8840d9e17b..b78867b125 100644<br>
--- a/drivers/net/bonding/rte_eth_bond_api.c<br>
+++ b/drivers/net/bonding/rte_eth_bond_api.c<br>
@@ -151,8 +151,8 @@ int<br>
 rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)<br>
 {<br>
        struct bond_dev_private *internals;<br>
+       struct rte_eth_dev *bond_dev;<br>
        char devargs[52];<br>
-       uint16_t port_id;<br>
        int ret;<br>
<br>
        if (name == NULL) {<br>
@@ -169,8 +169,8 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)<br>
        if (ret)<br>
                return ret;<br>
<br>
-       ret = rte_eth_dev_get_port_by_name(name, &port_id);<br>
-       RTE_ASSERT(!ret);<br>
+       bond_dev = rte_eth_dev_get_by_name(name);<br>
+       RTE_ASSERT(bond_dev);<br>
<br>
        /*<br>
         * To make bond_ethdev_configure() happy we need to free the<br>
@@ -178,11 +178,11 @@ rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)<br>
         *<br>
         * Also see comment in bond_ethdev_configure().<br>
         */<br>
-       internals = rte_eth_devices[port_id].data->dev_private;<br>
+       internals = bond_dev->data->dev_private;<br>
        rte_kvargs_free(internals->kvlist);<br>
        internals->kvlist = NULL;<br>
<br>
-       return port_id;<br>
+       return bond_dev->data->port_id;<br>
 }<br>
<br>
 int<br>
diff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.c b/drivers/net/ipn3ke/ipn3ke_ethdev.c<br>
index 014e438dd5..550a8b0466 100644<br>
--- a/drivers/net/ipn3ke/ipn3ke_ethdev.c<br>
+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.c<br>
@@ -469,7 +469,6 @@ static int ipn3ke_vswitch_probe(struct rte_afu_device *afu_dev)<br>
        struct ipn3ke_hw *hw;<br>
        struct rte_eth_dev *i40e_eth;<br>
        struct ifpga_rawdev *ifpga_dev;<br>
-       uint16_t port_id;<br>
        int i, j, retval;<br>
        char *fvl_bdf;<br>
<br>
@@ -519,14 +518,12 @@ static int ipn3ke_vswitch_probe(struct rte_afu_device *afu_dev)<br>
<br>
                for (; j < 8; j++) {<br>
                        fvl_bdf = ifpga_dev->fvl_bdf[j];<br>
-                       retval = rte_eth_dev_get_port_by_name(fvl_bdf,<br>
-                               &port_id);<br>
-                       if (retval) {<br>
+                       i40e_eth = rte_eth_dev_get_by_name(fvl_bdf);<br>
+                       if (!i40e_eth) {<br>
                                continue;<br>
                        } else {<br>
-                               i40e_eth = &rte_eth_devices[port_id];<br>
                                rpst.i40e_pf_eth = i40e_eth;<br>
-                               rpst.i40e_pf_eth_port_id = port_id;<br>
+                               rpst.i40e_pf_eth_port_id = i40e_eth->data->port_id;<br>
<br>
                                j++;<br>
                                break;<br>
diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c<br>
index d3459c5007..5700c6a2bf 100644<br>
--- a/drivers/net/memif/rte_eth_memif.c<br>
+++ b/drivers/net/memif/rte_eth_memif.c<br>
@@ -88,17 +88,14 @@ memif_mp_send_region(const struct rte_mp_msg *msg, const void *peer)<br>
        const struct mp_region_msg *msg_param = (const struct mp_region_msg *)msg->param;<br>
        struct rte_mp_msg reply;<br>
        struct mp_region_msg *reply_param = (struct mp_region_msg *)reply.param;<br>
-       uint16_t port_id;<br>
-       int ret;<br>
<br>
        /* Get requested port */<br>
-       ret = rte_eth_dev_get_port_by_name(msg_param->port_name, &port_id);<br>
-       if (ret) {<br>
+       dev = rte_eth_dev_get_by_name(msg_param->port_name);<br>
+       if (!dev) {<br>
                MIF_LOG(ERR, "Failed to get port id for %s",<br>
                        msg_param->port_name);<br>
                return -1;<br>
        }<br>
-       dev = &rte_eth_devices[port_id];<br>
        proc_private = dev->process_private;<br>
<br>
        memset(&reply, 0, sizeof(reply));<br>
diff --git a/drivers/net/softnic/rte_eth_softnic_thread.c b/drivers/net/softnic/rte_eth_softnic_thread.c<br>
index a8c26a5b23..4a9f2fa6a4 100644<br>
--- a/drivers/net/softnic/rte_eth_softnic_thread.c<br>
+++ b/drivers/net/softnic/rte_eth_softnic_thread.c<br>
@@ -129,14 +129,12 @@ thread_sc_service_up(struct pmd_internals *softnic, uint32_t thread_id)<br>
        struct softnic_thread *t = &softnic->thread[thread_id];<br>
        struct rte_eth_dev *dev;<br>
        int status;<br>
-       uint16_t port_id;<br>
<br>
        /* service params */<br>
-       status = rte_eth_dev_get_port_by_name(softnic-><a href="http://params.name" rel="noreferrer" target="_blank">params.name</a>, &port_id);<br>
-       if (status)<br>
-               return status;<br>
+       dev = rte_eth_dev_get_by_name(softnic-><a href="http://params.name" rel="noreferrer" target="_blank">params.name</a>);<br>
+       if (!dev)<br>
+               return -EINVAL;<br>
<br>
-       dev = &rte_eth_devices[port_id];<br>
        snprintf(<a href="http://service_params.name" rel="noreferrer" target="_blank">service_params.name</a>, sizeof(<a href="http://service_params.name" rel="noreferrer" target="_blank">service_params.name</a>), "%s_%u",<br>
                softnic-><a href="http://params.name" rel="noreferrer" target="_blank">params.name</a>,<br>
                thread_id);<br>
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c<br>
index 111037de65..bc3d56a311 100644<br>
--- a/drivers/net/tap/rte_eth_tap.c<br>
+++ b/drivers/net/tap/rte_eth_tap.c<br>
@@ -2428,19 +2428,16 @@ tap_mp_sync_queues(const struct rte_mp_msg *request, const void *peer)<br>
                (const struct ipc_queues *)request->param;<br>
        struct ipc_queues *reply_param =<br>
                (struct ipc_queues *)reply.param;<br>
-       uint16_t port_id;<br>
        int queue;<br>
-       int ret;<br>
<br>
        /* Get requested port */<br>
        TAP_LOG(DEBUG, "Received IPC request for %s", request_param->port_name);<br>
-       ret = rte_eth_dev_get_port_by_name(request_param->port_name, &port_id);<br>
-       if (ret) {<br>
+       dev = rte_eth_dev_get_by_name(request_param->port_name);<br>
+       if (!dev) {<br>
                TAP_LOG(ERR, "Failed to get port id for %s",<br>
                        request_param->port_name);<br>
                return -1;<br>
        }<br>
-       dev = &rte_eth_devices[port_id];<br>
        process_private = dev->process_private;<br>
<br>
        /* Fill file descriptors for all queues */<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>