- 04 Apr, 2022 6 commits
-
-
Luca Boccassi authored
-
Luca Boccassi authored
-
Luca Boccassi authored
-
Luca Boccassi authored
Update to upstream version '20.11.5' with Debian dir c0810cd4b0c41246d3088e9ed3555d912196d63d
-
Luca Boccassi authored
-
Luca Boccassi authored
Signed-off-by:Luca Boccassi <bluca@debian.org>
-
- 31 Mar, 2022 1 commit
-
-
Luca Boccassi authored
../drivers/net/dpaa2/dpaa2_rxtx.c: In function ‘dpaa2_dev_rx’: ../drivers/net/dpaa2/dpaa2_rxtx.c:863:4: error: ‘priv’ undeclared (first use in this function); did you mean ‘ldiv’? priv->rx_timestamp = ^~~~ ldiv Bugzilla ID: 982 Fixes: 1d10966a ("net/dpaa2: fix timestamping for IEEE1588") Signed-off-by:Luca Boccassi <bluca@debian.org> Acked-by:
Hemant Agrawal <hemant.agrawal@nxp.com>
-
- 30 Mar, 2022 3 commits
-
-
Luca Boccassi authored
$ meson --werror --buildtype=debugoptimized build && ninja-build -C build [..] [5/2516] Compiling C object buildtools/pmdinfogen/pmdinfogen.p/pmdinfogen.c.o FAILED: buildtools/pmdinfogen/pmdinfogen.p/pmdinfogen.c.o clang -Ibuildtools/pmdinfogen/pmdinfogen.p -Ibuildtools/pmdinfogen -I../../root/dpdk/buildtools/pmdinfogen -I. -I../../root/dpdk -Iconfig -I../../root/dpdk/config -Ilib/librte_eal/include -I../../root/dpdk/lib/librte_eal/include -Ilib/librte_eal/linux/include -I../../root/dpdk/lib/librte_eal/linux/include -Ilib/librte_eal/x86/include -I../../root/dpdk/lib/librte_eal/x86/include -Ilib/librte_pci -I../../root/dpdk/lib/librte_pci -Xclang -fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O2 -g -MD -MQ buildtools/pmdinfogen/pmdinfogen.p/pmdinfogen.c.o -MF buildtools/pmdinfogen/pmdinfogen.p/pmdinfogen.c.o.d -o buildtools/pmdinfogen/pmdinfogen.p/pmdinfogen.c.o -c ../../root/dpdk/buildtools/pmdinfogen/pmdinfoge...
-
Luca Boccassi authored
Causes symbols changes, so it's not appropriate for 20.11. This reverts commit 64452c87 . Signed-off-by:
Luca Boccassi <bluca@debian.org> Reviewed-by:
Christian Ehrhardt <christian.ehrhardt@canonical.com> -
[ backported from upstream commit a99bf951 ] reported by "gcc (GCC) 12.0.0 20211003 (experimental)": ../drivers/net/cxgbe/cxgbe_ethdev.c: In function ‘cxgbe_dev_rx_queue_setup’: ../drivers/net/cxgbe/cxgbe_ethdev.c:682:24: error: the comparison will always evaluate as ‘true’ for the address of ‘fl’ will never be NULL [-Werror=address] 682 | if ((&rxq->fl) != NULL) | ^~ Fixing it by removing useless check. Signed-off-by:
Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by:
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
-
- 18 Mar, 2022 1 commit
-
-
Luca Boccassi authored
Signed-off-by:Luca Boccassi <bluca@debian.org>
-
- 17 Mar, 2022 5 commits
-
-
Luca Boccassi authored
The enum was renamed to fix a typo in main, and backported. But in the stable release we want to keep backward compatibility when possible, so also define the old name so that both old and new code will work. Fixes: 7b5609a5 ("cryptodev: fix RSA key type name") Signed-off-by:
Luca Boccassi <bluca@debian.org> Tested-by:
Christian Ehrhardt <christian.ehrhardt@canonical.com> -
[ upstream commit 047c25401d2b4001e7e20200a5ec05868a113290 ] Compile failed with cflag optimization=1 on Ubuntu20.04 with GCC10.3, it reported vendor_id and dev_id may be used uninitialized in function ifpga_rawdev_fill_info(). Actually it's not the truth, the variables are initialized in function ifpga_get_dev_vendor_id(). To avoid such compile error, the variables are initialized when they are defined. Fixes: 9c006c45 ("raw/ifpga: scan PCIe BDF device tree") Signed-off-by:
Wei Huang <wei.huang@intel.com> Acked-by:
Tianfei Zhang <tianfei.zhang@intel.com> Acked-by:
Rosen Xu <rosen.xu@intel.com>
-
[ upstream commit b421909ce7c42109ebb3236275793b1c7fd3394e ] The docs on binding drivers was updated as part of the removal of the igb_uio module from the main DPDK repo. As part of that update, a note about uio_pci_generic requiring legacy interrupts was removed, but should have been kept. Fixes: 56bb5841 ("kernel/linux: remove igb_uio") Signed-off-by:
Bruce Richardson <bruce.richardson@intel.com>
-
[ upstream commit c265d58619e7fc0f72441faafec56a2a8633a15b ] Some IDEs, such as eclipse, complained on save about the use of special characters in the (R) symbol in linux GSG doc. We can replace those with the equivalent "|reg|" text, and including isonum.txt. Signed-off-by:Bruce Richardson <bruce.richardson@intel.com>
-
[ upstream commit 04c0d3f20f54618c2b62f353b31b5a2fb20d687a ] If there are an explicit port match and sample action in the same flow, mlx5 PMD pushes the explicit port match in the prefix subflow, and uses the tag item match in the suffix subflow. The explicit port match was translated into source vport match so the sample suffix subflow lost this match after flow split. This patch copies the explicit port match to the sample suffix subflow, and the latter gets the correct source vport value in the flow matcher. Fixes: b4c0ddbf ("net/mlx5: split sample flow into two sub-flows") Signed-off-by:
Jiawei Wang <jiaweiw@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
- 16 Mar, 2022 2 commits
-
-
[ upstream commit f65c7fbceca91b54200ca3dc5d27f2292e5d829f ] qede_alloc_rx_bulk_mbufs() was trimming the number of requested mbufs count to QEDE_MAX_BULK_ALLOC_COUNT. The Rx callback was ignorant of this trimming and it was always resetting the number of empty RX BD ring slots to 0. This resulted in Rx BD ring getting into an inconsistent state and ultimately the application fails to receive any traffic. The fix trims the number of requested mbufs count before making call to qede_alloc_rx_bulk_mbufs(). After qede_alloc_rx_bulk_mbufs() returns successfully, the number of empty Rx BD ring slots are decremented by the correct count. Fixes: 8f231247 ("net/qede: fix performance bottleneck in Rx path") Signed-off-by:
Devendra Singh Rawat <dsinghrawat@marvell.com> Signed-off-by:
Rasesh Mody <rmody@marvell.com>
-
This patch fixes issues in rearranging the MCAM entries when user is creating flows with priority levels. The MCAM preallocation scheme and the free entry cache are removed. For every flow created, an MCAM allocation request is made to the kernel. Each priority level has a list of MCAM entries. For every flow rule added, the MCAM entry obtained from kernel is checked if it is at the correct user specified priority. If not, the existing rules are moved across MCAM entries so that the user specified priority is maintained. Fixes: 29a2017c ("net/octeontx2: add flow mbox utility functions") Signed-off-by:
Satheesh Paul <psatheesh@marvell.com> Acked-by:
Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
-
- 15 Mar, 2022 9 commits
-
-
[ upstream commit 1763c91b06ca65bbb8516f47b97cffe1cac97dde ] When compiling on FreeBSD with clang and include checking enabled, errors are emitted due to differences in how empty structs/unions are handled in C and C++, as C++ structs cannot have zero size. lib/cryptodev/rte_crypto.h:127:2: error: union has size 0 in C, non-zero size in C++ Since the contents of the union are all themselves of zero size, the actual union wrapper is unnecessary. We therefore remove it for C++ builds - though keep it for C builds for safety and clarity of understanding the code. Fixes: c0f87eb5 ("cryptodev: change burst API to be crypto op oriented") Fixes: d2a4223c ("cryptodev: do not store pointer to op specific params") Signed-off-by:
Bruce Richardson <bruce.richardson@intel.com>
-
[ upstream commit dfb90fbe6b2b11ecf3535286c8d418ba8cc5485c ] Building with clang on FreeBSD with chkincs enabled, we get the following error about a missing space: lib/compressdev/rte_compressdev_internal.h:25:58: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] rte_log(RTE_LOG_ ## level, compressdev_logtype, "%s(): "fmt "\n", \ Adding in a space between the '"' and 'fmt' removes the error. Fixes: ed7dd94f ("compressdev: add basic device management") Signed-off-by:Bruce Richardson <bruce.richardson@intel.com>
-
[ upstream commit 29fd052dcc3be76112bc7b03a918308ebcf901d8 ] Add missing 'extern "C"' to file. Fixes: 428eb983 ("eal: add OS specific header file") Signed-off-by:
Bruce Richardson <bruce.richardson@intel.com>
-
[ upstream commit 0490d69d58d9d75c37e780966c837a062658f528 ] This patch fixes the stack buffer overflow error reported from AddressSanitizer. Function send_packetsx4() tries to access out of bound data from rte_mbuf and fill it into TX buffer even in the case where no pending packets (len = 0). Performance impact:- No ASAN error report:- ==819==ERROR: AddressSanitizer: stack-buffer-overflow on address 0xffffe2c0dcf0 at pc 0x0000005e791c bp 0xffffe2c0d7e0 sp 0xffffe2c0d800 READ of size 8 at 0xffffe2c0dcf0 thread T0 #0 0x5e7918 in send_packetsx4 ../examples/l3fwd/l3fwd_common.h:251 #1 0x5e7918 in send_packets_multi ../examples/l3fwd/l3fwd_neon.h:226 Fixes: 96ff4453 ("examples/l3fwd: reorganise and optimize LPM code path") Signed-off-by:
Rahul Bhansali <rbhansali@marvell.com> Reviewed-by:
Conor Walsh <conor.walsh@intel.com> Acked-by:
Konstantin Ananyev <konstantin.ananyev@intel.com>
-
[ upstream commit 5aae2723cddba81b179162b5e7e4f6bd429eaac5 ] Replaced using strtoul with strtoull when converting to 64-bit mask field. In Windows strtoul returns 32-bit values which cause an issue with show RSS RETA. Fixes: 66c59490 ("ethdev: support multiple sizes of redirection table") Signed-off-by:
Adham Masarwah <adham@nvidia.com> Acked-by:
Aman Singh <aman.deep.singh@intel.com>
-
[ upstream commit 63f39a430a0a7a8b893ffbf88cd452dbc7b97c97 ] This is something caught in UNH FreeBSD env. For some reason [1], the pcap/bpf.h header started to define _BPF_H_. It happens that the bpf_impl.h internal DPDK header uses this define as an internal guard. This triggers a build failure in bpf_convert.c which can't find RTE_BPF_LOG macro. Fix the include guard to use the filename and remove _. 1: https://github.com/the-tcpdump-group/libpcap/pull/1074 Fixes: 94972f35 ("bpf: add BPF loading and execution framework") Signed-off-by:
David Marchand <david.marchand@redhat.com> Acked-by:
Stephen Hemminger <stephen@networkplumber.org>
-
[ upstream commit 9a726360dd3010a4c664e37682826b68a0a7f7fe ] A flow rule with sample action will be split into two sub flows, and a tag action was added implicitly in the sample prefix sub flow, the reserved metadata regC index was used for this tag action. The reserved metadata regC was shared with metering action, for ConnectX-5 trusted device (VF/SF), the reserved metadata regC was invalid since PF only supported the legacy metering. This patch adds the checking for the tag index and back to use the application tag if a failure happened. Fixes: a9b6ea45 ("net/mlx5: fix tag ID conflict with sample action") Signed-off-by:
Jiawei Wang <jiaweiw@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
[ upstream commit af74f7db384ed149fe42b21dbd7975f8a54ef227 ] Even if unlikely, a buggy vhost-user master might attach fds to inflight messages. Add checks like for other types of vhost-user messages. Fixes: d87f1a1c ("vhost: support inflight info sharing") Signed-off-by:
David Marchand <david.marchand@redhat.com> Reviewed-by:
Maxime Coquelin <maxime.coquelin@redhat.com>
-
[ upstream commit 6442c329b9d2ded0f44b27d2016aaba8ba5844c5 ] In function vhost_user_set_inflight_fd, queue number in inflight message is used to access virtqueue. However, queue number could be larger than VHOST_MAX_VRING and cause write OOB as this number will be used to write inflight info in virtqueue structure. This patch checks the queue number to avoid the issue and also make sure virtqueues are allocated before setting inflight information. Fixes: ad0a4ae4 ("vhost: checkout resubmit inflight information") Reported-by:
Wenxiang Qian <leonwxqian@gmail.com> Signed-off-by:
Chenbo Xia <chenbo.xia@intel.com> Reviewed-by:
Maxime Coquelin <maxime.coquelin@redhat.com>
-
- 11 Mar, 2022 13 commits
-
-
[ upstream commit 655c3c26c11e7a6f1b5421afe40b06d580b8f2dd ] Link status change takes time that depends on the HW and the kernel. It was checked immediately after the change was issued at probing. If the port had beed down before probing, a "down" state may be read, while the port would be "up" imminently. After that, DPDK reported the port as "down" mistakenly and "ifconfig $DEV up" did not trigger an LSC event, because from the system's perspective the port was "up" already. Install Netlink event handler at port probe before requesting the port to come up in order to receive LSC event even if it comes up between probe and start. Fixes: b6499434b83e ("net/mlx5: fix link status initialization") Signed-off-by:Dmitry Kozlyuk <dkozlyuk@nvidia.com>
-
[ upstream commit 17f95513adca1f4ee5bba305b154ac984ee50cee ] Sometimes net/mlx5 devices did not detect link status change to "up". Each shared device was monitoring IBV_EVENT_PORT_{ACTIVE,ERR} and queried the link status upon receiving the event. IBV_EVENT_PORT_ACTIVE is delivered when the logical link status (UP flag) is set, but the physical link status (RUNNING flag) may be down at that time, in which case the new link status would be errornously considered down. IBV interface is insufficient for the task. Monitor interface events using Netlink. Fixes: 198a3c33 ("mlx5: handle link status interrupts") Signed-off-by:Dmitry Kozlyuk <dkozlyuk@nvidia.com>
-
[ upstream commit be66461cba371c3138ce942eb9fe5657f9e9a446 ] Introduce mlx5_nl_read_events() to read Netlink events (technically, messages) from a socket that was configured to listen for them via a new mlx5_nl_init() parameter. Add mlx5_nl_parse_link_status_update() helper to extract information from link-related events. This patch is a shared base for later fixes. Signed-off-by:Dmitry Kozlyuk <dkozlyuk@nvidia.com>
-
[ upstream commit 20659eb38099033b9aa4f7476a7ba7b5d3258569 ] Allocate FPGA interrupt handle instance for each card. Fixes: e0a1aafe ("raw/ifpga: introduce IRQ functions") Cc: stable@dpdk.org Signed-off-by:
Wei Huang <wei.huang@intel.com> Acked-by:
Tianfei Zhang <tianfei.zhang@intel.com>
-
[ backported from upstream commit 8efffaec56e30ed92c2c3f6b2a8e2e77d78ebd07 ] Make Rx and Tx queue sizes configurable from the command line. This helps DTS write better test cases. Signed-off-by:
Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by:
Kathleen Capella <kathleen.capella@arm.com> Reviewed-by:
Ruifeng Wang <ruifeng.wang@arm.com> Acked-by:
Bruce Richardson <bruce.richardson@intel.com>
-
[ backported from upstream commit e7a7add13a0cd2eb64f62502cad005a97d8e3ee2 ] nb_rxd and nb_txd are used in polling mode and event mode of operation. nb_rxd and nb_txd are already global in polling mode but are not visible to event mode code. Make them visible to all parts of the application. Signed-off-by:
Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by:
Kathleen Capella <kathleen.capella@arm.com> Reviewed-by:
Ruifeng Wang <ruifeng.wang@arm.com> Acked-by:
Bruce Richardson <bruce.richardson@intel.com> Tested-by:
Yingya Han < <yingyax.han@intel.com>
-
[ upstream commit d78d21b983f215d1425422f955cbd934e48360d3 ] Fix potential out-of-bounds access as overrunning callee's array of size 26 by passing argument rxq->rxdid(which evaluates to 63) in call to iavf_rx_scan_hw_ring_flex_rxd. Coverity issue: 376616 Fixes: 0ed16e01313e ("net/iavf: fix function pointer in multi-process") Signed-off-by:Leyi Rong <leyi.rong@intel.com> Reviewed-by:
Ferruh Yigit <ferruh.yigit@intel.com>
-
[ upstream commit 98008ce6ec2f31c2e94c0eb39740c8178aeb8392 ] When using Verbs flow engine to create flows, GRE Verbs spec was put at the end of specs list. This created problems for flows matching MPLSoGRE packets. In generated specs list MPLS spec was put before GRE spec, but Verbs API requires that MPLS spec must be put in its exact location in protocol stack. This patch fixes this behavior. Space for GRE Verbs spec is reserved at its exact location. MPLS Verbs is inserted at its exact location as well. GRE spec is filled after all flow items are parsed. Fixes: 985b479267aa ("net/mlx5: fix GRE protocol type translation for Verbs") Signed-off-by:Dariusz Sosnowski <dsosnowski@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
[ upstream commit cff6aad7af61da8d31e146610f9b4a4875301ef4 ] In the previous implementation, a count was used to record the number of the references to a table resource, including the creation of the table, the jumping to the table and the matchers created on the table. Before releasing the table resource via the driver, it needed to ensure that there is no reference to this table. After the optimization of the resources management, the reference count now is in the hash list entry as a unified solution for all the resources management. There is no need to keep the "refcnt" in the table resource structure. It is removed in case that there is some unnecessary memory overhead. Fixes: afd7a625 ("net/mlx5: make flow table cache thread safe") Signed-off-by:
Bing Zhao <bingz@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
[ upstream commit ea7cc15ab97a3f73ae4f6c0a9d9c89f5ca0374f3 ] Certain flow rules containing a modify header action for an L4 port could be erroneously rejected as invalid, because this action was counted as consuming two HW actions, while it only requires one. Fixes: 72a944db ("net/mlx5: fix header modify action validation") Signed-off-by:
Dmitry Kozlyuk <dkozlyuk@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-
[ upstream commit 6d4f1066be6cd60a95f21ef07a16a3c3676c5cd9 ] When E-Switch mode was enabled, the NIC egress flows was implicitly appended with source vport to match on. If the metadata register C0 was used to maintain the source vport, it was initialized to zero on packet steering engine entry, the flow could be hit only if source vport was zero, the register C0 of the packet was not correct to match in the TX side, this caused egress flow misses. This patch: - removes the implicit source vport match for NIC egress flow. - rejects the NIC egress flows on the representor ports at validation. - allows the internal NIC egress flows containing the TX_QUEUE items in order to not impact hairpins. Fixes: ce777b14 ("net/mlx5: fix E-Switch flow without port item") Signed-off-by:
Jiawei Wang <jiaweiw@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by:
Ori Kam <orika@nvidia.com>
-
[ upstream commit e1786fd53d7e5631c9ffb9b2fba0fd402bc8cf74 ] When both shared and non-shared RSS actions are present in single flow rule shared RSS index is unset by mistake. For example: 1. flow indirect_action 0 create action_id 3 ingress action RSS ... 2. set sample_actions 0 mark id 43690 / queue index 0 / end 3. flow create 0 ingress group 107 pattern eth / sample ratio 2 index 0 / indirect 3 / end PMD translates the indirect action to a shared RSS description at first. In the split prefix flow, RSS->shared_RSS is unset when translating sample queue action, the subfix flow will treat the RSS as non-shared. Fixes: 8e61555657b2 ("net/mlx5: fix shared RSS and mark actions combination") Signed-off-by:Rongwei Liu <rongweil@nvidia.com> Acked-by:
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
-
[ upstream commit 6ae5c238371aeb86359c5a6c1eb1330e1cc25fca ] RSS expansion scheme has 2 operational modes: default and specific. The default mode expands into all valid options for a given network layer. For example, Ethernet expands by default into VLAN, IPv4 and IPv6, L3 expands into TCP and UDP, etc. The specific mode expands according to flow item next protocol configuration provided by the item spec and mask parameters. There are 3 outcomes for the specific expansion: 1. Back to default – that is the case when result of (spec & mask) allows all possibilities. For example: eth type mask 0 type spec 0 2. No results – in that case item configuration has no valid expansion. For example: eth type mask 0xffff type spec 101 3. Direct - In that case flow item mask and spec configuration return valid expansion option. Example: eth type mask 0x0fff type spec 0x0800. Current PMD expands flow items with explicit spec and mask configuration into the Direct(3) or No results (2). Default expansions were handled as No results. Fixes: f3f1f576f438 ("net/mlx5: fix RSS expansion with explicit next protocol") Signed-off-by:Gregory Etelson <getelson@nvidia.com> Acked-by:
Matan Azrad <matan@nvidia.com>
-