aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorVijay Ram Inavolu <vinavolu@marvell.com>2021-06-18 05:47:20 +0000
committerMatias Elo <matias.elo@nokia.com>2021-06-18 16:17:08 +0300
commit3a7a24023021f5959dd2f00fe83cf2635bf25c2d (patch)
tree3c097571ead7a580cd6dcd276885838f0be5e8e6 /platform
parent4f2d750161038bbb883b01b56932e850682efe24 (diff)
linux-dpdk: pktio: use names other than index also as dpdk ports
setup_pkt_dpdk() only allows netdev string to be a port number. This is to allow passing all other supported DPDK ports as well. Signed-off-by: Vijay Ram Inavolu <vinavolu@marvell.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
Diffstat (limited to 'platform')
-rw-r--r--platform/linux-dpdk/odp_packet_dpdk.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/platform/linux-dpdk/odp_packet_dpdk.c b/platform/linux-dpdk/odp_packet_dpdk.c
index 0f8a1e178..9d400d603 100644
--- a/platform/linux-dpdk/odp_packet_dpdk.c
+++ b/platform/linux-dpdk/odp_packet_dpdk.c
@@ -131,8 +131,8 @@ static inline pkt_dpdk_t *pkt_priv(pktio_entry_t *pktio_entry)
* Array must be NULL terminated */
const pktio_if_ops_t * const _odp_pktio_if_ops[] = {
&_odp_loopback_pktio_ops,
- &_odp_dpdk_pktio_ops,
&_odp_null_pktio_ops,
+ &_odp_dpdk_pktio_ops,
NULL
};
@@ -603,12 +603,16 @@ static int setup_pkt_dpdk(odp_pktio_t pktio ODP_UNUSED,
struct rte_eth_dev_info dev_info;
pkt_dpdk_t * const pkt_dpdk = pkt_priv(pktio_entry);
int i;
+ uint16_t port_id;
- if (!_dpdk_netdev_is_valid(netdev)) {
- ODP_DBG("Interface name should only contain numbers!: %s\n", netdev);
+ if (!rte_eth_dev_get_port_by_name(netdev, &port_id))
+ pkt_dpdk->port_id = port_id;
+ else if (_dpdk_netdev_is_valid(netdev))
+ pkt_dpdk->port_id = atoi(netdev);
+ else {
+ ODP_ERR("Invalid interface name!: %s\n", netdev);
return -1;
}
- pkt_dpdk->port_id = atoi(netdev);
if (!rte_eth_dev_is_valid_port(pkt_dpdk->port_id)) {
ODP_ERR("Port id=%" PRIu16 " not attached\n", pkt_dpdk->port_id);