[dpdk-dev] [PATCH v1 01/42] net/txgbe: add build and doc infrastructure

Ferruh Yigit ferruh.yigit at intel.com
Wed Sep 9 19:48:42 CEST 2020


On 9/1/2020 12:50 PM, Jiawen Wu wrote:
> Adding bare minimum PMD library and doc build infrastructure and claim the maintainership for txgbe PMD.
> 
> Signed-off-by: Jiawen Wu <jiawenwu at trustnetic.com>

<...>

>  
> +Wangxun txgbe
> +M: Jiawen Wu <jiawenwu at trustnetic.com>
> +M: Jian Wang <jianwang at trustnetic.com>
> +F: drivers/net/txgbe/
> +F: doc/guides/nics/txgbe.rst
> +F: doc/guides/nics/features/txgbe.ini
> +

You can move the block above vmxnet, since with vmxnet3 paravirtual device block
starts (yes the boundries are not very clear)

<...>

> --- a/config/common_base
> +++ b/config/common_base
> @@ -389,6 +389,16 @@ CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD=n
>  CONFIG_RTE_IBVERBS_LINK_DLOPEN=n
>  CONFIG_RTE_IBVERBS_LINK_STATIC=n
>  
> +#
> +# Compile burst-oriented TXGBE PMD driver
> +#
> +CONFIG_RTE_LIBRTE_TXGBE_PMD=y
> +CONFIG_RTE_LIBRTE_TXGBE_DEBUG_RX=n
> +CONFIG_RTE_LIBRTE_TXGBE_DEBUG_TX=n
> +CONFIG_RTE_LIBRTE_TXGBE_DEBUG_TX_FREE=n
> +CONFIG_RTE_LIBRTE_TXGBE_PF_DISABLE_STRIP_CRC=n
> +CONFIG_RTE_LIBRTE_TXGBE_BYPASS=n


Make support is gone, in next version can you please drop all make build related
changes?
Also it is harder to add compile time flags with meson, better to eliminate them
as much as possible.

<...>

> +++ b/doc/guides/nics/features/txgbe.ini
> @@ -0,0 +1,52 @@
> +;
> +; Supported features of the 'txgbe' network poll mode driver.
> +;
> +; Refer to default.ini for the full list of available PMD features.
> +;
> +[Features]
> +Speed capabilities   = Y
> +Link status          = Y
> +Link status event    = Y
> +Rx interrupt         = Y
> +Queue start/stop     = Y
> +MTU update           = Y
> +Jumbo frame          = Y
> +Scattered Rx         = Y
> +LRO                  = Y
> +TSO                  = Y
> +Promiscuous mode     = Y
> +Allmulticast mode    = Y
> +Unicast MAC filter   = Y
> +Multicast MAC filter = Y
> +RSS hash             = Y
> +RSS key update       = Y
> +RSS reta update      = Y
> +DCB                  = Y
> +VLAN filter          = Y
> +Flow control         = Y
> +Flow API             = Y
> +Rate limitation      = Y
> +Traffic mirroring    = Y
> +Inline crypto        = Y
> +CRC offload          = P
> +VLAN offload         = P
> +QinQ offload         = P
> +L3 checksum offload  = P
> +L4 checksum offload  = P
> +MACsec offload       = P
> +Inner L3 checksum    = P
> +Inner L4 checksum    = P
> +Packet type parsing  = Y
> +Timesync             = Y
> +Rx descriptor status = Y
> +Tx descriptor status = Y
> +Basic stats          = Y
> +Extended stats       = Y
> +Stats per queue      = Y
> +FW version           = Y
> +EEPROM dump          = Y
> +Module EEPROM dump   = Y
> +Multiprocess aware   = Y
> +BSD nic_uio          = Y
> +Linux UIO            = Y
> +Linux VFIO           = Y

This file should be updated as the claimed featue added into the code, instead
of marking all in one go.

> diff --git a/doc/guides/nics/txgbe.rst b/doc/guides/nics/txgbe.rst
> new file mode 100644
> index 000000000..133e17bc0
> --- /dev/null
> +++ b/doc/guides/nics/txgbe.rst
> @@ -0,0 +1,67 @@
> +..  SPDX-License-Identifier: BSD-3-Clause
> +    Copyright(c) 2015-2020.
> +
> +TXGBE Poll Mode Driver
> +======================
> +
> +The TXGBE PMD (librte_pmd_txgbe) provides poll mode driver support
> +for Wangxun 10 Gigabit Ethernet NICs.

Can you please add a link to the NIC? I can see a link exists below but it is to
the general product web page, but it can be good to have details of this
sepecific NIC.

> +
> +Features
> +--------
> +
> +- Multiple queues for TX and RX
> +- Receiver Side Scaling (RSS)
> +- MAC/VLAN filtering
> +- Packet type information
> +- Checksum offload
> +- VLAN/QinQ stripping and inserting
> +- TSO offload
> +- Promiscuous mode
> +- Multicast mode
> +- Port hardware statistics
> +- Jumbo frames
> +- Link state information
> +- Link flow control
> +- Interrupt mode for RX
> +- Scattered and gather for TX and RX
> +- DCB
> +- IEEE 1588
> +- FW version
> +- LRO
> +- Generic flow API


Similar comment with the .ini file, the feature list should be build up
gradually as the code adds the mentioned feature.

> +
> +Prerequisites
> +-------------
> +
> +- Learning about Wangxun 10 Gigabit Ethernet NICs using
> +  `<https://www.net-swift.com/c/product.html>`_.

Not sure this is a prerequisite :) What do you think moving the link to "TXGBE
Poll Mode Driver" section?

> +
> +- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
> +
> +Pre-Installation Configuration
> +------------------------------
> +
> +Config File Options
> +~~~~~~~~~~~~~~~~~~~
> +
> +The following options can be modified in the ``config`` file.
> +
> +- ``CONFIG_RTE_LIBRTE_TXGBE_PMD`` (default ``y``)
> +
> +  Toggle compilation of the ``librte_pmd_txgbe`` driver.
> +
> +- ``CONFIG_RTE_LIBRTE_TXGBE_DEBUG_*`` (default ``n``)
> +
> +  Toggle display of generic debugging messages.


These also should go away since Makefile is going away.

<...>

> +++ b/drivers/net/txgbe/meson.build
> @@ -0,0 +1,9 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2015-2020
> +
> +cflags += ['-DRTE_LIBRTE_TXGBE_BYPASS']
>

Why this compile flag is required? At least it is not needed in this patch, can
you add it when it is used?

And can it be removed completely, or converted to the runtime config like device
parameter?

<...>


More information about the dev mailing list