summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2019-11-20app/crypto-perf: support PDCPAkhil Goyal
test-crypto-perf app is updated to calculate PDCP throughput numbers. 2 new params are added for PDCP --pdcp-sn-sz <5/7/12/15/18> --pdcp-domain <control/user> ./dpdk-test-crypto-perf --master-lcore 0 -l 0,1 --log-level=8 -- --devtype crypto_dpaa2_sec --optype pdcp --cipher-algo aes-ctr --cipher-op encrypt --auth-algo null --auth-op generate --auth-key-sz 16 --ptest throughput --total-ops 100000 --burst-sz 64 --buffer-sz 64,390,1512 --pool-sz 4096 --silent --pdcp-sn-sz 12 --pdcp-domain control Signed-off-by: Manish Tomar <manish.tomar@nxp.com> Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-11-20doc: update release notes for AESNI PMDsPablo de Lara
AESNI MB and AESNI GCM PMDs were updated to support latest IPSec Multi buffer library (v0.53), and the user guide of hose drivers were updated but not release notes. Fixes: 4b701523742e ("crypto/aesni_gcm: support in-place chained mbufs") Fixes: d91dc5835656 ("doc: support IPsec Multi-buffer lib v0.53") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2019-11-18eal/linux: remove KNI restriction on IOVAVamsi Attunuru
Now that KNI supports VA (with kernel versions starting 4.6.0), we can accept IOVA as VA, but KNI must be configured for this. Pass iova_mode when creating KNI netdevs. So far, IOVA detection policy forced IOVA as PA when KNI is loaded, whatever the buses IOVA requirements were. We can now use IOVA as VA, but this comes with a cost in KNI. When no constraint is expressed by the buses, keep the current behavior of choosing PA. Note: this change supposes that dpdk is built on the same kernel than the target system kernel; no objection has been expressed on this topic. Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
2019-11-15doc/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>
2019-11-15doc: fix link to AESNI mb external libraryDavid Marchand
Add missing _. Fixes: 2977a13657ab ("doc: fix AESNI_MB guide") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com>
2019-11-15doc: fix address type description for IOAT rawdevXiao Wang
Align the description to what the code snippet shows. Fixes: 0a92e63fc4cd ("raw/ioat: add local API to perform copies") Cc: stable@dpdk.org Signed-off-by: Xiao Wang <xiao.w.wang@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2019-11-15doc: fix internal links for older releasesDavid Marchand
Using external explicit references to http://doc.dpdk.org makes older releases documentation point to the current master documentation pages. Switch to internal references. Fixes: 59ad25fe2184 ("doc: add overview of qat guide") Fixes: 30e7fbd62839 ("doc: add event timer adapter guide") Fixes: b7f859c9a9a5 ("doc: add switch representation documentation") Fixes: f714a18885a6 ("app/testbbdev: add test application for bbdev") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2019-11-15doc: add oss-security to the security processLuca Boccassi
The OSS-security project functions as a single point of contact for pre-release, embargoed security notifications. Distributions and major vendors are subscribed to this private list, so that they can be warned in advance and schedule the work required to fix the vulnerability. List and link this process in the DPDK security process document. Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2019-11-12doc: update versioning guide for ABI versionsRay Kinsella
Updates to the ABI versioning guide, to account for the changes to the DPDK ABI/API policy. Fixes for references to abi versioning and policy guides. Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: John McNamara <john.mcnamara@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2019-11-12doc: introduce major ABI versionsRay Kinsella
This policy change introduces major ABI versions, these are declared every year, typically aligned with the LTS release and are supported by subsequent releases in the following year. This change is intended to improve ABI stabilty for those projects consuming DPDK. Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: John McNamara <john.mcnamara@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Thomas Monjalon <thomas@monjalon.net>
2019-11-12doc: separate versioning guide into version and policyRay Kinsella
Separate versioning.rst into abi versioning and abi policy guidance, in preparation for adding more detail to the abi policy. Add an entry to the maintainer file for the abi policy. Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: John McNamara <john.mcnamara@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
2019-11-12app/testpmd: set maximum LRO packet sizeDekel Peled
This patch implements use of the API for LRO aggregated packet max size. It adds command-line and runtime commands to configure this value, and adds option to show the supported value. Documentation is updated accordingly. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Matan Azrad <matan@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-12net/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>
2019-11-12ethdev: 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>
2019-11-11app/testpmd: disable packet type parsing by defaultPavan Nikhilesh
Disable packey type parsing on port init, user can enable ptype parsing by issuing set ptype command. Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-11app/testpmd: add command to set supported packet typesPavan Nikhilesh
Add command to set supported ptype mask. Usage: set port <port_id> ptype_mask <ptype_mask> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-11ethdev: 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>
2019-11-11ethdev: 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>
2019-11-11doc: add ice PMD in doxygenHaiyue Wang
Add the doxygen for ice protocol extraction feature APIs. Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-11-11net/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>
2019-11-11net/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>
2019-11-11examples/vhost_blk: introduce vhost storage sampleJin Yu
A Vhost-blk example that support inflight feature. It uses the new APIs that introduced in the first patch, so it can show how these APIs work to support inflight feature. Signed-off-by: Jin Yu <jin.yu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2019-11-11net/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>
2019-11-08app/testpmd: support hairpinOri Kam
This commit introduce the hairpin queues to the testpmd. the hairpin queue is configured using --hairpinq=<n> the hairpin queue adds n queue objects for both the total number of TX queues and RX queues. The connection between the queues are 1 to 1, first Rx hairpin queue will be connected to the first Tx hairpin queue Signed-off-by: Ori Kam <orika@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-08net/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>
2019-11-08net/ice/base: add new device IDsQi Zhang
Add device IDs for E810_XXV. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-11-08net/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>
2019-11-08doc: 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>
2019-11-08doc: 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>
2019-11-08app/testpmd: support checking descriptor statusKiran Kumar K
Adding support to check TX and RX descriptor status. Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-08ethdev: move egress metadata to dynamic fieldViacheslav Ovsiienko
The dynamic mbuf fields were introduced by [1]. The egress metadata is good candidate to be moved from statically allocated field tx_metadata to dynamic one. Because mbufs are used in half-duplex fashion only, it is safe to share this dynamic field with ingress metadata. The shared dynamic field contains either egress (if application going to transmit mbuf with tx_burst) or ingress (if mbuf is received with rx_burst) metadata and can be accessed by RTE_FLOW_DYNF_METADATA() macro or with rte_flow_dynf_metadata_set() and rte_flow_dynf_metadata_get() helper routines. PKT_TX_DYNF_METADATA/PKT_RX_DYNF_METADATA flag will be set along with the data. The mbuf dynamic field must be registered by calling rte_flow_dynf_metadata_register() prior accessing the data. The availability of dynamic mbuf metadata field can be checked with rte_flow_dynf_metadata_avail() routine. DEV_TX_OFFLOAD_MATCH_METADATA offload and configuration flag is removed. The metadata support in PMDs is engaged on dynamic field registration. Metadata feature is getting complex. We might have some set of actions and items that might be supported by PMDs in multiple combinations, the supported values and masks are the subjects to query by perfroming trials (with rte_flow_validate). [1] http://patches.dpdk.org/patch/62040/ Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Ori Kam <orika@mellanox.com>
2019-11-08ethdev: extend flow metadataViacheslav Ovsiienko
Currently, metadata can be set on egress path via mbuf tx_metadata field with PKT_TX_METADATA flag and RTE_FLOW_ITEM_TYPE_META matches metadata. This patch extends the metadata feature usability. 1) RTE_FLOW_ACTION_TYPE_SET_META When supporting multiple tables, Tx metadata can also be set by a rule and matched by another rule. This new action allows metadata to be set as a result of flow match. 2) Metadata on ingress There's also need to support metadata on ingress. Metadata can be set by SET_META action and matched by META item like Tx. The final value set by the action will be delivered to application via metadata dynamic field of mbuf which can be accessed by RTE_FLOW_DYNF_METADATA() macro or with rte_flow_dynf_metadata_set() and rte_flow_dynf_metadata_get() helper routines. PKT_RX_DYNF_METADATA flag will be set along with the data. The mbuf dynamic field must be registered by calling rte_flow_dynf_metadata_register() prior to use SET_META action. The availability of dynamic mbuf metadata field can be checked with rte_flow_dynf_metadata_avail() routine. If application is going to engage the metadata feature it registers the metadata dynamic fields, then PMD checks the metadata field availability and handles the appropriate fields in datapath. For loopback/hairpin packet, metadata set on Rx/Tx may or may not be propagated to the other path depending on hardware capability. MARK and METADATA look similar and might operate in similar way, but not interacting. Initially, there were proposed two metadata related actions: - RTE_FLOW_ACTION_TYPE_FLAG - RTE_FLOW_ACTION_TYPE_MARK These actions set the special flag in the packet metadata, MARK action stores some specified value in the metadata storage, and, on the packet receiving PMD puts the flag and value to the mbuf and applications can see the packet was threated inside flow engine according to the appropriate RTE flow(s). MARK and FLAG are like some kind of gateway to transfer some per-packet information from the flow engine to the application via receiving datapath. Also, there is the item of type RTE_FLOW_ITEM_TYPE_MARK provided. It allows us to extend the flow match pattern with the capability to match the metadata values set by MARK/FLAG actions on other flows. From the datapath point of view, the MARK and FLAG are related to the receiving side only. It would useful to have the same gateway on the transmitting side and there was the feature of type RTE_FLOW_ITEM_TYPE_META was proposed. The application can fill the field in mbuf and this value will be transferred to some field in the packet metadata inside the flow engine. It did not matter whether these metadata fields are shared because of MARK and META items belonged to different domains (receiving and transmitting) and could be vendor-specific. So far, so good, DPDK proposes some entities to control metadata inside the flow engine and gateways to exchange these values on a per-packet basis via datapaths. As we can see, the MARK and META means are not symmetric, there is absent action which would allow us to set META value on the transmitting path. So, the action of type: - RTE_FLOW_ACTION_TYPE_SET_META was proposed. The next, applications raise the new requirements for packet metadata. The flow ngines are getting more complex, internal switches are introduced, multiple ports might be supported within the same flow engine namespace. From the DPDK points of view, it means the packets might be sent on one eth_dev port and received on the other one, and the packet path inside the flow engine entirely belongs to the same hardware device. The simplest example is SR-IOV with PF, VFs and the representors. And there is a brilliant opportunity to provide some out-of-band channel to transfer some extra data from one port to another one, besides the packet data itself. And applications would like to use this opportunity. It is supposed for application to use trials (with rte_flow_validate) to detect which metadata features (FLAG, MARK, META) actually supported by PMD and underlying hardware. It might depend on PMD configuration, system software, hardware settings, etc., and should be detected in run time. Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Ori Kam <orika@mellanox.com>
2019-11-08ethdev: 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>
2019-11-08doc: 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>
2019-11-08doc: 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>
2019-11-08ethdev: add flow tagViacheslav Ovsiienko
A tag is a transient data which can be used during flow match. This can be used to store match result from a previous table so that the same pattern need not be matched again on the next table. Even if outer header is decapsulated on the previous match, the match result can be kept. Some device expose internal registers of its flow processing pipeline and those registers are quite useful for stateful connection tracking as it keeps status of flow matching. Multiple tags are supported by specifying index. Example testpmd commands are: flow create 0 ingress pattern ... / end actions set_tag index 2 value 0xaa00bb mask 0xffff00ff / set_tag index 3 value 0x123456 mask 0xffffff / vxlan_decap / jump group 1 / end flow create 0 ingress pattern ... / end actions set_tag index 2 value 0xcc00 mask 0xff00 / set_tag index 3 value 0x123456 mask 0xffffff / vxlan_decap / jump group 1 / end flow create 0 ingress group 1 pattern tag index is 2 value spec 0xaa00bb value mask 0xffff00ff / eth ... / end actions ... jump group 2 / end flow create 0 ingress group 1 pattern tag index is 2 value spec 0xcc00 value mask 0xff00 / tag index is 3 value spec 0x123456 value mask 0xffffff / eth ... / end actions ... / end flow create 0 ingress group 2 pattern tag index is 3 value spec 0x123456 value mask 0xffffff / eth ... / end actions ... / end Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
2019-11-08ethdev: remove deprecated port count functionThomas Monjalon
The function rte_eth_dev_count() was marked as deprecated in DPDK 18.05 in commit d9a42a69febf ("ethdev: deprecate port count function"). It was planned to be removed after 19.11 LTS release, but given we must not break ABI between 19.11 and 20.11, it is removed now. Note the ABI version is not dumped in this commit because other changes already did. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
2019-11-08net/mlx5: get hairpin capabilitiesOri Kam
This commits adds the hairpin get capabilities function. Signed-off-by: Ori Kam <orika@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-11-08ethdev: add hairpin queueOri Kam
This commit introduce hairpin queue type. The hairpin queue in build from Rx queue binded to Tx queue. It is used to offload traffic coming from the wire and redirect it back to the wire. There are 3 new functions: - rte_eth_dev_hairpin_capability_get - rte_eth_rx_hairpin_queue_setup - rte_eth_tx_hairpin_queue_setup In order to use the queue, there is a need to create rte_flow with queue / RSS action that targets one or more of the Rx queues. Signed-off-by: Ori Kam <orika@mellanox.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
2019-11-08net/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>
2019-11-08net/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>
2019-11-08net/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>
2019-11-08net/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>
2019-11-08ipsec: remove redundant replay window sizeHemant Agrawal
The rte_security lib has introduced replay_win_sz, so it can be removed from the rte_ipsec lib. The relevant tests, app are also update to reflect the usages. Note that esn and anti-replay fileds were earlier used only for ipsec library, they were enabling the libipsec by default. With this change esn and anti-replay setting will not automatically enabled libipsec. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-11-08security: add anti replay window sizeHemant Agrawal
At present the ipsec xfrom is missing the important step to configure the anti replay window size. The newly added field will also help in to enable or disable the anti replay checking, if available in offload by means of non-zero or zero value. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-11-08crypto/aesni_gcm: support in-place chained mbufsPablo de Lara
IPSec Multi buffer library supports encryption on multiple segments. When dealing with chained buffers (multiple segments), as long as the operation is in-place, the destination buffer does not have to be contiguous (unlike in the case of out-of-place operation). Therefore, the limitation of not supporting in-place chained mbuf can be removed. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2019-11-08doc: support IPsec Multi-buffer lib v0.53Pablo de Lara
Updated AESNI MB and AESNI GCM PMD documentation guides with information about the latest Intel IPSec Multi-buffer library supported. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2019-11-08examples/ipsec-secgw: add offload fallback testsMarcin Smoczynski
Add tests for offload fallback feature; add inbound config modificator SGW_CFG_XPRM_IN (offload fallback setting can be set only for inbound SAs). Tests are using cryptodev for outbound SA. To test fragmentation with QAT set: MULTI_SEG_TEST="--reassemble=4096 --cryptodev_mask=0x5555" Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Tested-by: Bernard Iremonger <bernard.iremonger@intel.com>
2019-11-08examples/ipsec-secgw: add fragment TTL optionMarcin Smoczynski
Due to fragment loss on highly saturated links and long fragment lifetime, ipsec-secgw application quickly runs out of free reassembly buckets. As a result new fragments are being dropped. Introduce --frag-ttl option which allow user to lower default fragment lifetime which solves problem of saturated reassembly buckets with high bandwidth fragmented traffic. Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2019-11-08examples/ipsec-secgw: support fallback sessionMarcin Smoczynski
Inline processing is limited to a specified subset of traffic. It is often unable to handle more complicated situations, such as fragmented traffic. When using inline processing such traffic is dropped. Introduce fallback session for inline crypto processing allowing handling packets that normally would be dropped. A fallback session is configured by adding 'fallback' keyword with 'lookaside-none' parameter to an SA configuration. Only 'inline-crypto-offload" as a primary session and 'lookaside-none' as a fall-back session combination is supported by this patch. Fallback session feature is not available in the legacy mode. Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Tested-by: Bernard Iremonger <bernard.iremonger@intel.com>