summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
12 hoursnet/ixgbe: fix QoS performance drop issueHEADmasterfor-next-netShougang Wang
Currently macsec offload will be enabled every time when device starts. It will cause QoS sample application performance drop issue. This patch adds check in dev_start ops to make sure macsec is only enabled when required explicitly. Fixes: 50556c88104c ("net/ixgbe: fix MACsec setting") Signed-off-by: Shougang Wang <shougangx.wang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
13 hoursnet/virtio-user: drop attribute unused for memory callbackTiwei Bie
The "addr" param has been used since the event callbacks are enabled for external memory. So the "__rte_unused" should be dropped. Besides, slightly refine the coding style by consistently assuming tabs are 8 characters. Fixes: f32c7c9de961 ("malloc: enable event callbacks for external memory") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
13 hoursapp/testpmd: fix memory leak in iteratorStephen Hemminger
The RTE_FOREACH_MATCHING_DEV iterator requires that if a break is done before the end of the loop, the function rte_eth_iterator_cleanup() must be called. Fixes: 55e51c962432 ("app/testpmd: add device related commands") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
14 hoursnet/ice: support flow director for normal GTPUYahui Cao
Add FDIR support for normal GTP-U packet, which doesn't contain GTP_PSC extension header. Fixes: efc16c621415 ("net/ice: support flow director GTPU tunnel") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
14 hoursnet/ice: fix pattern name of GTPU with extension headerYahui Cao
Pattern name of GTP-U flow with extension header should be xxx_gtpu_eh_xxx. So it will not conflict with the pattern name of a GTP-U flow that does not contains extension header. Fixes: 3e4eab9c2192 ("net/ice: add pattern manifest") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
14 hoursnet/ice: fix flow director flow type conflictQi Zhang
Flow type "IPv4 + UDP" or "IPv4 + TCP" is conflict with "IPv4 + any" flow type. If a rule for IPv4 + any is created, we should reject any rule for IPv4 + UDP otherwise the first rule may be impacted, same decision should be made on a reverse order. For IPv6 and IPv4 GTPU inner case, we have the same limitation. Fixes: 109e8e06249e ("net/ice: configure HW flow director rule") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Beilei Xing <beilei.xing@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
27 hoursversion: 19.11-rc3Thomas Monjalon
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
27 hourspower: handle frequency increase with turbo disabledMattias Rönnblom
Calling pstate's or acpi's rte_power_freq_up() when on the highest non-turbo frequency results in an error, if turbo is enabled in the BIOS, but disabled via the power library. The error is in the form of a return code and a RTE_LOG() entry on the ERR level. According to the API documentation, the frequency is scaled up "according to the available frequencies". In case turbo is disabled, that frequency is not available. This patch's rte_power_freq_up() behaviour is also consistent with how rte_power_freq_max() is implemented (i.e. the highest non-turbo frequency is set, in case turbo is disabled). Fixes: 445c6528b55f ("power: common interface for guest and host") Fixes: e6c6dc0f96c8 ("power: add p-state driver compatibility") Cc: stable@dpdk.org Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Tested-by: David Hunt <david.hunt@intel.com> Acked-by: David Hunt <david.hunt@intel.com> Reviewed-by: Liang Ma <liang.j.ma@intel.com>
28 hoursapp/testpmd: fix invalid port detachingMatan Azrad
The port was not validated before detaching. Ignore port detach operation when the port is not valid. Fixes: f8e5baa2662d ("app/testpmd: check not detaching device twice") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
28 hoursbus/pci: clear driver on detachMatan Azrad
When probing, a bus is responsible for filling the driver field to indicate the device is bound. Let's clear this field when detaching to keep a consistent behavior. This is not a fix per se, since the device is freed when detaching. But at least clearing the field has been added to remind that the driver field has a meaning for the EAL. Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
28 hourskni: increase kernel version requirement for VAFerruh Yigit
A build error reported related to the selected 'get_user_pages_remote()' kernel API: .../kernel/linux/kni/kni_dev.h:113:8: error: too few arguments to function ‘get_user_pages_remote’ ret = get_user_pages_remote(tsk, tsk->mm, iova, 1 ^~~~~~~~~~~~~~~~~~~~~ Currently there are three versions of the 'get_user_pages_remote()' supported, based on kernel version < 4.9, = 4.9, > 4.9. These version based checks are not working fine with the distro kernels which is the cause of reported build error. The error reported by the kernel version 4.8, but it is using API defined in > 4.9. To be able to take control of this, and possible more, related build error, increasing the minimum supported kernel version for iova=va with KNI to kernel version 4.9. This leaves us with single version of the kernel API and more manageable. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
27 hoursbpf/arm: fix clang buildRuifeng Wang
Clang has different prototype for __builtin___clear_cache(). It requires 'char *' parameters while gcc requires 'void *'. Clang version 8.0 was used. Warning messages during build: ../lib/librte_bpf/bpf_jit_arm64.c:1438:26: warning: incompatible pointer types passing 'uint32_t *' (aka 'unsigned int *') to parameter of type 'char *' [-Wincompatible-pointer-types] __builtin___clear_cache(ctx.ins, ctx.ins + ctx.idx); ^~~~~~~ ../lib/librte_bpf/bpf_jit_arm64.c:1438:35: warning: incompatible pointer types passing 'uint32_t *' (aka 'unsigned int *') to parameter of type 'char *' [-Wincompatible-pointer-types] __builtin___clear_cache(ctx.ins, ctx.ins + ctx.idx); ^~~~~~~~~~~~~~~~~ Fixes: f3e516772464 ("bpf/arm: add prologue and epilogue") Cc: jerinj@marvell.com Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Gavin Hu <gavin.hu@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
27 hoursconfig: add eMAGJerry Hao OS
Add the make and meson based build infrastructure for the eMAG platform from Ampere Computing corp., which is a 64-bit ARM processor with 32 Armv8 64-bit CPU cores. For more information, refer to: https://amperecomputing.com/product/ Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com> Signed-off-by: Gavin Hu <gavin.hu@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
27 hoursconfig: add cortex-a76 for mesonGavin Hu
To make the list complete and consistent, add cortex-a76 configuration. Signed-off-by: Gavin Hu <gavin.hu@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
27 hoursconfig: add Arm Neoverse N1 SDPGavin Hu
Arm N1 SDP is an infrastructure segment development platform based on armv8.2-a Neoverse N1 CPU. For more information, refer to: https://community.arm.com/developer/tools-software/oss-platforms/w/ docs/440/neoverse-n1-sdp Signed-off-by: Gavin Hu <gavin.hu@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Steve Capper <steve.capper@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
27 hoursdevtools: reduce list of Arm builds tested with mesonThomas Monjalon
The list of Arm configs is growing: config/arm/arm64_armada_linux_gcc config/arm/arm64_armv8_linux_gcc config/arm/arm64_bluefield_linux_gcc config/arm/arm64_dpaa_linux_gcc config/arm/arm64_emag_linux_gcc config/arm/arm64_n1sdp_linux_gcc config/arm/arm64_octeontx2_linux_gcc config/arm/arm64_thunderx2_linux_gcc config/arm/arm64_thunderx_linux_gcc In order to keep testing time reasonable, and also because n1sdp is merged without a related fix in tests, the list of configs is reduced in the script test-meson-builds.sh. The list of tested Arm builds becomes: build-arm64-host-clang (armv8a) build-arm64-bluefield build-arm64-dpaa build-arm64-octeontx2 Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: David Marchand <david.marchand@redhat.com>
29 hoursbuildtools: add ABI version check scriptMarcin Baran
Add a shell script that checks whether built libraries are versioned with expected ABI (current ABI, current ABI + 1, or EXPERIMENTAL). The following command was used to verify current source tree (assuming build directory is in ./build): find ./build/lib ./build/drivers -name \*.so \ -exec ./buildtools/check-abi-version.sh {} \; -print Signed-off-by: Marcin Baran <marcinx.baran@intel.com> Signed-off-by: Pawel Modrak <pawelx.modrak@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursbuild: align symbols with global ABI versionPawel Modrak
Merge all versions in linker version script files to DPDK_20.0. This commit was generated by running the following command: :~/DPDK$ buildtools/update-abi.sh 20.0 Signed-off-by: Pawel Modrak <pawelx.modrak@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hourscommon/octeontx: add missing public symbolAnatoly Burakov
The logtype symbol was missing from the .map file. Add it. Fixes: d8dd31652cf4 ("common/octeontx: move mbox to common folder") Cc: stable@dpdk.org Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursdistributor: rename v2.0 ABI to _single suffixMarcin Baran
The original ABI versioning was slightly misleading in that the DPDK 2.0 ABI was really a single mode for the distributor, and is used as such throughout the distributor code. Fix this by renaming all _v20 API's to _single API's, and remove symbol versioning. Signed-off-by: Marcin Baran <marcinx.baran@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: David Hunt <david.hunt@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursdistributor: remove deprecated codeMarcin Baran
Remove code for old ABI versions ahead of ABI version bump. Signed-off-by: Marcin Baran <marcinx.baran@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: David Hunt <david.hunt@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hourslpm: remove deprecated codeMarcin Baran
Remove code for old ABI versions ahead of ABI version bump. Signed-off-by: Marcin Baran <marcinx.baran@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hourstimer: remove deprecated codeMarcin Baran
Remove code for old ABI versions ahead of ABI version bump. Signed-off-by: Marcin Baran <marcinx.baran@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursbuildtools: add ABI version update scriptAnatoly Burakov
In order to facilitate mass updating of version files, add a shell script that recurses into lib/ and drivers/ directories and calls the ABI version update script. Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursbuildtools: add symbols map update scriptPawel Modrak
Add a script that automatically merges all stable ABI's under one ABI section with the new version, while leaving experimental section exactly as it is. Signed-off-by: Pawel Modrak <pawelx.modrak@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursbuild: remove individual library versionsAnatoly Burakov
Since the library versioning for both stable and experimental ABI's is now managed globally, the LIBABIVER and version variables no longer serve any useful purpose, and can be removed. The replacement in Makefiles was done using the following regex: ^(#.*\n)?LIBABIVER\s*:=\s*\d+\n(\s*\n)? (LIBABIVER := numbers, optionally preceded by a comment and optionally succeeded by an empty line) The replacement for meson files was done using the following regex: ^(#.*\n)?version\s*=\s*\d+\n(\s*\n)? (version = numbers, optionally preceded by a comment and optionally succeeded by an empty line) [David]: those variables are manually removed for the files: - drivers/common/qat/Makefile - lib/librte_eal/meson.build [David]: the LIBABIVER is restored for the external ethtool example library. Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursbuild: change ABI versioning to globalMarcin Baran
As per new ABI policy [1], all of the libraries are now versioned using one global ABI version. Stable libraries use the MAJOR.MINOR ABI version for their shared objects, while experimental libraries use the 0.MAJORMINOR convention for their versioning. Experimental library versioning is managed globally. Changes in this patch implement the necessary steps to enable that. The CONFIG_RTE_MAJOR_ABI option was introduced to permit multiple DPDK versions installed side by side. The problem is now addressed through the new ABI policy, and thus can be removed. [David] For external libraries relying on Makefile, LIBABIVER is preserved to avoid using DPDK global ABI version. [1] https://doc.dpdk.org/guides/contributing/abi_policy.html Signed-off-by: Marcin Baran <marcinx.baran@intel.com> Signed-off-by: Pawel Modrak <pawelx.modrak@intel.com> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
29 hoursexamples: hide error for missing pkg-config path flagBruce Richardson
Some versions of pkg-config don't support the --path flag, which is not a fatal error when building the apps. Without the flag, the makefile just cannot track the .pc file of DPDK as a dependency of the build. Therefore, we can ignore the error and suppress it by redirecting to /dev/null the stderr from that call to pkg-config. Fixes: 22119c4591a0 ("examples: use pkg-config in makefiles") Cc: stable@dpdk.org Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
29 hoursexamples: fix build with old pkg-configBruce Richardson
Not all versions of pkg-config in distros have support for the --define-prefix flag [1], causing errors when building examples manually or with test-meson-builds.sh script [2]. For the former case, we need to remove the hard-coded use of the flag in the Makefiles. For the latter case, the flag is necessary for builds to succeed, so we skip the tests when it's not present, passing it as part of the pkg-config command if it is supported. [1] CentOS Linux release 7.7.1908 (Core) pkg-config version 0.27.1 [2] ## Building cmdline Unknown option --define-prefix gmake: Entering directory `...ild-x86-default/install-root/usr/local/share/dpdk/examples/cmdline' rm -f build/cmdline build/cmdline-static build/cmdline-shared test -d build && rmdir -p build || true Unknown option --define-prefix Unknown option --define-prefix gcc -O3 main.c commands.c parse_obj_list.c -o build/cmdline-shared main.c:14:28: fatal error: cmdline_rdline.h: No such file or directory Fixes: ca9268529d2b ("examples: support relocated DPDK install") Fixes: 7f80a2102bbb ("devtools: test pkg-config file") Cc: stable@dpdk.org Reported-by: Ferruh Yigit <ferruh.yigit@intel.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
34 hoursnet/mlx5: fix Rx queue release assertionsMatan Azrad
In debug mode, there is assertion to validate the CQ object before the release. Wrongly, the assertion is done for any type of RX queue even if it doesn't use CQ at all, for example in hairpin Rx queue. Ignore CQ assertion when hairpin queue is released. Fixes: e79c9be91515 ("net/mlx5: support Rx hairpin queues") Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
34 hoursnet/hinic: fix secondary processXiaoyun Wang
The secondary process does not need to register interrupt handle, remove rte_intr_callback_register from secondary process branch. Fixes: 64727024d2fd ("net/hinic: add device initialization") Cc: stable@dpdk.org Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
34 hoursapp/testpmd: report invalid command line parameterDavid Marchand
We currently do not check that a non option string has been passed to testpmd. Example: $ ./master/app/testpmd --no-huge -m 512 --vdev net_null0 \ --vdev net_null1 -- -i nb-cores=2 --total-num-mbuf 2048 [...] testpmd> show config fwd io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support enabled, MP allocation mode: native Logical Core 1 (socket 0) forwards packets on 2 streams: RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01 RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00 Here nb-cores=2 is just ignored, while the (probably sleepy) user did not notice this. Validate that all strings passed to testpmd are part of a known option. After this patch: $ ./master/app/testpmd --no-huge -m 512 --vdev net_null0 \ --vdev net_null1 -- -i nb-cores=2 --total-num-mbuf 2048 [...] Invalid parameter: nb-cores=2 EAL: Error - exiting with code: 1 Cause: Command line incorrect While at it, when passing an unknown option, print the string that gets refused by getopt_long to help the user. Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
34 hoursnet/mlx5: fix L3 encapsulation flow validationMatan Azrad
In order to configure L3 encapsulation\decapsulation flow to mlx5 devices, 2 actions should be added to the flow actions list: RTE_FLOW_ACTION_TYPE_RAW_DECAP and RTE_FLOW_ACTION_TYPE_RAW_ENCAP. One of the validations for this scenario is to check that modify actions is not done before the L3 decapsulation, because it doesn't make sense to decapsulate a modified data. Wrongly, this check was done for the case of L3 encapsulation what causes a validation failure in modify + L3 encapsulation flow. Ignore this check in case of L3 encapsulation. Fixes: 4bb14c83df95 ("net/mlx5: support modify header using Direct Verbs") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com>
34 hoursnet/bnxt: fix flow check for null spec and maskAjit Khaparde
bnxt_validate_and_parse_flow_type already has protocol specific NULL checks for rte_flow_item spec and mask and take actions accordingly. A check at the top of the loop is redundant and is preventing the protocol specific checks from being executed. Fixes: b7e01f386059 ("net/bnxt: handle cleanup if flow creation fails") Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
34 hoursnet/bnxt: fix vector Rx selectionLance Richardson
Take DEV_RX_OFFLOAD_RSS_HASH into account when deciding whether vector mode receive can be enabled. Fixes: 8b945a7f7dcb ("drivers/net: update Rx RSS hash offload capabilities") Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
34 hoursnet/bnxt: fix jumbo frame configuration in firmwareRahul Gupta
In order to prevent reconfiguration of firmware resources for every MTU change, configure FW with max MTU value using hwrm_func_cfg to support all frame sizes. There is no need to overwrite the driver level MTU variable data->mtu with the FW MTU. Fixes: 905cd45ce30e ("net/bnxt: use configured MTU during load") Cc: stable@dpdk.org Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
34 hoursnet/bnxt: fix resource qcaps with older FWAjit Khaparde
On some old versions of FW, bnxt_hwrm_func_resc_qcaps can return an error. This is because the command was not implemented completely in FW till the subsequent version. Ignore the error and continue with the driver initialization. Fixes: edafb57ba4a1 ("net/bnxt: fix VF resource allocation") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
34 hoursnet/ice: fix flow director rule duplication checkYahui Cao
When FDIR filter detects duplicated rule and then returns EEXIST, ice flow will capture this error and return immediately. Fixes: 4e27d3ed02bd ("net/ice: fix flow API framework") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
34 hoursnet/mlx5: fix hairpin split detectionOri Kam
When creating a flow, the flow is checked if it should be split into 2 flows based on the queue/rss acton. If the RSS action with given without any queues, it will result in crash due to the fact that the function checks the queue type. This commit fixes this issue by checking if the rss action is not empty, and at least one queue. Fixes: d85c7b5ea59f ("net/mlx5: split hairpin flows") Signed-off-by: Ori Kam <orika@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
34 hoursnet/mlx5: fix assert in Tx inline settingsViacheslav Ovsiienko
Assert condition is fixed to not alert for the case when multi-packet write is not supported/engaged at all. Fixes: b53cd86965a1 ("net/mlx5: adjust inline setting for large Tx queue sizes") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
34 hoursnet/mlx5: fix port action for LAGViacheslav Ovsiienko
To support LAG configurations the mlx5dv_dr_action_create_dest_ib_port() should be called instead of mlx5dv_dr_action_create_dest_vport(). Fixes: f07341e7aed3 ("net/mlx5: update source and destination vport translations") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
34 hoursethdev: avoid undefined behaviour on configuration copyAndrew Rybchenko
memcpy() source and destination areas must not overlap and equal pointers is the case which is really met, so handle it. Fixes: 68b931bff287 ("ethdev: eliminate interim variable") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
34 hoursnet/ice: add flow mark hintQi Zhang
Since not all data paths support flow mark, the driver needs a hint from application to select the correct data path if flow mark is required. The patch introduces a devarg "flow-mark-support" as a workaround solution, since a standard way is still ongoing. Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Qiming Yang <qiming.yang@intel.com>
34 hoursnet/ice: fix flow director rule after device stopYahui Cao
By moving irq enable/disable from device start/stop to FDIR setup/teardown, FDIR queue irq config is independent of LAN queue irq config. So device stop will not cause FDIR rule failure. Fixes: 84dc7a95a2d3 ("net/ice: enable flow director engine") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Signed-off-by: Beilei Xing <beilei.xing@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Qi Zhang <qi.z.zhang@intel.com>
34 hoursnet/ice: fix flow director programming status checkYahui Cao
To make sure if FDIR programming succeed or fail, legacy programming status descriptor WB format is enabled and FDIR queue irq is opened. Fixes: 84dc7a95a2d3 ("net/ice: enable flow director engine") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Signed-off-by: Beilei Xing <beilei.xing@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Qi Zhang <qi.z.zhang@intel.com>
34 hoursnet/ice: fix flow type selection for flow directorQi Zhang
The FDIR parser will select ICE_FLTR_PTYPE_NONF_IPV4_OTHER as flow type for an IPv4 UDP flow with empty l4 matching field which is not correct. Same issues happens on all the combination between IPv4/IPv6 and UDP/TCP/SCTP cases. The patch fixes all the wrong flow ptype selections. Fixes: f5cafa961fae ("net/ice: add flow director create and destroy") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com>
34 hoursnet/mlx5: fix Tx doorbell write memory barrierViacheslav Ovsiienko
As the result of testing it was found that some hosts have the performance penalty imposed by required write memory barrier after doorbell writing. Before 19.08 release there was some heuristics to decide whether write memory barrier should be performed. For the bursts of recommended size (or multiple) it was supposed there were some extra ongoing packets in the next burst and write memory barrier may be skipped (supposed to be performed in the next burst, at least after descriptor writing). This patch restores that behaviour, the devargs tx_db_nc=2 must be specified to engage this performance tuning feature. Fixes: 8409a28573d3 ("net/mlx5: control transmit doorbell register mapping") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
34 hoursnet/mlx5: change default flow engine to DVDekel Peled
The default flow engine is Verbs flow engine, for legacy reasons. This patch changes the default to DV flow engine (dv_flow_en = 1). Documentation is updated accordingly. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
34 hoursnet/af_packet: advertise Tx offload capabilitiesPaul Atkins
The af_packet pmd already supports MULTI_SEG tx packets, and tx VLAN_INSERT so advertise these capabilities. Signed-off-by: Paul Atkins <paul.atkins@intl.att.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
34 hoursnet/mlx5: fix vport index in port actionViacheslav Ovsiienko
The rdma_core routine mlx5dv_dr_create_flow_action_dest_vport() requires the vport id parameter to create port action. The register c[0] value was used to deduce the port id value and it fails in bonding configuration. The correct way is to apply vport_num value queried from the rdma_core library. Fixes: f07341e7aed3 ("net/mlx5: update source and destination vport translations") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>