summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-11version: 19.08.0v19.08releasesThomas Monjalon
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2019-08-11doc: add guidelines for initial PMD submissionRami Rosen
This patch for DPDK Contributor's Guidelines indicates the repos against which a new PMD should be prepared; for example, for new network ethernet PMDs it should be dpdk-next-net, and for new crypto PMDs it should be dpdk-next-crypto. For other new PMDs, the contributor should refer to the MAINTAINERS file. Though this may seem obvious, it is not mentioned in DPDK documentation. Signed-off-by: Rami Rosen <ramirose@gmail.com> Acked-by: John McNamara <john.mcnamara@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Last contribution, last commit closing the release. Thank you Rami, you will be missed.
2019-08-11examples/qos_meter: fix color type conversionJasvinder Singh
In APP_MODE_SRTCM_COLOR_AWARE mode, sample app compilation fails due to wrong meter color type conversion. error log- /qos_meter/main.c:error: conversion to incomplete type (enum rte_meter_color) input_color); Fixes: c1656328dbc2 ("meter: replace color definitions") Cc: stable@dpdk.org Reported-by: Yuan Peng <yuan.peng@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2019-08-10net/bnxt: revert fix traffic stall on stop/startLance Richardson
This reverts commit aa2c00702bad7b2c742e11a86cb9dbbb8364fd88, which introduced the possibility of an invalid address exception when running an application with a stopped receive queue. The issues with rxq stop/start will be revisited in the 19.11 release timeframe. Fixes: aa2c00702bad ("net/bnxt: fix traffic stall on Rx queue stop/start") Cc: stable@dpdk.org Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2019-08-10doc: announce ethdev ABI change for LRO fieldsMatan Azrad
It may be needed by the user to limit the LRO session packet size. In order to allow the above limitation, a new Rx configuration may be added for the maximum LRO session size. A new capability may be added too to expose the maximum LRO session size supported by the port. Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
2019-08-10doc: announce ethdev API changes in offload flagsPavan Nikhilesh
Add new offload flags ``DEV_RX_OFFLOAD_RSS_HASH`` and ``DEV_RX_OFFLOAD_FLOW_MARK``. Add new function ``rte_eth_dev_set_supported_ptypes`` to allow application to set specific ptypes to be updated in ``rte_mbuf::packet_type`` Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2019-08-10doc: announce removal of old 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 is planned to be removed after the next LTS release. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: David Marchand <david.marchand@redhat.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-08-10doc: announce ethdev functions will not return voidAndrew Rybchenko
void return value is bad for get API (like rte_eth_dev_info-get()) since caller does not know if the function does its job or not and output value is filled in. void return value is bad for state changing API (like rte_eth_promiscuous_enable()) since caller should use get API to understand if state is really changed. Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-08-10doc: announce ethernet structures alignment changesStephen Hemminger
Tell users about upcoming changes to rte_ether_addr and rte_ether_header. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
2019-08-08doc: announce lcore config struct removal from ABIDavid Marchand
New accessors have been introduced to provide the hidden information. This symbol can now be kept internal. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
2019-08-08doc: announce malloc virt2phys function removalDavid Marchand
This symbol has been deprecated for quite some time. Let's drop it as soon as possible. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2019-08-08doc: announce CPU flags check function removalDavid Marchand
This symbol has been deprecated for quite some time. Let's drop it as soon as possible. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Aaron Conole <aconole@redhat.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
2019-08-08usertools: fix input handling in telemetry scriptAndrius Sirvys
This commit removes the unnecesarry ast.literal_eval() function call from the input handling, which now relies just on raw_input() to get its input. Fixes: 53f293c9a783 ("usertools: replace unsafe input function") Cc: stable@dpdk.org Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
2019-08-08eal: increase maximum different hugepage sizes on ArmGagandeep Singh
ARM is supporting maximum 4 hugepage sizes (64K, 2M, 32M and 1G) when granule is 4KB since very long and DPDK support maximum 3 hugepage sizes. With all 4 hugepage sizes enabled, applications and some stacks like VPP which are working over DPDK and using "in-memory" eal option, or using separate mount points on ARM based platform, fails at huge page initialization, reporting error messages from eal: EAL: FATAL: Cannot get hugepage information. EAL: Cannot get hugepage information. EAL: Error - exiting with code: 1 This issue is originated from Linux 5.0 (a21b0b78eaf7 "arm64: hugetlb: Register hugepages during arch init") where kernel is by default creating directories for each supported hugepage size in /sys/kernel/mm/hugepages/ On earlier Stable Kernel LTR's, the directories visible in /sys/kernel/mm/hugepages/ were dependent upon what hugepage sizes are configured at boot time. This change increases the maximum supported hugepage sizes to 4 for ARM based platforms. Cc: stable@dpdk.org Signed-off-by: Gagandeep Singh <g.singh@nxp.com> Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
2019-08-08net/ixgbe/base: fix product version checkCongwen Zhang
The "and" condition offset == 0 && offset == NVM_INVALID_PTR can never be true. Fixes: cf3af5aa56c9 ("net/ixgbe/base: add functions to get version info") Cc: stable@dpdk.org Signed-off-by: Congwen Zhang <zhang.congwen@zte.com.cn> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-08-07net/mlx5: fix completion request for multi-segmentViacheslav Ovsiienko
The copying of sent mbufs pointers might be deferred to the end of tx_burst() routine to be copied in one call of rte_memcpy. For the multi segment packets this optimization is not applicable, because number of packets does not match with number of mbufs and we do not have linear array of pointers in pkts parameter. The completion request generating routine wrongly took into account the inconsistent (for multi-segment packets) deferred pointer copying. Fixes: 5a93e173b874 ("net/mlx5: fix Tx completion request generation") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-08doc: add limitation with mlx5 Tx inline settingsViacheslav Ovsiienko
Introduces the possible limitations on maximal Tx queue size in descriptors if Tx inline data are enabled. Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-07doc: update Tx inline settings in mlx5 guideViacheslav Ovsiienko
This patch updates mlx5 documentation in parts: - txq_inline_min parameter is described in more details, values are fixed - maximal amount of segments in multi-segment packets. Fixes: 38b4b397a57d ("net/mlx5: add Tx configuration and setup") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Raslan Darawsheh <rasland@mellanox.com>
2019-08-08test/mcslock: wait for lcore completionAaron Conole
It's possible that the mcsunlock occurs before the test_mcslock_try has a chance to execute, which will result in the trylock being successful, making the test case fail. Fix this by waiting until all lcores have completed their test before unlocking the master lock. Fixes: 32dcb9fd2a22 ("test/mcslock: add MCS queued lock unit test") Signed-off-by: Aaron Conole <aconole@redhat.com> Acked-by: Phil Yang <phil.yang@arm.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
2019-08-08app/testpmd: fix latency stats deinit on signalAmit Gupta
On receiving signal, testpmd showing warning as "LATENCY_STATS: failed to remove Rx/Tx callback" because rte_latencystats_uninit is called without checking if latencystats is enabled or not. After this fix, rte_latencystats_uninit will be called only if latencystats is enabled. Fixes: 62d3216d6194 ("app/testpmd: add latency statistics calculation") Cc: stable@dpdk.org Signed-off-by: Amit Gupta <agupta3@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Tested-by: Jerin Jacob <jerinj@marvell.com>
2019-08-07net/memif: fix build with gcc 9.1Jerin Jacob
gcc-9 is stricter on NULL arguments for printf. Fix the following build error by avoiding NULL argument to printf. In file included from drivers/net/memif/memif_socket.c:26: In function 'memif_socket_create', inlined from 'memif_socket_init' at net/memif/memif_socket.c:965:12: net/memif/rte_eth_memif.h:35:2: error: '%s' directive argument is null [-Werror=format-overflow=] 35 | rte_log(RTE_LOG_ ## level, memif_logtype, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 36 | "%s(): " fmt "\n", __func__, ##args) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") Signed-off-by: Jerin Jacob <jerinj@marvell.com>
2019-08-06version: 19.08-rc4v19.08-rc4Thomas Monjalon
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2019-08-06doc: advise patching third party dependenciesJohn McNamara
Added a note to the getting started guides about patching third party libraries/dependencies to avoid any known vulnerabilities. Signed-off-by: John McNamara <john.mcnamara@intel.com>
2019-08-06doc: remove deprecated ethdev featuresThomas Monjalon
As legacy filter API "filter_ctrl" is superseded since 2017 by the rte_flow API, and got the deprecated attribute in DPDK 19.05, it is time to remove the associated features from the matrix. Not documenting deprecated features as supported will avoid confusion. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2019-08-06app/bbdev: fix bulk allocation checksNicolas Chautru
Returned value from rte_bbdev_enc_op_alloc_bulk not checked consistently. Coverity issue: 344986 Fixes: d819c08327f3 ("app/bbdev: update for 5GNR") Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
2019-08-06baseband/turbo_sw: remove dead codeNicolas Chautru
Error handling code cannot logically be reached. Coverity issue: 344980, 344992 Fixes: c769c711757a ("baseband/turbo_sw: extend for 5G") Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
2019-08-06net/mlx5: fix memory event callback listViacheslav Ovsiienko
The shared Infiniband device context should be included into memory event callback list only once on context creation, and removed from the list only once on context destroying. Multiple insertions of the same object caused the infinite loop on the list processing. Fixes: ccb3815346e6 ("net/mlx5: update memory event callback for shared context") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx5: fix RSS expand for IP-in-IPXiaoyu Min
The RSS expand function for IP-in-IP tunnel type is missed, which leads to create following flow failed: flow create 0 ingress pattern eth / ipv4 proto is 4 / ipv4 / udp / end actions rss queues 0 1 end level 2 types ip ipv4-other udp ipv4 ipv4-frag end / mark id 221 / count / end In order to make RSS expand function working correctly, now the way to check whether a IP tunnel existing is to check whether there is the second IPv4/IPv6 item and whether the first IPv4/IPv6 item's next protocl is IPPROTO_IPIP/IPPROTO_IPV6. For example: ... pattern eth / ipv4 proto is 4 / ipv4 / .... Fixes: 5e33bebdd8d3 ("net/mlx5: support IP-in-IP tunnel") Signed-off-by: Xiaoyu Min <jackmin@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06doc: add more details about mlx5 offloadsThomas Monjalon
Add firmware config for MPLS and DevX (required by LRO and DR). Add a table for queue offloads requirements. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Raslan Darawsheh <rasland@mellanox.com>
2019-08-06doc: add mlx5 design detailsThomas Monjalon
Some details about libibverbs were missing: - automatic detection by meson - main ways to access the device Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Raslan Darawsheh <rasland@mellanox.com>
2019-08-06doc: remove useless console syntax in mlx guidesThomas Monjalon
It is not needed to use "console" syntax highlighting for literal blocks. The file is easier to read by removing the code-block lines and simply having double colons in previous line. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Raslan Darawsheh <rasland@mellanox.com>
2019-08-06doc: fix wording and formatting of mlx5 guideThomas Monjalon
These are simple fixes of punctuation, anchor placement or wording. The table format is fixed to avoid having a long line in the first column. Fixes: 909be50a34d0 ("doc: update Mellanox guides and release notes") Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Raslan Darawsheh <rasland@mellanox.com>
2019-08-06doc: improve firmware configuration in mlx5 guideThomas Monjalon
The command mlxconfig was not enough explained and too much verbose at the same time. The syntax is now explained in introduction before listing the options, without repeating the commands. Some options, which are explained elsewhere in the doc, are added to this list. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Raslan Darawsheh <rasland@mellanox.com>
2019-08-06net/mlx5: fix UDP checksum zeroingDekel Peled
Function flow_dv_zero_encap_udp_csum() uses a while loop to iterate over vlan items in flow rule. Pointer next_hdr is incremented to the next item before it is used, so the first item is skipped. This patch moves the incrementing of next_hdr to the correct place. Fixes: bf1d7d9a033a ("net/mlx5: zero out UDP checksum in encapsulation") Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx5: fix link speed info when link is downXiaoyu Min
When the link is down, the link speed returned by ethtool is UINT32_MAX and the link status is 0. In this case, the DPDK ethdev link speed should be set to ETH_SPEED_NUM_NONE. Otherwise since link speed is non-zero but link status is zero, this is an inconsistent situation and -EAGAIN is returned, which is not right. Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds") Cc: stable@dpdk.org Signed-off-by: Xiaoyu Min <jackmin@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx5: fix completion queue overflow for large burstViacheslav Ovsiienko
There is the limit on completion descriptor fetch to improve latency. If burst size is large there might be not enough resources freed in completion processing. This fix reiterates sending loop and allows multiple completion descriptor fetch and processing. Fixes: 18a1c20044c0 ("net/mlx5: implement Tx burst template") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
2019-08-06net/mlx5: fix packet size inline settingsViacheslav Ovsiienko
This patch fixes the default settings for packet size to inline with Enhanced Multi-Packet Write feature, allowing 256B packets to be inlined with Out-Of-the-Box settings. Fixes: 50724e1bba76 ("net/mlx5: update Tx definitions") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
2019-08-06net/mlx5: fix inline data settingsViacheslav Ovsiienko
If the minimal inline data are required the data inline feature must be engaged. There were the incorrect settings enabling the entire small packet inline (in size up to 82B) which may result in sending rate declining if there is no enough cores. The same problem was raised if inline was enabled to support VLAN tag insertion by software. Fixes: 38b4b397a57d ("net/mlx5: add Tx configuration and setup") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
2019-08-06net/mlx5: fix completion queue drain loopViacheslav Ovsiienko
The completion loop speed optimizations for error-free operations are done - no CQE field fetch on each loop iteration. Also, code size is oprimized - the flush buffers routine is invoked once. Fixes: 318ea4cfa1b1 ("net/mlx5: fix Tx completion descriptors fetching loop") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
2019-08-06net/mlx5: fix inline data length assertViacheslav Ovsiienko
The debug assert wrongly triggers on the inline data 18B, this should be passed successfully. Fixes: 18a1c20044c0 ("net/mlx5: implement Tx burst template") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
2019-08-06net/mlx5: fix default minimal data inlineViacheslav Ovsiienko
The patch [Fixes] sets the default value of required minimal inline data to 0 bytes. On some configurations (depends on switchdev/legacy settings and FW version/settings) the ConnectX-4LX NIC requires minimal 18 bytes of Tx descriptor inline data to operate correctly. Wrongly set to 0 default value may prevent NIC from operating with out-of-the-box settings, this patch reverts default value for ConnectX-4LX back to 18 bytes (inline L2). Fixes: 9f350504bb32 ("net/mlx5: fix ConnectX-4LX minimal inline data limit") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
2019-08-06net/mlx5: fix VLAN inner type matching on DR/DVXiaoyu Min
The rte_flow_item_vlan has the inner_type, which is missing on DR/DV flow engine. By adding this support, the example testpmd commands could be: - matching all vlan traffic with id 2: testpmd> flow create 0 ingress pattern eth / vlan vid is 2 / end actions queue index 2 / end - matching all ipv4 traffic in vlan with id 2: testpmd> flow create 0 ingress pattern eth / vlan vid is 2 inner_type is 0x0800 / end actions queue index 2 / end Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items") Cc: stable@dpdk.org Signed-off-by: Xiaoyu Min <jackmin@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx5: fix flow rule configurationDekel Peled
Some flow rules were not configured. Part of the code in function flow_dv_matcher_enable() is enclosed in '#ifdef HAVE_MLX5DV_DR' preprocessor directive. Using this directive is not needed here, and prevents compilation of relevant code. This patch removes the unnecessary preprocessor directive. Fixes: 4f84a19779ca ("net/mlx5: add Direct Rules API") Cc: stable@dpdk.org Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx5: fix validation of VLAN PCP itemDekel Peled
Function mlx5_flow_validate_item_vlan() validates the user setting is supported by NIC, using a mask with TCI mask 0x0fff. This check will reject a flow rule specifying a vlan pcp item. This patch updates mlx5_flow_validate_item_vlan() to use mask 0xffff, so flow rules with vlan pcp item are accepted. Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function") Cc: stable@dpdk.org Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx4: fix crash on info query in secondary processStephen Hemminger
mlx4_dev_info_get calls mlx4_get_ifname, but mlx4_get_ifname uses priv->ctx which is not a valid pointer in a secondary process. The fix is to cache the value in primary. In the primary process, get and store the interface index of the device so that secondary process can see it. Bugzilla ID: 320 Fixes: 61cbdd419478 ("net/mlx4: separate device control functions") Cc: stable@dpdk.org Reported-by: Suyang Ju <sju@paloaltonetworks.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Matan Azrad <matan@mellanox.com>
2019-08-06net/mlx5: fix Tx inline minimum for ConnectX-5David Christensen
The function mlx5_set_min_inline() includes a switch() that checks various PCI device IDs in order to set the txq_inline_min value. No value is set when the PCI device ID matches the ConnectX-5 adapters, resulting in an assert() failure later in the function mlx5_set_txlimit_params(). This error was encountered on an IBM Power 9 system running RHEL 7.6 w/o Mellanox OFED installed. Fixes: 38b4b397a57d ("net/mlx5: add Tx configuration and setup") Signed-off-by: David Christensen <drc@linux.vnet.ibm.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx5: fix limit of direct rules tables numberDekel Peled
MLX5 PMD limits the number of SW steering tables to 32. This patch updates the limit to 65535, to allow wide range of values. Fixes: e2b4925ef7c1 ("net/mlx5: support Direct Rules E-Switch") Cc: stable@dpdk.org Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-08-06net/mlx5: add workaround for VLAN in virtual machineViacheslav Ovsiienko
On some virtual setups (particularly on ESXi) when we have SR-IOV and E-Switch enabled there is the problem to receive VLAN traffic on VF interfaces. The NIC driver in ESXi hypervisor does not setup E-Switch vport setting correctly and VLAN traffic targeted to VF is dropped. The patch provides the temporary workaround - if the rule containing the VLAN pattern is being installed for VF the VLAN network interface over VF is created, like the command does: ip link add link vf.if name mlx5.wa.1.100 type vlan id 100 The PMD in DPDK maintains the database of created VLAN interfaces for each existing VF and requested VLAN tags. When all of the RTE Flows using the given VLAN tag are removed the created VLAN interface with this VLAN tag is deleted. The name of created VLAN interface follows the format: evmlx.d1.d2, where d1 is VF interface ifindex, d2 - VLAN ifindex Implementation limitations: - mask in rules is ignored, rule must specify VLAN tags exactly, no wildcards (which are implemented by the masks) are allowed - virtual environment is detected via rte_hypervisor() call, and the type of hypervisor is checked. Currently we engage the workaround for ESXi and unrecognized hypervisors (which always happen on platforms other than x86 - it means workaround applied for the Flow over PCI VF). There are no confirmed data the other hypervisors (HyperV, Qemu) need this workaround, we are trying to reduce the list of configurations on those workaround should be applied. Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2019-08-06net/fm10k: fix address of first segmentXiao Zhang
This patch fixes (dereference after null check) coverity issue. The address of first segmented packets was not set correctly during reassembling packets which led to this issue. Coverity issue: 343416 Fixes: fe65e1e1ce61 ("fm10k: add vector scatter Rx") Cc: stable@dpdk.org Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-08-06net/iavf: fix address of first segmentXiao Zhang
This patch fixes (dereference after null check) coverity issue. The address of first segmented packets was not set correctly during reassembling packets which led to this issue. Coverity issue: 343447 Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx") Cc: stable@dpdk.org Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>