> -----Original Message-----
> From: Andrew Rybchenko <[email protected]>
> Sent: Wednesday, September 1, 2021 12:06 AM
> To: Ajit Khaparde <[email protected]>; Somnath Kotur
> <[email protected]>; Daley, John <[email protected]>;
> Hyong Youb Kim <[email protected]>; Xing, Beilei <[email protected]>;
> Yang, Qiming <[email protected]>; Zhang, Qi Z <[email protected]>;
> Wang, Haiyue <[email protected]>; Matan Azrad
> <[email protected]>; Shahaf Shuler <[email protected]>; Viacheslav
> Ovsiienko <[email protected]>; Thomas Monjalon
> <[email protected]>; Yigit, Ferruh <[email protected]>
> Cc: [email protected]; Viacheslav Galaktionov
> <[email protected]>
> Subject: [PATCH v4] ethdev: fix representor port ID search by name
>
> From: Viacheslav Galaktionov <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Andrew Rybchenko <[email protected]>
> ---
> 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?
>
> 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 i40e part,
Acked-by: Beilei Xing <[email protected]>