Ajit Khaparde [Wed, 20 Nov 2019 03:00:23 +0000 (19:00 -0800)]
net/bnxt: fix flow check for null spec and mask
bnxt_validate_and_parse_flow_type already has protocol specific NULL
checks for rte_flow_item spec and mask and take actions accordingly.
A check at the top of the loop is redundant and is preventing the
protocol specific checks from being executed.
Rahul Gupta [Fri, 15 Nov 2019 09:40:09 +0000 (15:10 +0530)]
net/bnxt: fix jumbo frame configuration in firmware
In order to prevent reconfiguration of firmware resources for every
MTU change, configure FW with max MTU value using hwrm_func_cfg
to support all frame sizes. There is no need to overwrite the driver
level MTU variable data->mtu with the FW MTU.
Fixes: 905cd45ce30e ("net/bnxt: use configured MTU during load") Cc: stable@dpdk.org Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Ajit Khaparde [Mon, 18 Nov 2019 22:23:45 +0000 (14:23 -0800)]
net/bnxt: fix resource qcaps with older FW
On some old versions of FW, bnxt_hwrm_func_resc_qcaps can return an
error. This is because the command was not implemented completely
in FW till the subsequent version. Ignore the error and continue with
the driver initialization.
Qi Zhang [Tue, 19 Nov 2019 06:14:42 +0000 (14:14 +0800)]
net/ice: add flow mark hint
Since not all data paths support flow mark, the driver needs
a hint from application to select the correct data path if
flow mark is required. The patch introduces a devarg
"flow-mark-support" as a workaround solution, since a standard
way is still ongoing.
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Qiming Yang <qiming.yang@intel.com>
Yahui Cao [Mon, 18 Nov 2019 22:23:43 +0000 (06:23 +0800)]
net/ice: fix flow director rule after device stop
By moving irq enable/disable from device start/stop to FDIR
setup/teardown, FDIR queue irq config is independent of LAN queue irq
config. So device stop will not cause FDIR rule failure.
Qi Zhang [Tue, 19 Nov 2019 01:07:02 +0000 (09:07 +0800)]
net/ice: fix flow type selection for flow director
The FDIR parser will select ICE_FLTR_PTYPE_NONF_IPV4_OTHER as flow type
for an IPv4 UDP flow with empty l4 matching field which is not correct.
Same issues happens on all the combination between IPv4/IPv6 and
UDP/TCP/SCTP cases.
The patch fixes all the wrong flow ptype selections.
Fixes: f5cafa961fae ("net/ice: add flow director create and destroy") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com>
As the result of testing it was found that some hosts have
the performance penalty imposed by required write memory barrier
after doorbell writing. Before 19.08 release there was some
heuristics to decide whether write memory barrier should be
performed. For the bursts of recommended size (or multiple)
it was supposed there were some extra ongoing packets in the
next burst and write memory barrier may be skipped (supposed
to be performed in the next burst, at least after descriptor
writing).
This patch restores that behaviour, the devargs tx_db_nc=2
must be specified to engage this performance tuning feature.
Dekel Peled [Thu, 24 Oct 2019 12:52:53 +0000 (15:52 +0300)]
net/mlx5: change default flow engine to DV
The default flow engine is Verbs flow engine, for legacy reasons.
This patch changes the default to DV flow engine (dv_flow_en = 1).
Documentation is updated accordingly.
The rdma_core routine mlx5dv_dr_create_flow_action_dest_vport()
requires the vport id parameter to create port action.
The register c[0] value was used to deduce the port id value
and it fails in bonding configuration. The correct way is
to apply vport_num value queried from the rdma_core library.
Matan Azrad [Sun, 17 Nov 2019 12:14:54 +0000 (12:14 +0000)]
net/mlx5: fix flow table hash list conversion
For the case when DR is not supported and DV is supported:
multi-tables feature is off.
In this case, only table 0 is supported.
Table 0 structure wrongly was not created what prevented any
matcher object to be created and even caused crashes.
Create the table hash list in DV case too.
Create table zero empty structure for each domain when DR is not
supported.
Allow NULL DR internal table object to be used.
Jakub Grajciar [Mon, 4 Nov 2019 11:03:00 +0000 (12:03 +0100)]
net/memif: support zero-copy slave
Zero-copy slave support for memif PMD.
Slave interface exposes DPDK memory to
master interface. Only single file segments
are supported (EAL option --single-file-segments).
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Dekel Peled [Thu, 14 Nov 2019 13:59:13 +0000 (15:59 +0200)]
app/testpmd: fix cleanup of Tx metadata offload
Commit in fixes tag removed the match_metadata Tx offload.
This patch removes the option to select this offload from testpmd
menu, help text and documentation.
It also modifies the cmd_show_tx_metadata_parsed() function, to
display the value correctly, and the dump_pkt_burst() function to
display the relevant (Tx/Rx) metadata only.
Andrew Rybchenko [Thu, 14 Nov 2019 16:40:52 +0000 (16:40 +0000)]
ethdev: improve message about not disabled offload
Avoid usaged of "failed" in the message about not requested but
enabled offload, since it is not a failure.
Fixes: 1daa33805824 ("ethdev: validate offloads set by PMD") Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Andrew Rybchenko [Thu, 14 Nov 2019 16:40:51 +0000 (16:40 +0000)]
ethdev: decrease verbosity of not disabled offload logs
Right now a PMD decides if it is critical that an offload cannot
be disabled (i.e. not requested, but still enabled). If PMD treaks
it as OK, we should not spam logs with corresponding messages
by default. Default log level in ethdev is INFO, so change the
message level to DEBUG.
Fixes: 1daa33805824 ("ethdev: validate offloads set by PMD") Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Pavan Nikhilesh [Thu, 7 Nov 2019 02:52:54 +0000 (08:22 +0530)]
net/octeontx2: support reduced set of packet types
Add support to set supported ptypes for octeontx2 and
remove devarg scheme to disable ptype parsing support as
application can use rte_eth_dev_set_ptypes() normative API
to enable the same use case.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
Harman Kalra [Mon, 11 Nov 2019 05:48:54 +0000 (05:48 +0000)]
net/octeontx2: fix PTP configurations for VF
Issue has been observed if PTP is already enabled on PF and
later VFs are configured. Since PTP requires mbuf data off
to be shifted by 8 bytes, due to this l3fwd/l2fwd was not
working with VFs.
Also some extra garbage bytes were observed in packet data
when ptp was enabled.
Fixes: b5dc3140448e ("net/octeontx2: support base PTP") Cc: stable@dpdk.org Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
Anoob Joseph [Mon, 11 Nov 2019 13:21:14 +0000 (18:51 +0530)]
net/octeontx2: fix error handling after CQ init
After otx2_nix_register_cq_irqs() is called and the IRQs are setup,
otx2_nix_unregister_cq_irqs() need to be called in the subsequent error
exit paths.
Fixes: d34db5ccbf30 ("net/octeontx2: fix driver reconfiguration") Cc: stable@dpdk.org Signed-off-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
Tianfei Zhang [Thu, 14 Nov 2019 09:03:07 +0000 (17:03 +0800)]
raw/ifpga: introduce IRQ functions
Introducing new register and unregister API for ifpga interrupt.
1. register FME and AFU interrupt
ifpga_register_msix_irq()
2. unregister FME and AFU interrupt
ifpga_unregister_msix_irq()
On PAC N3000 card, there is one PCIe MSIX interrupt for FME management,
like the error report, thermal management, we use this interrupt in
ifpga_rawdev device driver. on the other hand, there are about 4 PCIe
MSIX interrupts are reserved for AFU which end-user can use those
interrupts in their AFU logic design. End-user can use those APIs to
register interrupt handler in their AFU drivers.
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com>
Tianfei Zhang [Thu, 14 Nov 2019 09:03:06 +0000 (17:03 +0800)]
raw/ifpga/base: support multiple cards
In PAC N3000 card, there is one MAX10 chip in each card, and
all of the sensors are connected to MAX10 chip. To support multiple
cards in one server, we introducing a sensor device list under
intel_max10_device instead of a global list. On the other hand, we
using separate intel_max10_device instance for each opae_adatper.
Add mutex lock on do_transaction() function for SPI driver to avoid
race condition.
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com>
Tianfei Zhang [Thu, 14 Nov 2019 09:03:02 +0000 (17:03 +0800)]
raw/ifpga/base: configure FEC mode
We can change the PKVL FEC mode when the A10 NIOS FW
initialization. The end-user can use this feature the
change the FEC mode, the default mode is RS FEC mode.
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com>
Tianfei Zhang [Thu, 14 Nov 2019 09:02:55 +0000 (17:02 +0800)]
raw/ifpga/base: support sensor
The sensor devices are connected in MAX10 FPGA. we used the
device tree to describe those sensor devices. Parse the device
tree to get the sensor devices and add them into a list.
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com>
Tianfei Zhang [Thu, 14 Nov 2019 09:02:53 +0000 (17:02 +0800)]
raw/ifpga/base: support device tree
In PAC N3000 card, this is a BMC chip which using MAX10 FPGA
to manage the board configuration, like sensors, flash controller,
QSFP, powers. And this is a SPI bus connected between A10 FPGA and
MAX10, we can access the MAX10 registers over this SPI bus.
In BMC, there are about 19 sensors in MAX10 chip, including the FPGA
core temperature, Board temperature, board current, voltage and so on.
We use DTB (Device tree table) to describe it. This DTB file is store
in nor flash partition, which will flashed in Factory when the boards
delivery to customers. And the same time, the customers can easy to
customize the BMC configuration like change the sensors.
Add device tree support by using libfdt library in Linux distribution.
The end-user should pre-install the libfdt and libfdt-devel package
before use DPDK on PAC N3000 Card.
For Centos 7.x: sudo yum install libfdt libfdt-devel
For Ubuntu 18.04: sudo apt install libfdt-dev libfdt1
To eliminate build error, we currently do not compile raw/ifpga
and net/ipn3ke. User should install libfdt and libfdt-devel first,
modify config/common_linux, CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=n
to CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=y, modify config/common_base,
CONFIG_RTE_LIBRTE_IPN3KE_PMD=n to CONFIG_RTE_LIBRTE_IPN3KE_PMD=y.
Then this function can work.
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Tianfei Zhang [Thu, 14 Nov 2019 09:02:52 +0000 (17:02 +0800)]
raw/ifpga/base: expose SEU error
This patch exposes SEU error information to application then application
could compare this information (128bit) with its own SMH file to know
if this SEU is a fatal error or not.
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com>
Tianfei Zhang [Thu, 14 Nov 2019 09:02:51 +0000 (17:02 +0800)]
raw/ifpga/base: clear pending bit
Every defined bit in FME_ERROR0 is RW1C. Other reserved bits are always
0 when readout and it will plan to be RW1C if needed in future.
So it is safe just write the read back value to clear all the errors.
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com>
Andy Pei [Thu, 14 Nov 2019 09:02:49 +0000 (17:02 +0800)]
net/i40e: support ipn3ke FPGA port bonding
In ipn3ke, each FPGA network side port bonding to an i40e pf,
each i40e pf link status should get data from FPGA network,
side port. This patch provide bonding relationship.
Signed-off-by: Rosen Xu <rosen.xu@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com>
The kernel driver (starting from OFED 4.7.3.1.3) uses the upper half
of metadata register C0 to provide VHCA and vport id's. The mlx5 PMD
should check the actual mask of register C0 and shift the vport id
value for port actions appropriately.
Yahui Cao [Thu, 14 Nov 2019 14:16:12 +0000 (22:16 +0800)]
net/ice: add SPDX tag
Fixes: 84dc7a95a2d3 ("net/ice: enable flow director engine") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Qi Zhang [Thu, 14 Nov 2019 05:02:01 +0000 (13:02 +0800)]
net/ice: ignore error when removing RSS rule
Currently, multiple rte_flow RSS rules may map to the same
hardware rule if a later rule is just for input set change or
symm turn on/off. So after one of the rules be destroyed, we will
get error ICE_ERR_DOES_NOT_EXIST when destroying any other rules.
The patch simply fixes this by ignoring this error. A more
sophisticated fix that remember the sequence and replay properly
will be provided in the future.
Simei Su [Wed, 13 Nov 2019 02:03:29 +0000 (10:03 +0800)]
net/ice: fix RSS flow destroy
In ice_hash_create(), whatever the hash_function is, the
filter_ptr->symm is always 0 and when we destroy the flow, the
ice_rem_rss_cfg() is never carried out. So the destroy function never
works well. The patch fixes this issue and at the same time
distinguishes between simple_xor and symmetric_toeplitz.
To fix this issue, the patch adds a new structure to include a flag to
indicate if it is a simple_xor flow so that it's easier to remove the
config when destroying the flow. The patch also simplifies code
implementation logic in ice_hash_create().
Ajit Khaparde [Wed, 13 Nov 2019 08:29:45 +0000 (13:59 +0530)]
net/bnxt: fix null dereference in Rx stop
Null-checking "rxq" suggests that it may be null, but it has already
been dereferenced on all paths leading to the check.
Refactored the code to address this issue.
Venkat Duvvuru [Wed, 13 Nov 2019 08:29:44 +0000 (13:59 +0530)]
net/bnxt: fix log message level
When an existing mac_addr is tried to get programmed again, a
message is displayed that the mac_addr already exists.
However the message is of type ERR. This patch changes the message
to type DEBUG
Rahul Gupta [Wed, 13 Nov 2019 08:29:42 +0000 (13:59 +0530)]
net/bnxt: fix flow creation with non-consecutive group ids
In non-RSS mode, vnics map 1:1 with Rx queues during init. This can
create problems if non-consecutive group IDs are given as part of
subsequent flow create cmds as they can end up pointing to Rx queues
(mapped during init) that are different than the intended destination
queue as specified in the flow create cmd.
To fix this, now that we have the ability to dynamically create
vnics, do not create any additional vnics other than the default vnic
during init. Allocate them only during flow/filter creation time.
When RSS is disabled we need to use the COS queue count queried
from firmware.
Kalesh AP [Wed, 13 Nov 2019 08:29:40 +0000 (13:59 +0530)]
net/bnxt: add checks for firmware reset
Driver should fail the eth_dev_ops callbacks and accessing
Tx and Rx queues when device is in reset or in error state.
Added missing checks for fw reset in few routines.
Fixes: be14720def9c ("net/bnxt: support FW reset") Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Dekel Peled [Tue, 12 Nov 2019 14:19:20 +0000 (16:19 +0200)]
net/mlx5: fix verbs flow counter query
Function flow_verbs_counter_query() was recently modified.
The new 'if' condition uses a pointer to flow counter-set.
This pointer is valid only if flow contains a count action.
This patch adds check to verify the pointer is valid.
Dekel Peled [Mon, 11 Nov 2019 14:32:46 +0000 (16:32 +0200)]
net/mlx5: fix getting Rx queue type
Function mlx5_rxq_get_type() uses the input queue index, without
checking it, as index to the Rx queues array.
If this value is too high, it will result in pointer to memory out
of Rx queues array bounds.
This patch adds check of the input queue index, to verify it is valid.
net/mlx5: fix suffix flow creation in metadata split
The variable cleanup was erroneously done before pointer usage.
The cleanup is moved to appropriate place, comment is clarified.
Fixes: 8d72fa668964 ("net/mlx5: share tag between meter and metadata") Reported-by: Eli Britstein <elibr@mellanox.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
Shougang Wang [Wed, 13 Nov 2019 01:37:56 +0000 (01:37 +0000)]
net/ice: fix flow director profile removal
The removal of FDIR profile should start from the next
of ICE_FLTR_PTYPE_NONF_NONE.
Fixes: 109e8e06249e ("net/ice: configure HW flow director rule") Signed-off-by: Shougang Wang <shougangx.wang@intel.com> Acked-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Shougang Wang [Wed, 13 Nov 2019 01:37:55 +0000 (01:37 +0000)]
net/ice: fix memzone reserve and release in flow director
To avoid memzone reserve failure and memory leak, following
resources management should be added.
- Check if the FDIR Memzone already exists before reserving.
- Free FDIR memzone when teardown and other failure scenarios.
Fixes: 84dc7a95a2d3 ("net/ice: enable flow director engine") Signed-off-by: Shougang Wang <shougangx.wang@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Bruce Richardson [Tue, 12 Nov 2019 13:40:23 +0000 (13:40 +0000)]
net/i40e: fix clang build with 16B descriptors
When compiling with 16B descriptor support enabled, clang compiles gave
an error, complaining that the final parameter of _mm256_blend_epi32()
had to be an immediate value (i.e. compile-time constant):
i40e_rxtx_vec_avx2.c:561:21: error: argument to
'__builtin_ia32_pblendd256' must be a constant integer
__m256i tmp0_1 = _mm256_blend_epi32(fdir_zero_mask,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
While it appears that GCC was able to convert the constant variable
value "fdir_blend_mask" into the blend call, clang was not doing so. To
guarantee the use of an immediate we convert the variable value to a
"#define".
Fixes: 7d087a0a8b8e ("net/i40e: support flow director on AVX Rx") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Chenxu Di [Tue, 12 Nov 2019 05:56:06 +0000 (05:56 +0000)]
net/i40e: fix hotplug remove
testpmd will occur infinite loops when device hotplug remove.
We can fix the issue by using the pci generic remove function
Fixes: ac89d46096d5 ("net/i40e: release port upon close") Signed-off-by: Chenxu Di <chenxux.di@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Chenxu Di [Tue, 12 Nov 2019 06:00:14 +0000 (06:00 +0000)]
net/ixgbe: fix hotplug remove
testpmd will occur infinite loops when device hotplug remove.
We can fix the issue by using the pci generic remove function
Fixes: f2f4990eff94 ("net/ixgbe: release port upon close") Signed-off-by: Chenxu Di <chenxux.di@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Simei Su [Thu, 7 Nov 2019 05:47:03 +0000 (13:47 +0800)]
net/ice: fix crash with wrong package
This patch fixes core dump issue when entering safe mode with a
wrong ice.pkg. In safe mode, rte_flow is not supported and it
won't initialize any flow engine.
Fixes: 7615a6895009 ("net/ice: rework for generic flow enabling") Signed-off-by: Simei Su <simei.su@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Qiming Yang [Mon, 11 Nov 2019 03:24:24 +0000 (11:24 +0800)]
net/ice: fix link status recovery
This patch fixes a kernel driver link status issue by recovering
link status when device stops.
Fixes: e6161345d8a9 ("net/ice: support link status change") Cc: stable@dpdk.org Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Simei Su [Mon, 11 Nov 2019 07:55:27 +0000 (15:55 +0800)]
net/ice: fix RSS rule destroy
This patch changes RSS rule destroy interface from ice_rem_vsi_rss_cfg()
to ice_rem_rss_cfg(). To coordinate with input set change, it should
destroy a specific flow rule but not all vsi cfg.
Dekel Peled [Mon, 11 Nov 2019 14:32:31 +0000 (16:32 +0200)]
net/mlx5: fix check of RSS queue index
RSS action validation function checks the queues included in RSS
to make sure they are valid.
A Queue is considered valid if the pointer to the queue (item at
location queue-index of RxQ array) is not a null value.
The queue indices are not checked. If a large value is entered as
queue index, using it as an index in RxQ array will result in a
pointer to memory out of array bounds. If this memory contains a
value which is not null, this queue will be wrongly considered valid.
This patch updates function mlx5_flow_validate_action_rss() with
check of the input queue indices, as done in function
mlx5_flow_validate_action_queue().
Host adapter attributes are queried from kernel via multiple
DevX calls. The retrieved data were erroneously overwritten,
the order of querying is fixed.
Fixes: 6bc327b94fe8 ("net/mlx5: fill meter capabilities using DevX") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
Akhil Goyal [Wed, 20 Nov 2019 05:58:45 +0000 (11:28 +0530)]
crypto/openssl: support in-place scatter gather
As per current support, Scatter Gather is only supported
for out of place input and output buffers.
This patch add support for Scatter Gather for in-place buffers.
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Anoob Joseph <anoobj@marvell.com>
Fan Zhang [Wed, 6 Nov 2019 10:54:25 +0000 (10:54 +0000)]
examples/fips_validation: fix auth verify
Fixes: f64adb6714e0 ("examples/fips_validation: support HMAC parsing") Cc: stable@dpdk.org
This patch fixes the incorrect mbuf write and digest memory leak in
fips_validation authentication verify.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Pablo de Lara [Thu, 14 Nov 2019 12:21:04 +0000 (12:21 +0000)]
doc: update release notes for AESNI PMDs
AESNI MB and AESNI GCM PMDs were updated to support
latest IPSec Multi buffer library (v0.53), and the user guide
of hose drivers were updated but not release notes.
Fixes: 4b701523742e ("crypto/aesni_gcm: support in-place chained mbufs") Fixes: d91dc5835656 ("doc: support IPsec Multi-buffer lib v0.53") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lukasz Bartosik [Wed, 6 Nov 2019 15:48:14 +0000 (16:48 +0100)]
examples/ipsec-secgw: fix default configuration
Update default configuration of ipsec-secgw:
1.In ep0.cfg change SPI value used by two inbound IPv6 security
policies from 15 to 115 and 16 to 116 to point to existing inbound
SAs. There are no inbound SAs with SPI value 15, 16.
- In ep1.cfg change SPI value used by two outbound IPv6 security
policies from 15 to 115 and 16 to 116 to point to existing outbound
SAs. There are no outbound SAs with SPI value 15, 16. Add missing
priority parameter in two inbound IPv4 security policies.
Xueming Li [Tue, 12 Nov 2019 14:50:28 +0000 (14:50 +0000)]
malloc: fix realloc padded element size
When resize a memory with next element, the original element size grows.
If the orginal element has padding, the real inner element size didn't
grow as well and this causes trailer verification failure when malloc
debug enabled.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: Xueming Li <xuemingl@mellanox.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
Xueming Li [Tue, 12 Nov 2019 14:50:27 +0000 (14:50 +0000)]
malloc: fix realloc copy size
In rte_realloc, if the old element has pad and need to allocate a new
memory, the padding size was not deducted, so more data was copied to
new data area.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: Xueming Li <xuemingl@mellanox.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
Bruce Richardson [Tue, 12 Nov 2019 16:41:36 +0000 (16:41 +0000)]
kernel/freebsd: always use clang for kmod compilation
Clang is the system compiler for FreeBSD and kernel module builds can fail
when built with gcc, e.g. when testing with test-meson-builds.sh.
Therefore, it's safer to always use clang to build the kmods since the
actual flags used are outside of DPDK's control and cannot be guaranteed to
work with all compilers.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Tue, 12 Nov 2019 16:41:35 +0000 (16:41 +0000)]
kernel/freebsd: allow installing kernel modules
Set the install path for the kernel modules as /boot/modules. This may
ease the integration with the official FreeBSD ports system as all
components should be correctly located in the staging directory after
running "ninja install"
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Tue, 19 Nov 2019 15:15:43 +0000 (15:15 +0000)]
ci: add 32-bit travis builds
Add a travis job to build for 32-bit on 64-bit systems to catch additional
build errors, for example, incorrect use of printf specifiers with uint64_t
types.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Aaron Conole <aconole@redhat.com>
David Marchand [Tue, 19 Nov 2019 12:59:23 +0000 (13:59 +0100)]
build: remove unneeded meson option
The meson option has been missed when removing this code.
Fixes: 8e35792c5325 ("eal: remove dead code on NUMA node detection") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Michael Pfeiffer [Fri, 15 Nov 2019 13:03:28 +0000 (14:03 +0100)]
kni: reduce interface name size
The name in rte_kni_device_info is passed to the kernel, which allows
interface names with at most 16 bytes (IFNAMSIZ). rte_kni_alloc with a
longer name currently trigger a kernel BUG in alloc_netdev_mqs in
net/core/dev.c. Reduce RTE_KNI_NAMESIZE to prevent this situation.
Signed-off-by: Michael Pfeiffer <michael.pfeiffer@tu-ilmenau.de> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Anatoly Burakov [Thu, 14 Nov 2019 13:58:21 +0000 (13:58 +0000)]
mempool: remove check for bad IOVA when populating
Currently, mempool will check if IOVA is bad for a segment, and reject
the IOVA if hugepages are also enabled. This check is wrong because now
that we have external memory segments, they are allowed to have their
IOVA's to be invalid. This check also doesn't make much sense in the
first place, because the following code can handle bad IOVA's perfectly
well (and in fact, this check is not triggering a failure when
--no-huge option is enabled), so there is not much sense to check for
this in the first place.