summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
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>
2019-08-06net/i40e: 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: 343422, 343403 Fixes: ca74903b75cf ("net/i40e: extract non-x86 specific code from vector driver") Cc: stable@dpdk.org Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-08-06net/ice: 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: 343452, 343407 Fixes: c68a52b8b38c ("net/ice: support vector SSE in 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/ixgbe: 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: 13245 Fixes: 8a44c15aa57d ("net/ixgbe: extract non-x86 specific code from vector driver") Cc: stable@dpdk.org Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-08-06net/ice: fix null pointer dereferences for tunnelsXiaolong Ye
This patch fixes two null pointer dereferences in flow code detected by coverity scan. Coverity issue: 345815, 345816 Fixes: 94f00800d78b ("net/ice: fix VXLAN/NVGRE flow matching") Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2019-08-06net/e1000: fix PCI config read checkXiao Zhang
Add return value checking when reading configure information from PCI register to avoid Coverity issue. Fixes: 1fc97012 ("net/e1000: fix i219 hang on reset/close") Cc: stable@dpdk.org Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-08-06net/ice: remove unused parameter tagXiaolong Ye
Given the fact that dev parameter is used in ice_dev_configure. Fixes: 50370662b727 ("net/ice: support device and queue ops") Cc: stable@dpdk.org Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2019-08-06net/memif: fix multi-process TxPhil Yang
When working as a secondary process, it uses eth_memif_rx in PMD egress. It should be eth_memif_tx. Fixes: c41a04958b ("net/memif: support multi-process") Signed-off-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Gavin Hu <gavin.hu@arm.com>
2019-08-06net/memif: fix error pathsJakub Grajciar
Coverity issue: 343440, 343459, 343464, 343394 Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-08-06raw/ntb: fix null pointer dereferenceXiaoyun Li
This patch fixes null pointer dereference issues found by coverity scan. Coverity issue: 344981, 344991, 345000, 345002, 345006, 345024 Fixes: 277310027965 ("raw/ntb: introduce NTB raw device driver") Cc: stable@dpdk.org Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
2019-08-05net/bnxt: fix traffic stall on Rx queue stop/startKalesh AP
Fixed a check in bnxt_alloc_hwrm_rx_ring() while initializing the rx ring. Driver should not change "deferred_start" status of rx/tx queues. It should get the status in queue_setup_op() and use that value. Fixes: 9b63c6fd70e3 ("net/bnxt: support Rx/Tx queue start/stop") Cc: stable@dpdk.org Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2019-08-05common/octeontx2: fix mbox memory accessVamsi Attunuru
Octeontx2 PMD's mailbox client uses device memory to send messages to mailbox server in the admin function Linux kernel driver. The device memory used for the mailbox communication needs to be qualified as volatile memory type to avoid unaligned device memory accesses because of compiler's memory access coalescing. This patch modifies the mailbox request and responses as volatile type which were non-volatile earlier and accessed from unaligned memory addresses which resulted in bus errors on Fedora 30 with gcc 9.1.1. Fixes: 2b71657c8660 ("common/octeontx2: add mbox request and response definition") Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-08-05net/mvpp2: remove resources when port is closedLiron Himi
Since 18.11, it is suggested that driver should release all its private resources at the dev_close routine. So all resources previously released in remove routine are now released at the dev_close routine, and the dev_close routine will be called in driver remove routine in order to support removing a device without closing its ports. Above behavior changes are supported by setting RTE_ETH_DEV_CLOSE_REMOVE flag during probe stage. Signed-off-by: Liron Himi <lironh@marvell.com> Reviewed-by: Yuri Chipchev <yuric@marvell.com>
2019-08-05net/thunderx: fix crash on detachAmit Gupta
Fix the PCIe detach segfault by releasing eth_dev resources by adding nicvf cleanup support on PCI detach. Fixes: fdf91e0f2fac ("drivers/net: do not use ethdev driver") Cc: stable@dpdk.org Signed-off-by: Amit Gupta <agupta3@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-08-05drivers/octeontx2: fix Coverity warningsHarman Kalra
Addressed issues reported by coverity: NULL pointer dereferencing issues, unchecked return value, uinitialized scalar value, probable deadcode cases, unintended sign extension, bad bit shift operation, Wrong sizeof argument (SIZEOF_MISMATCH) Coverity issue: 343396, 345028, 344977, 345015, 345025, 344969 Coverity issue: 345014, 344966, 343437, 344993, 345007, 344988 Coverity issue: 343405, 344999, 345003 Fixes: 58f6f93c34c1 ("net/octeontx2: add module EEPROM dump") Fixes: 38f566280abb ("net/octeontx2: add link stats operations") Fixes: b5dc3140448e ("net/octeontx2: support base PTP") Fixes: ba1b3b081edf ("net/octeontx2: support VLAN offloads") Fixes: 092b38341859 ("net/octeontx2: add flow init and fini") Fixes: 3da1b85b6d06 ("common/octeontx2: add FLR IRQ handler") Fixes: 2548ab774f92 ("mempool/octeontx2: add context dump support") Fixes: 2b71657c8660 ("common/octeontx2: add mbox request and response definition") Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-08-05net/octeontx2: support 96xx A1 silicon revisionNithin Dabilpuram
Update workaround changes for erratas that are fixed on 96xx A1. This patch also enables cq drop for all the passes for maintaining performance along with updating a default Rx ring size in dev_info. Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-08-05net/octeontx2: fix optimal default SQE buffer countVamsi Attunuru
Patch extends minimum supported max_sqb_count devarg value such that it can limit the max sqb count to 8 buffers and also defines NIX_DEF_SQB and uses it to compute the number of sqe buffers required for the egress traffic. NIX_DEF_SQB is defined as 16 which is optimal across multiple octeontx2 platforms to scale up the performance proportional to the corresponding port/queue to lcore mappings. Fixes: fb0198b7dc07 ("net/octeontx2: add devargs parsing functions") Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-08-05common/octeontx2: update ready message responseJerin Jacob
The kernel mbox server driver(AF) updated the ready message response. Sync with AF driver. Signed-off-by: Jerin Jacob <jerinj@marvell.com>
2019-08-05net/octeontx2: drop Rx and L2 error packetsJerin Jacob
From B0 HW revision onwards, HW can drop the Rx and L2 error packets. Enable this by default if the feature is available. Since this bit field is used as reserved in old HW revisions, No need to have additional HW version check. Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2019-08-05net/ena: fix L4 checksum Tx offloadMaciej Bielski
During an if-condition evaluation, a 2-bit flag evaluates to 'true' for '0x1', '0x2' and '0x3'. Thus, from this perspective these flags are indistinguishable. To make them distinct, respective bits must be extracted with a mask and then checked for strict equality. Specifically here, even if `PKT_TX_UDP_CKSUM` (value '0x3') was set, the expression `mbuf->ol_flags & PKT_TX_TCP` (the second flag of value '0x1') is evaluated first and the result is 'true'. In consequence, for UDP packets the execution flow enters an incorrect branch. Fixes: 56b8b9b7e5d2 ("net/ena: convert to new Tx offloads API") Cc: stable@dpdk.org Reported-by: Eduard Serra <eserra@vmware.com> Signed-off-by: Maciej Bielski <mba@semihalf.com> Acked-by: Michal Krawczyk <mk@semihalf.com>
2019-08-05net/virtio: fix build with 0 headroomHemant Agrawal
When using RTE_PKTMBUF_HEADROOM as 0, virito ethdev driver throws compilation error virtio_ethdev.c:1851:2: note: in expansion of macro ‘RTE_BUILD_BUG_ON’ RTE_BUILD_BUG_ON(RTE_PKTMBUF_HEADROOM < sizeof(struct virtio_net_hdr_mrg_rxbuf)); This patch change it into run-time check. Bugzilla ID: 335 Fixes: dec08c28c0b3 ("virtio: check packet headroom at compile time") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2019-08-05bus/fslmc: fix build with 0 headroomHemant Agrawal
When using RTE_PKTMBUF_HEADROOM as 0, dpaa driver throws compilation error error "Annotation requirement is more than RTE_PKTMBUF_HEADROOM" This patch change it into run-time check. Bugzilla ID: 335 Fixes: beb2a7865dda ("bus/fslmc: define hardware annotation area size") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-08-05net/dpaa: fix build with 0 headroomHemant Agrawal
When using RTE_PKTMBUF_HEADROOM as 0, dpaa driver throws compilation error error "Annotation requirement is more than RTE_PKTMBUF_HEADROOM" This patch change it into run-time check. Bugzilla ID: 335 Fixes: ff9e112d7870 ("net/dpaa: add NXP DPAA PMD driver skeleton") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-08-05remove extra blank lines at end of filesStephen Hemminger
There should not be blank lines at end of files. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2019-08-05bus/pci: always check IOMMU capabilitiesDavid Marchand
IOMMU capabilities won't change and must be checked even if no PCI device seem to be supported yet when EAL initialised. This is to accommodate with SPDK that registers its drivers after rte_eal_init(), especially on PPC platform where the IOMMU does not support VA. Fixes: 703458e19c16 ("bus/pci: consider only usable devices for IOVA mode") Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: David Christensen <drc@linux.vnet.ibm.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Tested-by: Jerin Jacob <jerinj@marvell.com> Tested-by: Takeshi Yoshimura <tyos@jp.ibm.com>
2019-08-05bus/pci: remove unused x86 Linux constantDavid Marchand
This macro is unused after a previous fix. Fixes: fe822eb8c565 ("bus/pci: use IOVA DMA mask check when setting IOVA mode") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com>
2019-07-30net/bnxt: set checksum flags in vector RxKalesh AP
Fixed to return the checksum status of rx packets by setting "ol_flags" correctly in vector mode receive. These changes have been there for non vector mode receive. In vector mode receive also indicate inner and outer checksum errors individually in "ol_flag" to indicate L3 and L4 error. Fixes: bc4a000f2f53 ("net/bnxt: implement SSE vector mode") Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
2019-07-30net/bnxt: fix context memory allocationKalesh AP
There is a bug in context memory allocation because of which it results in reusing the context memory allocated for the first port while allocating memory for next ports. Fix it by passing the port id in the name field while allocating context memory. Fixes: f8168ca0e690 ("net/bnxt: support thor controller") Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
2019-07-30net/virtio: fix buildJerin Jacob
Add extern to variable declaration to avoid some compiler treating it as variable definition. build error log: lib/librte_pmd_virtio.a(vhost_kernel.o):(.rodata+0x110): multiple definition of `vhost_msg_strings' lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0): first defined here lib/librte_pmd_virtio.a(virtio_user_dev.o):(.rodata+0xe8): multiple definition of `vhost_msg_strings' lib/librte_pmd_virtio.a(vhost_user.o):(.data.rel.ro.local+0x0): first defined here Fixes: 33d24d65fe2b ("net/virtio-user: abstract backend operations") Cc: stable@dpdk.org Signed-off-by: Jerin Jacob <jerinj@marvell.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2019-07-30drivers/raw: standardize namingBruce Richardson
The driver names for rawdevs were both different in make and meson builds and were non-standard in the make version in that some included "rawdev" in the name while others didn't. Therefore, for global consistency of naming, we can use "rte_rawdev" rather than "rte_pmd" for the prefix for the libraries. While most other driver categories use "rte_pmd" as a prefix, there is precedent for this in the mempool drivers use "rte_mempool" as a prefix. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2019-07-30drivers/raw: remove rawdev from directory namesBruce Richardson
The ifpga and skeleton rawdev drivers included "rawdev" in their directory names, which was superfluous given that they were in the drivers/raw directory. Shorten the names via this patch. For meson builds, this will rename the final library .so/.a files produced, but those will be renamed again later via a patch to standardize rawdev names. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2019-07-29common/octeontx2: prevent STP instruction fissureJerin Jacob
OTX2 AP core can sometimes fissure STP instructions when it is more optimal to send such writes into the pipeline as 2 separate instructions. However registers should be excluded from such optimization. This commit ensures that no CSR write is ever fissured by introducing zero cost workaround by setting STP pre-index by zero to make sure OTX2 AP core prevent fissure. Fixes: 8a4f835971f5 ("common/octeontx2: add IO handling APIs") Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2019-07-29drivers/octeontx2: fix recursive interruptsHarman Kalra
In case of QINT interrupt occurrence, SW fails to clear the QINT line resulting in recursive interrupts because currently interrupt handler gets the cause of the interrupt by reading NIX_LF_RQ[SQ/CQ/AURA/POOL]_OP_INT but does not write 1 to clear RQ[SQ/CQ/ERR]_INT field in respective NIX_LF_RQ[SQ/CQ/AURA/POOL]_OP_INT registers. Fixes: dc47ba15f645 ("net/octeontx2: handle queue specific error interrupts") Fixes: 50b95c3ea7af ("mempool/octeontx2: add NPA IRQ handler") Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
2019-07-29event/octeontx2: fix null dereferencePavan Nikhilesh
Fix NULL dereference after rte_realloc and add extra NULL checks. Fix few memory leak with kvargs. Coverity issue: 345023, 345022, 345009, 345011, 345026, 344997, 344990 Fixes: ffa4ec0b6063 ("event/octeontx2: allow adapters to resize inflight buffers") Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>