Hi Ferruh, Yes, all the command need PCI BDF as identifier of FPGA, because Cyborg use PCI BDF to call these APIs, Cyborg does not see any DPDK data structures. That's why I add a group of middle layer functions in ifpga_opae_api.c to isolate Cyborg from DPDK.
Thanks, Wei -----Original Message----- From: Ferruh Yigit <ferruh.yi...@intel.com> Sent: Friday, January 22, 2021 00:49 To: Huang, Wei <wei.hu...@intel.com>; dev@dpdk.org; Xu, Rosen <rosen...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com> Cc: sta...@dpdk.org; Zhang, Tianfei <tianfei.zh...@intel.com> Subject: Re: [dpdk-stable] [PATCH v11 4/4] examples/ifpga: add example for opae ifpga API On 1/21/2021 6:03 AM, Wei Huang wrote: > +get_property command > +~~~~~~~~~~~~~~~~~~~~ > + > +Display property information of specified FPGA. Property type is defined as > below. > +0 - All properties > +1 - PCI property > +2 - FME property > +4 - port property > +8 - BMC property > +PCI property is always available, other properties can only be > +displayed after ifpga driver is probed to the FPGA. > + > +.. code-block:: console > + > + opae> get_property 24:00.0 0 > + PCI: > + PCIe s:b:d.f : 0000:24:00.0 > + kernel driver : vfio-pci > + FME: > + platform : Vista Creek > + DCP version : DCP 1.2 > + phase : Beta > + interface : 2x2x25G > + build version : 0.0.2 > + ports num : 1 > + boot page : user > + pr interface id : a5d72a3c-c8b0-4939-912c-f715e5dc10ca > + PORT0: > + access type : PF > + accelerator id : 8892c23e-2eed-4b44-8bb6-5c88606e07df > + BMC: > + MAX10 version : D.2.0.5 > + NIOS FW version : D.2.0.12 Are all commands interacting device need to provide the PCI BDF as parameter to select the device? Like '24:00.0' in above sample. Why not get the unique rawdev identifier, like port_id equivalent of the ethdev, and use it in the command line, won't it be easier?