[dpdk-dev] [PATCH v3 1/8] net/mvneta: add neta PMD skeleton
Ferruh Yigit
ferruh.yigit at intel.com
Fri Sep 14 18:23:19 CEST 2018
On 8/31/2018 1:59 PM, Andrzej Ostruszka wrote:
> From: Zyta Szpak <zr at semihalf.com>
>
> Add neta pmd driver skeleton providing base for the further
> development.
>
> Signed-off-by: Natalie Samsonov <nsamsono at marvell.com>
> Signed-off-by: Yelena Krivosheev <yelena at marvell.com>
> Signed-off-by: Dmitri Epshtein <dima at marvell.com>
> Signed-off-by: Zyta Szpak <zr at semihalf.com>
> Signed-off-by: Andrzej Ostruszka <amo at semihalf.com>
<...>
> --- /dev/null
> +++ b/doc/guides/nics/features/mvneta.ini
> @@ -0,0 +1,18 @@
> +;
> +; Supported features of the 'mvneta' network poll mode driver.
> +;
> +; Refer to default.ini for the full list of available PMD features.
> +;
> +[Features]
> +Speed capabilities = Y
> +Link status = Y
For link status feature "link_update" eth_dev_ops needs to be implemented,
please either implement it or remove feature. (I saw this done later, please
add this on relevant patch)
> +MTU update = Y
For mtu update feature "mtu_set" eth_dev_ops needs to be implemented,
please either implement it or remove feature. (I saw this done later, please
add this on relevant patch)
> +Jumbo frame = Y
> +Promiscuous mode = Y
Promiscuous mode support is not enabled. (I saw this done later, please add
this on relevant patch)
> +CRC offload = Y
> +L3 checksum offload = Y
> +L4 checksum offload = Y
Claiming L3 & L4 cksum offload also requires data path implementation to take
care mbuf.ol_flags flags. (I saw this is done in next patch, please add this
line in next patch)
Also I can see these are presented as capabilities but shouldn't this
information passed to musdk somehow? Are they always enabled?
> +Packet type parsing = Y
Similar to above, dev_supported_ptypes_get() is implemented but this also
requires data path implementation that fills mbuf->packet_type. (I saw this is
done in next patch, please add this line in next patch)
> +Basic stats = Y
Basic stats collection is not implemented in this patch. (I saw this done
later, please add this on relevant patch)
<...>
> +Usage example
> +^^^^^^^^^^^^^
> +
> +.. code-block:: console
> +
> + ./testpmd --vdev=eth_mvneta,iface=eth0,iface=eth1 \
There is a limit to number of "iface" in code, does it make sense to document it?
<...>
> +#define MVNETA_RX_OFFLOADS (DEV_RX_OFFLOAD_JUMBO_FRAME | \
> + DEV_RX_OFFLOAD_CRC_STRIP | \
CRC_STRIP flag removed in next-net
<...>
> +
> + if (!(dev->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_CRC_STRIP)) {
> + MVNETA_LOG(INFO,
> + "L2 CRC stripping is always enabled in hw");
> + dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_CRC_STRIP;
> + }
DEV_RX_OFFLOAD_CRC_STRIP is removed from next-net, you can remove it from
capabilities and remove above block.
<...>
> +
> + eth_dev->data->kdrv = RTE_KDRV_NONE;
> + eth_dev->data->dev_private = priv;
> + eth_dev->device = &vdev->device;
> +; eth_dev->dev_ops = &mvneta_ops;
extra ";" at the beginning of the line
<...>
> +RTE_PMD_REGISTER_VDEV(net_mvneta, pmd_mvneta_drv);
> +RTE_PMD_REGISTER_ALIAS(net_mvneta, eth_mvneta);
No need to provide alias for new PMDs
More information about the dev
mailing list