> -----Original Message----- > From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > Sent: Wednesday, September 1, 2021 00:06 > To: Ajit Khaparde <ajit.khapa...@broadcom.com>; Somnath Kotur > <somnath.ko...@broadcom.com>; Daley, > John <johnd...@cisco.com>; Hyong Youb Kim <hyon...@cisco.com>; Xing, Beilei > <beilei.x...@intel.com>; > Yang, Qiming <qiming.y...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>; > Wang, Haiyue > <haiyue.w...@intel.com>; Matan Azrad <ma...@nvidia.com>; Shahaf Shuler > <shah...@nvidia.com>; > Viacheslav Ovsiienko <viachesl...@nvidia.com>; Thomas Monjalon > <tho...@monjalon.net>; Yigit, Ferruh > <ferruh.yi...@intel.com> > Cc: dev@dpdk.org; Viacheslav Galaktionov <viacheslav.galaktio...@oktetlabs.ru> > Subject: [PATCH v4] ethdev: fix representor port ID search by name > > From: Viacheslav Galaktionov <viacheslav.galaktio...@oktetlabs.ru> > > 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 <viacheslav.galaktio...@oktetlabs.ru> > Signed-off-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > --- > 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 <haiyue.w...@intel.com> > -- > 2.30.2