X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fnfp.rst;h=bf8be723b06dd7e03d9b7b10b4e220ea159d84b6;hb=00242a687de6;hp=5f2a0698f6a8ae86e557bc5351429ab6b36588a9;hpb=6c8b3328438ed323dd552de4538fa6ac60f777ad;p=dpdk.git diff --git a/doc/guides/nics/nfp.rst b/doc/guides/nics/nfp.rst index 5f2a0698f6..bf8be723b0 100644 --- a/doc/guides/nics/nfp.rst +++ b/doc/guides/nics/nfp.rst @@ -49,10 +49,6 @@ compile it along with other DPDK PMDs even if no BSP was installed previously. Of course, a DPDK app will require such a BSP installed for using the NFP PMD, along with a specific NFP firmware application. -Default PMD configuration is at the **common_linux configuration** file: - -- **CONFIG_RTE_LIBRTE_NFP_PMD=y** - Once the DPDK is built all the DPDK apps and examples include support for the NFP PMD. @@ -102,22 +98,39 @@ directory per firmware application. Options 1 and 2 for firmware filenames allow more than one SmartNIC, same type of SmartNIC or different ones, and to upload a different firmware to each SmartNIC. + .. Note:: + Currently the NFP PMD supports using the PF with Agilio Basic Firmware. See + https://help.netronome.com/support/solutions for more information on the + various firmwares supported by the Netronome Agilio CX smartNIC. PF multiport support -------------------- -Some NFP cards support several physical ports with just one single PCI device. -The DPDK core is designed with a 1:1 relationship between PCI devices and DPDK -ports, so NFP PMD PF support requires handling the multiport case specifically. -During NFP PF initialization, the PMD will extract the information about the -number of PF ports from the firmware and will create as many DPDK ports as -needed. +The NFP PMD can work with up to 8 ports on the same PF device. The number of +available ports is firmware and hardware dependent, and the driver looks for a +firmware symbol during initialization to know how many can be used. + +DPDK apps work with ports, and a port is usually a PF or a VF PCI device. +However, with the NFP PF multiport there is just one PF PCI device. Supporting +this particular configuration requires the PMD to create ports in a special way, +although once they are created, DPDK apps should be able to use them as normal +PCI ports. + +NFP ports belonging to same PF can be seen inside PMD initialization with a +suffix added to the PCI ID: wwww:xx:yy.z_portn. For example, a PF with PCI ID +0000:03:00.0 and four ports is seen by the PMD code as: + + .. code-block:: console + + 0000:03:00.0_port0 + 0000:03:00.0_port1 + 0000:03:00.0_port2 + 0000:03:00.0_port3 -Because the unusual relationship between a single PCI device and several DPDK -ports, there are some limitations when using more than one PF DPDK port: there -is no support for RX interrupts and it is not possible either to use those PF -ports with the device hotplug functionality. + .. Note:: + There are some limitations with multiport support: RX interrupts and + device hot-plugging are not supported. PF multiprocess support -----------------------