> Subject: Re: [dpdk-dev] [PATCH v1 59/72] net/mlx5/windows: support VF PCI
> address
> 
> On Tue, Oct 27, 2020 at 11:23:22PM +0000, Ophir Munk wrote:
> > From: Tal Shnaiderman <tal...@nvidia.com>
> >
> > Support VF BDF scanning by checking both the BDF and raw BDF provided
> > by DevX. In Linux a PCI address is formatted as: domain, bus, device,
> > function (DBDF).  This is right for both a PF and a VF. In Windows a
> > PF also has a DBDF format, but the domain is always 0, while a VF has
> > a special "domain" called "Virtual PCI Bus, Serial" (for example:
> > "Virtual PCI Bus Slot 2 Serial 2") or segment.  The full VF format
> > under Windows is called raw DBF.  Windows special domain must be
> > considered and DevX must be called to support it.
> >
> > Signed-off-by: Tal Shnaiderman <tal...@nvidia.com>
> > ---
> >  drivers/net/mlx5/windows/mlx5_os.c | 67
> > ++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 64 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/mlx5/windows/mlx5_os.c
> > b/drivers/net/mlx5/windows/mlx5_os.c
> > index f9b469f..4374b05 100644
> > --- a/drivers/net/mlx5/windows/mlx5_os.c
> > +++ b/drivers/net/mlx5/windows/mlx5_os.c
> > @@ -901,6 +901,68 @@ mlx5_os_set_allmulti(struct rte_eth_dev *dev, int
> > enable)  }
> > + * @return
> > + *   1 on Device match, 0 on mismatch, rte_errno code on failure.
> > + */
> > +static int
> > +mlx5_match_devx_devices_to_addr(struct devx_device_bdf *devx_bdf,
> > +                           struct rte_pci_addr *addr)
> > +{
> > +   err = mlx5_glue->query_device(devx_bdf, &mlx5_dev);
> > +   if (err) {
> > +           DRV_LOG(ERR, "query_device failed");
> > +           rte_errno = err;
> > +           return 0;
> 
> Return rte_errno.

Actually updating rte_errno is enough in the function, but the caller need to 
check it, I'll fix in v2.

> 
> > +   }
> > +   if (mlx5_match_devx_bdf_to_addr(&mlx5_dev.raw_bdf, addr))
> > +           return 1;
> > +   return 0;
> > +}
> > +
> > --
> > 2.8.4

Reply via email to