[dpdk-dev] [PATCH v2 03/13] doc: add guide for ppfe net PMD
Ferruh Yigit
ferruh.yigit at intel.com
Thu Sep 26 18:56:16 CEST 2019
On 8/28/2019 12:08 PM, Gagandeep Singh wrote:
> This patch add documentation for ppfe network
> poll mode driver.
>
> PPFE is a hardware programmable packet
> forwarding engine to provide high performance
> ethernet interfaces.
>
> Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
> Acked-by: Nipun Gupta <nipun.gupta at nxp.com>
> Acked-by: Akhil Goyal <akhil.goyal at nxp.com>
<...>
> +PPFE Overview
> +~~~~~~~~~~~~~~
> +
> +PPFE is a hardware programmable packet forwarding engine to provide
> +high performance Ethernet interfaces. The diagram below shows a
> +system level overview of PPFE:
> +
> +.. code-block:: console
> +
> + ====================================================+===============
> + US +-----------------------------------------+ | Kernel Space
> + | | |
> + | PPFE Ethernet Driver | |
> + +-----------------------------------------+ |
> + ^ | ^ | |
> + PPFE RXQ| |TXQ RXQ| |TXQ |
> + PMD | | | | |
> + | v | v | +----------+
> + +---------+ +----------+ | | pfe.ko |
> + | pfe_eth0| | pfe_eth1 | | +----------+
> + +---------+ +----------+ |
> + ^ | ^ | |
> + TXQ| |RXQ TXQ| |RXQ |
> + | | | | |
> + | v | v |
> + +------------------------+ |
> + | | |
> + | PPFE HIF driver | |
> + +------------------------+ |
> + ^ | |
> + RX | TX | |
> + RING| RING| |
> + | v |
> + +--------------+ |
> + | | |
> + ==================| HIF |==================+===============
> + +-----------+ +--------------+
> + | | | | HW
> + | PPFE +--------------+ |
> + | +-----+ +-----+ |
> + | | MAC | | MAC | |
> + | | | | | |
> + +-------+-----+----------------+-----+----+
> + | PHY | | PHY |
> + +-----+ +-----+
> +
> +
> +The HIF, PPFE, MAC and PHY are the hardware blocks, the pfe.ko is a kernel
> +module, the PPFE HIF driver and the PPFE ethernet driver combined represent
> +as DPDK PPFE poll mode driver are running in the userspace.
> +
> +The PPFE hardware supports one HIF (host interface) RX ring and one TX ring
> +to send and receive packets through packet forwarding engine. Both network
> +interface traffic is multiplexed and send over HIF queue.
> +
> +pfe_eth0 and pfe_eth1 are logical ethernet interfaces, created by HIF client
Is it always fixed size logical interface, eth0 & eth1? There is following
comment in the code, is it something else:
"
/* Extracted from ls1012a_pfe_platform_data, there are 3 interfaces which are
* supported by PFE driver. Should be updated if number of eth devices are
* changed.
*/
#define PFE_CDEV_ETH_COUNT 3
"
> +driver. HIF driver is responsible for send and receive packets between
> +host interface and these logical interfaces. PPFE ethernet driver is a
> +hardware independent and register with the HIF client driver to transmit and
> +receive packets from HIF via logical interfaces.
> +
> +pfe.ko is required for PHY initialisation.
Is char device "/dev/pfe_us_cdev" created by this kernel module?
<...>
> +Driver compilation and testing
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +Follow instructions available in the document
> +:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
> +to launch **testpmd**
> +
> +Additionally, PPFE driver need `--vdev` as an input with value `eth_pfe` to execute DPDK application,
> +see the command below:
> +
> + .. code-block:: console
> +
> + <dpdk app> <EAL args> --vdev="eth_pfe0" --vdev="eth_pfe1" -- ...
Can you please document the "intf" (PPFE_VDEV_GEM_ID_ARG) device argument?
More information about the dev
mailing list