summaryrefslogtreecommitdiff
path: root/doc/guides/nics
AgeCommit message (Collapse)Author
2 daysdoc/guides: clean repeated wordsDavid Marchand
Shoot repeated words in all our guides. Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Kevin Traynor <ktraynor@redhat.com>
6 daysnet/mlx5: set maximum LRO packet sizeDekel Peled
This patch implements use of the API for LRO aggregated packet max size. Rx queue create is updated to use the relevant configuration. Documentation is updated accordingly. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
6 daysethdev: add maximum LRO packet sizeDekel Peled
This patch implements API for configuration and validation of max size for LRO aggregated packet. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Matan Azrad <matan@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 daysethdev: add mbuf RSS update as an offloadPavan Nikhilesh
Add new Rx offload flag `DEV_RX_OFFLOAD_RSS_HASH` which can be used to enable/disable PMDs write to `rte_mbuf::hash::rss`. PMDs notify the validity of `rte_mbuf::hash:rss` to the application by enabling `PKT_RX_RSS_HASH ` flag in `rte_mbuf::ol_flags`. Also update testpmd rx_offload command to include RSS_HASH Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 daysethdev: add packet type range functionPavan Nikhilesh
Add `rte_eth_dev_set_ptypes` function that will allow the application to inform the PMD about reduced range of packet types to handle. Based on the ptypes set PMDs can optimize their Rx path. -If application doesn’t want any ptype information it can call `rte_eth_dev_set_ptypes(ethdev_id, RTE_PTYPE_UNKNOWN, NULL, 0)` and PMD may skip packet type processing and set rte_mbuf::packet_type to RTE_PTYPE_UNKNOWN. -If application doesn’t call `rte_eth_dev_set_ptypes` PMD can return `rte_mbuf::packet_type` with `rte_eth_dev_get_supported_ptypes`. -If application is interested only in L2/L3 layer, it can inform the PMD to update `rte_mbuf::packet_type` with L2/L3 ptype by calling `rte_eth_dev_set_ptypes(ethdev_id, RTE_PTYPE_L2_MASK | RTE_PTYPE_L3_MASK, NULL, 0)`. Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
6 daysnet/ice: optimize protocol extraction by dynamic mbufHaiyue Wang
The original design is to use rte_mbuf::udata64 to save the metadata of protocol extraction which has network protocol data fields and type, a private API is used to decode this metadata. Use the dynamic mbuf field and flags to register the needed fields in mbuf, to avoid overwriting 'rte_mbuf::udata64', since the application may use it. Now the protocol extraction metadate is saved into dynamic mbuf field with 4B size, and its type and validity is indicated by the related dynamic mbuf flags in 'rte_mbuf::ol_flags'. Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
6 daysnet/mlx5: control transmit doorbell register mappingViacheslav Ovsiienko
The rdma core library can map doorbell register in two ways, depending on the environment variable "MLX5_SHUT_UP_BF": - as regular cached memory, the variable is either missing or set to zero. This type of mapping may cause the significant doorbell register writing latency and requires explicit memory write barrier to mitigate this issue and prevent write combining. - as non-cached memory, the variable is present and set to not "0" value. This type of mapping may cause performance impact under heavy loading conditions but the explicit write memory barrier is not required and it may improve core performance. The new devarg is introduced "tx_db_nc", if this parameter is set to zero, the doorbell register is forced to be mapped to cached memory and requires explicit memory barrier after writing to. If "tx_db_nc" is set to non-zero value the doorbell will be mapped as non-cached memory, not requiring the memory barrier. If "tx_db_nc" is missing the behaviour will be defined by presence of "MLX5_SHUT_UP_BF" in environment. If variable is missed the default value zero will be set for ARM64 hosts and one for others. In run time the code checks the mapping type and provides the memory barrier after writing to tx doorbell register if it is needed. The mapping type is extracted directly from the uar_mmap_offset field in the queue properties. Fixes: 18a1c20044c0 ("net/mlx5: implement Tx burst template") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
6 daysnet/mlx5: add devarg for extensive metadata supportViacheslav Ovsiienko
The PMD parameter dv_xmeta_en is added to control extensive metadata support. A nonzero value enables extensive flow metadata support if device is capable and driver supports it. This can enable extensive support of MARK and META item of rte_flow. The newly introduced SET_TAG and SET_META actions do not depend on dv_xmeta_en parameter, because there is no compatibility issue for new entities. The dv_xmeta_en is disabled by default. There are some possible configurations, depending on parameter value: - 0, this is default value, defines the legacy mode, the MARK and META related actions and items operate only within NIC Tx and NIC Rx steering domains, no MARK and META information crosses the domain boundaries. The MARK item is 24 bits wide, the META item is 32 bits wide. - 1, this engages extensive metadata mode, the MARK and META related actions and items operate within all supported steering domains, including FDB, MARK and META information may cross the domain boundaries. The ``MARK`` item is 24 bits wide, the META item width depends on kernel and firmware configurations and might be 0, 16 or 32 bits. Within NIC Tx domain META data width is 32 bits for compatibility, the actual width of data transferred to the FDB domain depends on kernel configuration and may be vary. The actual supported width can be retrieved in runtime by series of rte_flow_validate() trials. - 2, this engages extensive metadata mode, the MARK and META related actions and items operate within all supported steering domains, including FDB, MARK and META information may cross the domain boundaries. The META item is 32 bits wide, the MARK item width depends on kernel and firmware configurations and might be 0, 16 or 24 bits. The actual supported width can be retrieved in runtime by series of rte_flow_validate() trials. If there is no E-Switch configuration the ``dv_xmeta_en`` parameter is ignored and the device is configured to operate in legacy mode (0). Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
9 daysnet/mlx5: add ConnectX6-DX device IDRaslan Darawsheh
This adds new device id to the list of Mellanox devices that runs mlx5 PMD. - ConnectX-6DX device ID - ConnectX-6DX SRIOV device ID Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
9 daysnet/octeontx2: support SDP interfaceSubrahmanyam Nilla
System DPI Packet Interface Unit (SDP) is a co-processor of OCTEON TX2 which provides PCIe endpoint support for a remote host to DMA packets into and out of the OCTEON TX2 SoC. SDP interface comes in to live only when it is connected in EP mode. It exposes input and output queue pairs to remote host for instruction input and packet output. It can be used as a communication channel between remote host and OCTEON TX2. Host machine needs to use corresponding user/kernel mode driver to communicate with SDP interface on OCTEON TX2 SoC. SDP interface support is limited to SDP PF device now. No SDP VF support. Signed-off-by: Subrahmanyam Nilla <snilla@marvell.com> Signed-off-by: Venkateshwarlu Nalla <venkatn@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
9 daysdoc: remove unsupported feature from hinicXiaoyun Wang
This patch removes feature "Free Tx mbuf" on demand from hinic.ini because pmd driver does not support this feature. Fixes: 1d09792a270a ("net/hinic: add build and doc files") Cc: stable@dpdk.org Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
9 daysdoc: remove flow director feature from hinicXiaoyun Wang
This patch removes deprecated feature Flow Director from hinic.ini, hinic.rst and release_19_11.rst, because the feature has been removed from the feature list in the following commit: Commit 030febb6642c ("doc: remove deprecated ethdev features"), and adds Flow API feature which is for generic filtering to doc files. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
9 daysethdev: enhance burst mode information APIHaiyue Wang
Change the type of burst mode information from bit field to free string data, so that each PMD can describe the Rx/Tx busrt functions flexibly. Fixes: eb5902504a13 ("ethdev: add API for getting burst mode information") Fixes: 6b6609f68ccd ("net/i40e: support Rx/Tx burst mode info") Fixes: e9a10e6c2102 ("net/ice: support Rx/Tx burst mode info") Fixes: 7fe108edcf53 ("app/testpmd: show Rx/Tx burst mode description") Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Ray Kinsella <ray.kinsella@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
9 daysdoc: replace license text with SPDX tag for nfpHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Alejandro Lucero <alejandro.lucero@netronome.com>
9 daysdoc: remove flow director feature from hns3Wei Hu (Xavier)
This patch removes deprecated feature 'Flow Director' from hns3.ini and hns3_vf.ini because the feature has been removed from the feature list in the following commit: Commit 030febb6642c ("doc: remove deprecated ethdev features") Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: Chunsong Feng <fengchunsong@huawei.com>
9 daysnet/octeontx2: support HIGIG2Kiran Kumar K
Adding support to parse higig2 header in RTE flow for octeontx2. And added devargs to configure port for higig2. Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
9 daysnet/octeontx2: support enabling switch typeKiran Kumar K
Adding support to configure specific switch types like high2 and dsa on a port. When this switch type is configured, it is expected that all the traffic on that port should be of specific type only. Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
9 daysnet/qede/base: update FW to 8.40.33.0Rasesh Mody
In our testing we have identified a critical FW bug. Performance is degraded significantly for certain packet sizes with 8.40.25.0 FW. This patch updates the FW to version 8.40.33.0. The updated FW has a fix to performance issue. The patch also adds initialization for FW overlay RAM as part of hardware initialization which is required by the new FW. Fixes: 3b307c55f2ac ("net/qede/base: update FW to 8.40.25.0") Cc: stable@dpdk.org Signed-off-by: Rasesh Mody <rmody@marvell.com>
9 daysnet/mlx5: fix LRO dependency to include DV flowDekel Peled
Rx queue for LRO is created using DevX. Flows created on this queue must use the DV flow engine. This patch adds check of dv_flow_en=1 when configuring LRO support on device spawn. Documentation is updated accordingly. Fixes: 175f1c21d033 ("net/mlx5: check conditions to enable LRO") Cc: stable@dpdk.org Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
11 daysdoc: bump supported SDK and firmware version for DPAA2Hemant Agrawal
This patch bump the supported SDK and MC firmware version to the latest. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
11 daysconfig: remove redundant DPAA2 buildHemant Agrawal
dpaa and dpaa2 config have evolved to be same. The same binary can now work across the platforms. So, there is no need to maintain two different build configs. The dpaa config shall work for both generation of dpaa platforms. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
2019-10-25net/memif: fix Unix domain address lengthJakub Grajciar
Define MEMIF_SOCKET_UN_SIZE to size of unix domain socket address. Report error in case of longer path. Fixes: b923866c6974 ("net/memif: allow for full key size in socket name") Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-23net/af_xdp: support unaligned umem chunksCiara Loftus
This patch enables the unaligned chunks feature for AF_XDP which allows chunks to be placed at arbitrary places in the umem, as opposed to them being required to be aligned to 2k. This allows for DPDK application mempools to be mapped directly into the umem and in turn enable zero copy transfer between umem and the PMD. This patch replaces the zero copy via external mbuf mechanism introduced in commit e9ff8bb71943 ("net/af_xdp: enable zero copy by external mbuf"). The pmd_zero copy vdev argument is also removed as now the PMD will auto-detect presence of the unaligned chunks feature and enable it if so and otherwise fall back to copy mode if not detected. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-10-23net/mlx5: add flow match on GENEVE itemMoti Haimovsky
This commit adds support for matching flows on Geneve headers. Signed-off-by: Moti Haimovsky <motih@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-10-23doc: fix a common typo in NIC guidesThierry Herbelot
'CRC striping' should be spelled 'CRC stripping'. Fixes: 3eee1f067e7c ("fm10k: add guide") Fixes: 7a4d9f6676d7 ("doc: add liquidio") Fixes: f820b5896631 ("doc: add octeontx ethdev driver documentation") Fixes: 920717e4d8ba ("net/octeontx2: add device start operation") Fixes: f994cecafdcf ("doc: add ThunderX nicvf") Cc: stable@dpdk.org Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-23net/octeontx2: support multicast filterVamsi Attunuru
Patch adds mc filter support for otx2 eth devices. Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-10-23net/ice: add devargs to control pipeline modeQiming Yang
Added a devarg to control the mode in generic flow API. We use none-pipeline mode by default. Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-10-23net/ice: support Rx/Tx burst mode infoHaiyue Wang
Retrieve burst mode options according to the selected Rx/Tx burst function name. Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-10-23net/i40e: support Rx/Tx burst mode infoHaiyue Wang
Retrieve burst mode options according to the selected Rx/Tx burst function name. Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-10-23ethdev: add API for getting burst mode informationHaiyue Wang
Some PMDs have more than one Rx/Tx burst paths, add the ethdev API that allows an application to retrieve the mode information about Rx/Tx packet burst such as Scalar or Vector, and Vector technology like AVX2. Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-23doc: replace license text with SPDX tag in AVP guideHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Allain Legacy <allain.legacy@windriver.com>
2019-10-23doc: replace license text with SPDX tag in ARK guideHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Ed Czeck <ed.czeck@atomicrules.com>
2019-10-23net/hinic: document missing featuresXiaoyun Wang
Add features to ini file. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic: support LRO offloadXiaoyun Wang
This patch supports LRO offload. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic: get firmware versionXiaoyun Wang
This patch adds support for getting firmware version. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic: set link down and upXiaoyun Wang
This patch supports setting link down and up. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic/base: add flow director config interfaceXiaoyun Wang
This patch adds fdir config operation, including set fdir filter, normal filter, set and clear fdir tcam. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic: add unicast and multicast MAC setXiaoyun Wang
This patch adds unicast and multicast set interfaces. Application can add or remove unicast MAC address, also can set multicast MAC address, the maximum multicast list size is 2048. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic: add allmulticast mode and MTU setXiaoyun Wang
When enable allmulticast mode, all multicast packets can be received. This patch also adds support for MTU set, the range of MTU is from 256 to 9600. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic: add VLAN filter and offloadXiaoyun Wang
This patch adds support for VLAN filter and VLAN offload. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/hinic/base: add mbox command channel for SR-IOVXiaoyun Wang
Add mbox command channel for SR-IOV, which is used to communicate between VF and VF, VF and PF. This patch introduces data structures, initialization, interfaces and commands of mbox channel. Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23net/pfe: add link status updateGagandeep Singh
This patch add link related operations like link update, up and down. Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-10-23net/pfe: add allmulticast and promiscuousGagandeep Singh
This patch adds support to enable multicast and promiscuous mode. Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-10-23net/pfe: add MTU and MAC address setGagandeep Singh
To update MAC address or MTU, operations are added to the driver. Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-10-23net/pfe: add packet types and basic statisticsGagandeep Singh
This patch add support for supported packet types by the platform andbasic statistics like numbers of packets/bytes receive and transmit. Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-10-23net/pfe: add queue setup and releaseGagandeep Singh
This patch add RX/TX queue setup operations and supported checksum offloads. Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Acked-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-10-23net/pfe: introduce basic functionsGagandeep Singh
pfe (packet forwarding engine) is a network poll mode driver for NXP SoC ls1012a. This patch introduces the framework of pfe driver with basic functions of initialisation and teardown. Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2019-10-23net/enic: add flow implementation based on Flow Manager APIHyong Youb Kim
Flow Manager API is the new firmware interface that exposes match action capabilities in 1400 series VIC adapters. It is intended for virtual switch offloads and enables more advanced features than the existing filter API. For example, it supports VXLAN encap and decap actions, and exposes TCAM and exact match tables. Add the new flow implementation using Flow Manager and use it when available. When Flow Manager is not available, the driver will continue to use the old filter-based flow implementation. Signed-off-by: John Daley <johndale@cisco.com> Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-10-23net/enic: enable GENEVE with options offloadHyong Youb Kim
Latest firmware supports Geneve with options offload. Current overlay offload only supports Geneve with no options. This new feature is disabled by default, as it is intrusive and cannot be used with flow API. Add a new devarg 'geneve-opt' so the user can explicitly enable it. Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: John Daley <johndale@cisco.com>
2019-10-08net/mlx5: adjust inline setting for large Tx queue sizesViacheslav Ovsiienko
The hardware may have limitations on maximal amount of supported Tx descriptors building blocks (WQEBB). Application requires the Tx queue must accept the specified amount of packets. If inline data feature is engaged the packet may require more WQEBBs and overall amount of blocks may exceed the hardware capabilities. Application has to make a trade-off between Tx queue size and maximal data inline size. In case if the inline settings are not requested explicitly with devarg keys the default values are used. This patch adjusts the applied default values if large Tx queue size is requested and default inline settings can not be satisfied due to hardware limitations. The explicitly requested inline setting may be aligned (enlarging only) by configurations routines to provide better WQEBB filling, this implicit alignment is the subject for adjustment either. The warning message is emitted to the log if adjustment happens. Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>