- 20 Jan, 2022 2 commits
-
-
Luca Boccassi authored
-
Luca Boccassi authored
-
- 17 Jan, 2022 5 commits
-
-
Luca Boccassi authored
-
Luca Boccassi authored
-
Luca Boccassi authored
Update to upstream version '20.11.4' with Debian dir 92460cd5dc1f626fe683c98748cb853da5581735
-
Luca Boccassi authored
-
Xueming Li authored
Signed-off-by:Xueming Li <xuemingl@nvidia.com>
-
- 16 Jan, 2022 1 commit
-
-
Xueming Li authored
The patch relates to new feature introduce in 2021 and is not meant for 20.11 stable. Fixes: 2f2c2b5b ("common/qat: fix queue pairs number") Signed-off-by:
Xueming Li <xuemingl@nvidia.com> Acked-by:
Zhang Roy Fan <roy.fan.zhang@intel.com>
-
- 12 Dec, 2021 1 commit
-
-
Nick Connolly authored
[ upstream commit ecc69f98 ] Microsoft CRT defines Windows-specific secure alternatives to standard library functions and triggers warnings when "insecure" functions are used [1]. However, calling code already has all necessary checks around those functions, so these warnings are not useful for DPDK. MinGW provides its own CRT without this issue. [1]: https://docs.microsoft.com/en-us/cpp/c-runtime-library/security-features-in-the-crt?view=msvc-160 Disable this by defining -D_CRT_SECURE_NO_WARNINGS. Signed-off-by:
Nick Connolly <nick.connolly@mayadata.io> Acked-by:
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by:
Pallavi Kadam <pallavi.kadam@intel.com>
-
- 09 Dec, 2021 3 commits
-
-
Aman Singh authored
[ upstream commit c28e2165 ] As suse version numbering is inconsistent to determine Linux kernel API to be used. In this patch we check parameter of 'ndo_tx_timeout' API directly from the kernel source. This is done only for suse build. Bugzilla ID: 812 Cc: stable@dpdk.org Signed-off-by:
Aman Singh <aman.deep.singh@intel.com> Acked-by:
Ferruh Yigit <ferruh.yigit@intel.com> Tested-by:
Longfeng Liang <longfengx.liang@intel.com>
-
Xiaoyu Min authored
rte_lru_arm64.h is included from rte_lru.h if arch is ARM64. However this file is missed in meson's headers list on ARM64 platform so it'll not be installed on system. Add it in headers list if arch is ARM64. Fixes: 5b9656b1 ("lib: build with meson") Cc: stable@dpdk.org Signed-off-by:
Xiaoyu Min <jackmin@nvidia.com>
-
Dmitry Kozlyuk authored
rte_random.c and hotplug_mp.c are only intended for Unix targets, but were compiled on Windows due to backporting mistake, causing an error: In file included from ../lib/librte_eal/common/rte_random.c:13: [...] C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um\winnt.h:3275:1: error: conflicting types for '_m_prefetchw' _m_prefetchw ( ^ C:\Program Files\LLVM\lib\clang\8.0.0\include\prfchwintrin.h:64:1: note: previous definition is here _m_prefetchw(void *__P) ^ 1 error generated. hotplug_mp.c was compiled twice, which also caused a link-time error: [43/146] Linking target lib/rte_eal-21.dll FAILED: lib/rte_eal-21.dll lib/rte_eal-21.pdb "clang" @lib/rte_eal-21.dll.rsp librte_eal_windows_eal_mp.c.obj : error LNK2005: eal_dev_hotplug_request_to_primary already defined in librte_eal_common_hotplug_mp.c.obj librte_eal_windows_eal_mp.c.obj : error LNK2005: eal_dev_hotplug_request_to_secondary already defined in librte_eal_common_hotplug_mp.c.obj Creating library lib\rte_eal.lib and object lib\rte_eal.exp lib\rte_eal-21.dll : fatal error LNK1169: one or more multiply defined symbols found clang: error: linker command failed with exit code 1169 (use -v to see invocation) Compile the files above only for Unix targets. Bugzilla ID: 894 Fixes: 51a9cd23 ("eal: remove Windows-specific list of common files") Reported-by:Liang Longfeng <longfengx.liang@intel.com> Signed-off-by:
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
-
- 06 Dec, 2021 28 commits
-
-
Xueming Li authored
Signed-off-by:Xueming Li <xuemingl@nvidia.com>
-
Xueming Li authored
Removes unused variable reported by clang compiler. Fixes: b848f041 ("raw/octeontx2_ep: add dequeue operation") Cc: stable@dpdk.org Signed-off-by:
Xueming Li <xuemingl@nvidia.com> --- This PMD driver has been removed in upstream, 20.11 only patch
-
Dmitry Kozlyuk authored
[ upstream commit b09c65fa ] When an shared AGE action is used in a flow rule with a pattern that causes RSS expansion, each device flow generated by the expansion incremented the reference counter of the action. When such a flow was destroyed, its action reference counter had been decremented only once. The action remained marked as being used and could not be destroyed. The error was only visible with --log-level=pmd.net.mlx5:debug ("...references 1" is not an error): mlx5_pci: Shared age action 65536 was released with references 4. Increment action counter only once for the original flow rule. Fixes: 81073e1f ("net/mlx5: support shared age action") Signed-off-by:
Dmitry Kozlyuk <dkozlyuk@nvidia.com>
-
Tejasree Kondoj authored
[ upstream commit f063054f ] Fixing IPv6 mixed tunnel mode support by updating inputs to firmware. Fixes: 4edede7b ("crypto/octeontx2: support lookaside IPsec IPv6") Cc: stable@dpdk.org Signed-off-by:
Tejasree Kondoj <ktejasree@marvell.com>
-
Nicolas Chautru authored
[ upsteram commit b0df6b29 ] This patch fixes the issue by adjusting the outbound size after turbodecoding when the appended CRC is meant to be dropped. Fixes: f404dfe3 ("baseband/acc100: support 4G processing") Cc: stable@dpdk.org Signed-off-by:
Nicolas Chautru <nicolas.chautru@intel.com> Reviewed-by:
Tom Rix <trix@redhat.com>
-
Lior Margalit authored
[ upstream commit a4512871 ] The RSS expansion algorithm is using a graph to find the possible expansion paths. A graph node with the 'explicit' flag will be skipped, if it is not found in the flow pattern. The current implementation misses a check for the explicit flag when expanding the pattern according to ETH item with EtherType. For example: testpmd> flow create 0 ingress pattern eth / ipv6 / udp / vxlan / eth type is 2048 / end actions rss level 2 types udp end / end The "eth type is 2048" item in the pattern may be expanded to "ETH IPv4". The ETH node in the expansion graph is followed by VLAN node marked as explicit. The fix is to skip the VLAN node and continue the expansion with its next nodes, IPv4 and IPv6. The expansion paths for the above example will be: ETH IPV6 UDP VXLAN ETH END ETH IPV6 UDP VXLAN ETH IPV4 UDP END Fixes: 69d268b4 ("net/mlx5: fix RSS expansion for explicit graph node") Cc: stable@dpdk.org Signed-off-by:
Lior Margalit <lmargalit@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
Lior Margalit authored
[ upstream commit 0c3fa683 ] The RSS expansion algorithm is using a graph to find the possible expansion paths. The current implementation does not differentiate between standard (L2) VXLAN and L3 VXLAN. As result the flow is expanded with all possible paths. For example: testpmd> flow create... / vxlan / end actions rss level 2 / end It is currently expanded to the following paths: ETH IPV4 UDP VXLAN END ETH IPV4 UDP VXLAN ETH IPV4 END ETH IPV4 UDP VXLAN ETH IPV6 END ETH IPV4 UDP VXLAN IPV4 END ETH IPV4 UDP VXLAN IPV6 END The fix is to adjust the expansion according to the outer UDP destination port. In case flow pattern defines a match on the standard udp port, 4789, or does not define a match on the destination port, which also implies setting the standard one, the expansion for the above example will be: ETH IPV4 UDP VXLAN END ETH IPV4 UDP VXLAN ETH IPV4 END ETH IPV4 UDP VXLAN ETH IPV6 END Otherwise, the expansion will be: ETH IPV4 UDP VXLAN END ETH IPV4 UDP VXLAN IPV4 END ETH IPV4 UDP VXLAN IPV6 END Fixes: f4f06e36 ("net/mlx5: add flow VXLAN item") Cc: stable@dpdk.org Signed-off-by:
Lior Margalit <lmargalit@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
Lior Margalit authored
[ upstream commit aa52e5f0 ] The RSS expansion is based on DFS algorithm to traverse over the possible expansion paths. The current implementation breaks out, if it reaches the terminator of the "next nodes" array, instead of going backwards to try the next path. For example: testpmd> flow create 0 ingress pattern eth / ipv6 / udp / vxlan / end actions rss level 2 types tcp end / end The paths found are: ETH IPV6 UDP VXLAN END ETH IPV6 UDP VXLAN ETH IPV4 TCP END ETH IPV6 UDP VXLAN ETH IPV6 TCP END The traversal stopped after getting to the terminator of the next nodes of the ETH node. It missed the rest of the nodes in the next nodes array of the VXLAN node. The fix is to go backwards when reaching the terminator of the current level and find if there is a "next node" to start traversing a new path. Using the above example, the flows will be: ETH IPV6 UDP VXLAN END ETH IPV6 UDP VXLAN ETH IPV4 TCP END ETH IPV6 UDP VXLAN ETH IPV6 TCP END ETH IPV6 UDP VXLAN IPV4 TCP END ETH IPV6 UDP VXLAN IPV6 TCP END The traversal will find additional paths, because it traverses through all the next nodes array of the VXLAN node. Fixes: 4ed05fcd ("ethdev: add flow API to expand RSS flows") Cc: stable@dpdk.org Signed-off-by:
Lior Margalit <lmargalit@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
Lior Margalit authored
[ upstream commit 69d268b4 ] The RSS expansion algorithm is using a graph to find the possible expansion paths. A graph node with the 'explicit' flag will be skipped, if it is not found in the flow pattern. The current implementation misses the case where the node with the explicit flag is in the middle of the expanded path. For example: testpmd> flow create 0 ingress pattern eth / ipv6 / udp / vxlan / end actions rss level 2 types tcp end / end The VLAN node has the explicit flag, so it is currently included in the expanded flow: ETH IPV6 UDP VXLAN END ETH IPV6 UDP VXLAN ETH VLAN IPV4 TCP END ETH IPV6 UDP VXLAN ETH VLAN IPV6 TCP END The fix is to skip the nodes with the explicit flag while iterating over the possible expansion paths. Using the above example, the flows will be: ETH IPV6 UDP VXLAN END ETH IPV6 UDP VXLAN ETH IPV4 TCP END ETH IPV6 UDP VXLAN ETH IPV6 TCP END Fixes: 3f02c7ff ("net/mlx5: fix RSS expansion for inner tunnel VLAN") Cc: stable@dpdk.org Signed-off-by:
Lior Margalit <lmargalit@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
Lior Margalit authored
[ upstream commit 3f02c7ff ] The RSS expansion algorithm is using a graph to find the possible expansion paths. The VLAN item in the flow pattern requires special treatment, because it should not be added implicitly by the expansion algorithm. If the flow pattern ends with ETH item, the pattern will be expanded with IPv4 and IPv6. For example: testpmd> flow create ... eth / end actions rss / end ETH END ETH IPV4 END ETH IPV6 END If a VLAN item follows the ETH item in the flow pattern, the pattern will be expanded with IPv4 and IPv6 following the VLAN item. For example: testpmd> flow create ... eth / vlan / end actions rss level 1 / end ETH VLAN END ETH VLAN IPV4 END ETH VLAN IPV6 END The case of inner tunnel VLAN item was not taken care of so the flow pattern did not expand with IPv6 and IPv4 as expected. Example with inner VLAN: testpmd> flow create ... / vxlan / eth / vlan / end actions rss level 2 / end The current result of the expansion alg: ETH IPV6 UDP VXLAN ETH VLAN END The expected result of the expansion alg: ETH IPV6 UDP VXLAN ETH VLAN END ETH IPV6 UDP VXLAN ETH VLAN IPV4 END ETH IPV6 UDP VXLAN ETH VLAN IPV6 END The fix is to introduce a new flag to set on a graph expansion node to apply the 'explicit' behavior, meaning the node is not added to the expanded pattern, if it is not found in the flow pattern, but the expansion alg can go deeper to its next nodes. Fixes: c7870bfe ("ethdev: move RSS expansion code to mlx5 driver") Cc: stable@dpdk.org Signed-off-by:
Lior Margalit <lmargalit@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
Kefu Chai authored
[ upstream commit 6c16a05c ] Change from "how many segments each segment can have" to "how many segments each segment list can have". Fixes: b3173932 ("doc: update guides for memory subsystem") Signed-off-by:
Kefu Chai <tchaikov@gmail.com>
-
Michael Baum authored
[ upstream commit 8648fa2f ] The mlx5_args function reads the devargs and checks if they are valid for this driver and if not it returns an error. This was normal behavior as long as all the devargs come to this driver, but since it is possible to run several drivers together, the function may return an error for another driver's devarg even though it is completely valid. In addition the function does not allow the user to know which of the devargs is incorrect, but returns an error without printing the unknown devarg. This patch eliminates the error return in the case of an unknown devarg, and prints a warning for each such devarg specifically. Fixes: 7b4f1e6b ("common/mlx5: introduce common library") Signed-off-by:
Michael Baum <michaelba@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
Dariusz Sosnowski authored
[ upstream commit 6965091e ] This patch fixes a typo in DPDK Coding Style, in Return Values section, i.e. replaces "indicated may" with "indicated by". Fixes: 36032e46 ("doc: add coding style") Signed-off-by:
Dariusz Sosnowski <dsosnowski@nvidia.com> Acked-by:
Bruce Richardson <bruce.richardson@intel.com>
-
Sean Morrissey authored
[ upstream commit 35bd0a5c ] The doc's contain references to pmd but the proper use is to use PMD. Signed-off-by:
Sean Morrissey <sean.morrissey@intel.com> Acked-by:
John McNamara <john.mcnamara@intel.com> Reviewed-by:
Conor Walsh <conor.walsh@intel.com> Reviewed-by:
Ferruh Yigit <ferruh.yigit@intel.com>
-
Sean Morrissey authored
[ upstream commit f8dbaebb ] Removing the use of driver following PMD as its unnecessary. Signed-off-by:
Sean Morrissey <sean.morrissey@intel.com> Signed-off-by:
Conor Fogarty <conor.fogarty@intel.com> Acked-by:
John McNamara <john.mcnamara@intel.com> Reviewed-by:
Conor Walsh <conor.walsh@intel.com> Reviewed-by:
Ferruh Yigit <ferruh.yigit@intel.com>
-
Sean Morrissey authored
[ upstream commit b53d106d ] Remove the use of double "the" as it does not make sense. Signed-off-by:
Sean Morrissey <sean.morrissey@intel.com> Signed-off-by:
Conor Fogarty <conor.fogarty@intel.com> Acked-by:
John McNamara <john.mcnamara@intel.com> Reviewed-by:
Conor Walsh <conor.walsh@intel.com> Acked-by:
Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by:
Ferruh Yigit <ferruh.yigit@intel.com>
-
Alexander Kozyrev authored
[ upstream commit 94421842 ] GENEVE and VXLAN-GPE item matching is done similarly to GRE matching. Users can skip the specification of the protocol type and expect that this type is deducted from the inner header type automatically. But the inner header type may not be specified in order to match all the protocol types. In this case, PMD should not specify the protocol type. Check if we have the inner header type before setting the protocol type. Fixes: 690391dd ("net/mlx5: fix GENEVE protocol type translation") Fixes: 861fa379 ("net/mlx5: fix VXLAN-GPE next protocol translation") Signed-off-by:
Alexander Kozyrev <akozyrev@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
Alexander Kozyrev authored
[ upstream commit 9e61533d ] GRE protocol type is implicitly set in the matching translation in case an application doesn't specify any type explicitly in a flow rule. It is extracted from the inner header type, but this type may be absent. In this case, GRE item matching is broken. Check if we have the inner header type before setting it to allow matching on all GRE packets. Fixes: be26e81b ("net/mlx5: fix GRE protocol type translation") Signed-off-by:
Alexander Kozyrev <akozyrev@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
Gregory Etelson authored
[ upstream commit ea1da434 ] Current hex string parser assumes input has even characters number. The parser fails input string with odd length. The patch parses hex strings with even and odd length. Parse result of an input with odd length will match result of even length input, that has `0` as MSB, following by the original sequence. For example: "0x1" results in *dst={0x01, 0x00}, *size=1 "0xabc" results in *dst={0x0a, 0xbc, 0x00}, *size=2 Fixes: 169a9fed ("app/testpmd: fix hex string parser support for flow API") Signed-off-by:
Gregory Etelson <getelson@nvidia.com> Reviewed-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
Jerin Jacob authored
[ upstream commit 3f7b90eb ] The commit d250589d ("net/memif: replace master/slave arguments") replaced master/slave terms to server/client terms. Fix the documentation to reflect the same. Fixes: d250589d ("net/memif: replace master/slave arguments") Signed-off-by:
Jerin Jacob <jerinj@marvell.com> Reviewed-by:
Ferruh Yigit <ferruh.yigit@intel.com>
-
Junxiao Shi authored
[ upstream commit 858a152a ] Bugzilla ID: 888 Fixes: febc855b ("ethdev: forbid closing started device") Signed-off-by:
Junxiao Shi <git@mail1.yoursunny.com> Reviewed-by:
Ferruh Yigit <ferruh.yigit@intel.com>
-
Dariusz Sosnowski authored
[ upstream commit fa488345 ] This patch fixes the assertion failure triggered when the user configured minimum inline length requirements and the application transmitted multi segment packets. Failure was triggered when space left in TX queue was not enough to cover this requirement. This patch limits the length of data to be copied to the available space in TX queue. Fixes: cacb44a0 ("net/mlx5: add no-inline Tx flag") Signed-off-by:
Dariusz Sosnowski <dsosnowski@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
Jiawei Wang authored
[ upstream commit 693c7d4b ] If there are sample action and the meter action in the same flow, mlx5 PMD performs several levels of splitting. For example, sampling feature splits the original flow into prefix subflow with sample action, and suffix subflow with the rest of actions. Then, metering feature splits the sampling suffix subflow into its own meter subflows. If mark action was added before the sample and meter action, the flow mark flag was kept in the sample subflows but reset on handling the metering split, causing the flow mark value missed. This patch keeps the flow mark flag of previous subflow, and then the following meter subflows handle the flow mark correctly. Fixes: 9ade91df ("net/mlx5: fix group value of sample suffix flow") Signed-off-by:
Jiawei Wang <jiaweiw@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
Xiaoyu Min authored
[ upstream commit d564eea7 ] When the ETH spec is empty MLX4 PMD doesn't allow match other criteria, which means the flow should be promisc one. Currently, PMD validates this by setting flow->promisc bit when ETH spec is empty and checking whether there is other rte_flow_item followed when flow->promisc is on. However, commit [1] adds support to match traffic only on VLAN id, the above validation logic should be changed accordingly. This patch changes the above validate logic by skipping flow->promisc check if this item is VLAN. [1]: Fixes: c0d23926 ("net/mlx4: support flow w/o ETH spec and with VLAN") Signed-off-by:
Xiaoyu Min <jackmin@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
Jiawei Wang authored
[ upstream commit 16f4aa57 ] In the metadata flow split, PMD created the prefix subflow with removed Queue or RSS action and appended the set tag and copy table jump actions. If the flow being split for metadata was the meter prefix subflow, the driver supposed to share the same meter split tag action for the metadata split flow. There was the wrong check for preceding meter split tag action, causing append with metadata split set tag action and resulting the meter suffix subflow was missed due to tag value mismatch. This patch adds the checking before copying into extend action list, to make sure the correct shared tag is used. Fixes: 8d72fa66 ("net/mlx5: share tag between meter and metadata") Signed-off-by:
Jiawei Wang <jiaweiw@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
Somnath Kotur authored
[ upstream commit e806385c ] If autonegotiation was enabled, driver was not passing the 'auto_pam4_link_speeds' obtained during init and stored in bp->link_info to bnxt_hwrm_port_phy_cfg(). This would result in an incorrect setting being passed to the HW during PHY configuration. This in turn, would result in invalid settings being retrieved and configured in subsequent application loads resulting in launch failures. Bugzilla ID: 791 Fixes: c23f9ded ("net/bnxt: support 200G PAM4 link") Reported-by:
Charles Brett <cfb@hpe.com> Reviewed-by:
Ajit Khaparde <ajit.khaparde@broadcom.com> Signed-off-by:
Somnath Kotur <somnath.kotur@broadcom.com>
-
Thomas Monjalon authored
[ upstream commit 4f823975 ] Some duplicate words were detected with a script. Fixes: fdec9301 ("doc: add flow classify guides") Fixes: 4dc6d8e6 ("doc: add graph library guide") Fixes: 30d3aa86 ("doc: rework VM power manager user guide") Fixes: 0d547ed0 ("examples/ipsec-secgw: support configuration file") Fixes: e64833f2 ("examples/l2fwd-keepalive: add sample application") Signed-off-by:
Thomas Monjalon <thomas@monjalon.net> Acked-by:
David Marchand <david.marchand@redhat.com>
-
Vanshika Shukla authored
[ upstream commit 21ba4d57 ] The size of delay request message sent out by the DPDK ptpclient application was observed to have extra length than expected. Due to this, bad messages were observed on the master side and delay response was not received. This patch fixes this bug. Fixes: ab129e90 ("examples/ptpclient: add minimal PTP client") Signed-off-by:
Vanshika Shukla <vanshika.shukla@nxp.com> Acked-by:
Nipun Gupta <nipun.gupta@nxp.com>
-