> -----Original Message-----
> From: Andrew Rybchenko <[email protected]>
> Sent: Wednesday, September 1, 2021 00:06
> 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?

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 <[email protected]>

> --
> 2.30.2

Reply via email to