Thread (43 messages) 43 messages, 9 authors, 2021-10-12

Re: [dpdk-dev] [PATCH v4] ethdev: fix representor port ID search by name

From: Wang, Haiyue <hidden>
Date: 2021-08-31 16:32:15

-----Original Message-----
From: Andrew Rybchenko <redacted>
Sent: Wednesday, September 1, 2021 00:06
To: Ajit Khaparde <ajit.khaparde@broadcom.com>; Somnath Kotur <redacted>; Daley,
John [off-list ref]; Hyong Youb Kim [off-list ref]; Xing, Beilei [off-list ref];
Yang, Qiming [off-list ref]; Zhang, Qi Z [off-list ref]; Wang, Haiyue
[off-list ref]; Matan Azrad [off-list ref]; Shahaf Shuler [off-list ref];
Viacheslav Ovsiienko [off-list ref]; Thomas Monjalon [off-list ref]; Yigit, Ferruh
[off-list ref]
Cc: dev@dpdk.org; Viacheslav Galaktionov <redacted>
Subject: [PATCH v4] ethdev: fix representor port ID search by name

From: Viacheslav Galaktionov <redacted>

Getting a list of representors from a representor does not make sense.
Instead, a parent device should be used.

To this end, extend the rte_eth_dev_data structure to include the port ID
of the backing device for representors.

Signed-off-by: Viacheslav Galaktionov <redacted>
Signed-off-by: Andrew Rybchenko <redacted>
---
The new field is added into the hole in rte_eth_dev_data structure.
The patch does not change ABI, but extra care is required since ABI
check is disabled for the structure because of the libabigail bug [1].

Potentially it is bad for out-of-tree drivers which implement
representors but do not fill in a new parert_port_id field in
rte_eth_dev_data structure. Do we care?
Set the `parent_port_id` to ' RTE_MAX_ETHPORTS' as an invalid port ID
in rte_eth_dev_allocate ?
mlx5 changes should be reviwed by maintainers very carefully, since
we are not sure if we patch it correctly.

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=28060

v4:
    - apply mlx5 review notes: remove fallback from generic ethdev
      code and add fallback to mlx5 code to handle legacy usecase

v3:
    - fix mlx5 build breakage

v2:
    - fix mlx5 review notes
    - try device port ID first before parent in order to address
      backward compatibility issue

 drivers/net/bnxt/bnxt_reps.c             |  1 +
 drivers/net/enic/enic_vf_representor.c   |  1 +
 drivers/net/i40e/i40e_vf_representor.c   |  1 +
 drivers/net/ice/ice_dcf_vf_representor.c |  1 +
 drivers/net/ixgbe/ixgbe_vf_representor.c |  1 +
 drivers/net/mlx5/linux/mlx5_os.c         | 13 +++++++++++++
 drivers/net/mlx5/windows/mlx5_os.c       | 13 +++++++++++++
 lib/ethdev/ethdev_driver.h               |  6 +++---
 lib/ethdev/rte_class_eth.c               |  2 +-
 lib/ethdev/rte_ethdev.c                  |  8 ++++----
 lib/ethdev/rte_ethdev_core.h             |  6 ++++++
 11 files changed, 45 insertions(+), 8 deletions(-)
For ixgbe_vf, ice_dcf

Acked-by: Haiyue Wang <redacted>
--
2.30.2
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help