Shreyansh Jain [Wed, 9 May 2018 09:49:43 +0000 (15:19 +0530)]
net/dpaa: fix max push mode queue
Split default and max push mode queues to 4 and 8, respectively.
Fixes:
0c504f6950b6 ("net/dpaa: support push mode")
Cc: stable@dpdk.org
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Ophir Munk [Tue, 8 May 2018 17:07:35 +0000 (17:07 +0000)]
net/tap: report on supported RSS hash functions
Report on TAP supported RSS functions as part of dev_infos_get
callback: ETH_RSS_IP, ETH_RSS_UDP and ETH_RSS_TCP.
Known limitation: TAP supports all of the above hash functions together
and not in partial combinations.
Previous to this commit RSS support was reported as none. Since the
introduction of [1] it is required that all RSS configurations will be
verified.
[1] commit
8863a1fbfc66 ("ethdev: add supported hash function check")
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 3 May 2018 11:59:44 +0000 (13:59 +0200)]
app/testpmd: fix weak RSS hash key for flow
The default RSS hash key automatically provided by testpmd for RSS actions
specified without one is so weak that traffic can't spread properly on L4
with it (as seen with TCPv6).
It is only 30 bytes long, zero-padded to RSS_HASH_KEY_LENGTH (64 bytes),
later truncated to 40 bytes for most PMDs. The presence of padding is
really what kills balancing.
This patch provides a full 64-byte (non-zero-terminated) string to address
this issue.
Fixes:
d0ad8648b1c5 ("app/testpmd: fix RSS flow action configuration")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 3 May 2018 11:59:42 +0000 (13:59 +0200)]
app/testpmd: fix empty list of RSS queues for flow
Since the commit referenced below, specifying a RSS action without any
queues (e.g. "actions rss queues end / end") does not override the default
set automatically generated by testpmd.
In short, one cannot instantiate a RSS action with 0 target queues anymore
in order to determine how PMDs react (hint: this is currently undocumented
so they may reject it, however ideally they should interpret it as a
default setting like for other fields where empty values stand for
"defaults".)
Fixes:
d0ad8648b1c5 ("app/testpmd: fix RSS flow action configuration")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ajit Khaparde [Thu, 3 May 2018 17:23:58 +0000 (10:23 -0700)]
net/bnxt: add NVM specific HWRM commands
This patch adds new NVM specific HWRM commands.
Code using these commands will be added in future patches.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Thu, 3 May 2018 17:23:57 +0000 (10:23 -0700)]
net/bnxt: add HWRM commands for more filtering support
Add HWRM structures to support more filtering features
like metering, tunnel filters and more.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Thu, 3 May 2018 17:23:56 +0000 (10:23 -0700)]
net/bnxt: add async event HWRM commands
add structures to add async_event support.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Thu, 3 May 2018 17:23:55 +0000 (10:23 -0700)]
net/bnxt: update HWRM to version 1.9.2
Update HWRM structures to version 1.9.2
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
John Daley [Sat, 5 May 2018 02:34:24 +0000 (19:34 -0700)]
doc: remove mention of unreleased nics from enic guide
Company policy discourages the mention of unreleased hardware in
guides and release notes.
Fixes:
08df773 ("doc: update enic guide and features")
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Signed-off-by: John Daley <johndale@cisco.com>
Hyong Youb Kim [Thu, 3 May 2018 19:37:13 +0000 (12:37 -0700)]
net/enic: update UDP RSS controls
Current adapters which support UDP RSS piggyback on TCP RSS. Change
the controls to be forward compatible with future adapters, which will
have independent control of UDP and TCP.
Fixes:
9bd04182bb01 ("net/enic: support UDP RSS on 1400 series adapters")
Signed-off-by: John Daley <johndale@cisco.com>
Reviewed-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Hyong Youb Kim [Thu, 3 May 2018 19:37:12 +0000 (12:37 -0700)]
net/enic: fix RSS hash type advertisement
The NIC can hash these RSS packet types, but they are not advertised
via flow_type_rss_offloads. So add them.
- Part of the IPv4 hash:
ETH_RSS_FRAG_IPV4
ETH_RSS_NONFRAG_IPV4_OTHER
- Part of the IPv6 hash:
ETH_RSS_FRAG_IPV6
ETH_RSS_NONFRAG_IPV6_OTHER
- Part of the UDP hash:
ETH_RSS_IPV6_UDP_EX
Also, do not use NIC_CFG_RSS_HASH_TYPE_IPV6_EX and
NIC_CFG_RSS_HASH_TYPE_TCP_IPV6_EX, as they are not needed to enable
RSS over IPv6 with extension headers.
Fixes:
c2fec27b5cb0 ("net/enic: allow to change RSS settings")
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Hyong Youb Kim [Thu, 3 May 2018 19:37:11 +0000 (12:37 -0700)]
doc: update the enic guide and features
Add more descriptions regarding SR-IOV and RSS settings.
Remove 'Multicast MAC filter' and add 'Allmulticast mode' to the
features.
Cc: stable@dpdk.org
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
John Daley [Thu, 3 May 2018 19:37:10 +0000 (12:37 -0700)]
net/enic: set rte errno to positive value
Related to
d9fff8a31, where rte_errno should always have positive
errno values.
Technically this is an ABI change since it fixes an error code
introduced in 18.02, but is minor and inconsequential.
Fixes:
1e81dbb5321b ("net/enic: add Tx prepare handler")
Cc: stable@dpdk.org
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Hyong Youb Kim [Thu, 3 May 2018 19:37:09 +0000 (12:37 -0700)]
net/enic: fix the MTU handler to rely on max packet length
The RQ setup functions (enic_alloc_rq and enic_alloc_rx_queue_mbufs)
have changed to rely on max_rx_pkt_len to determine the use of scatter
and buffer size. But, the MTU handler only updates ethdev's MTU
value. So make it update max_rx_pkt_len as well. Other PMDs also
update both mtu and max_rx_pkt_len in their MTU handlers.
Also the condition for taking a short cut (scatter is disabled) in the
MTU handler is wrong. Even when scatter is disabled, a change in
max_rx_pkt_len may affect the buffer size posted to the NIC. So remove
that condition.
Finally, fix a comment and a warning message condition.
Fixes:
422ba91716a7 ("net/enic: heed the requested max Rx packet size")
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Hyong Youb Kim [Thu, 3 May 2018 19:37:08 +0000 (12:37 -0700)]
net/enic: enable RQ first and then post Rx buffers
Future VIC adapters may require that the driver enable RQ before
posting new buffers to the NIC. So split enic_alloc_rx_queue_mbufs()
into two functions, one that allocates buffers and fills RQ and the
other that posts them (i.e. PIO write to a doorbell). And, call the
post function only after enabling RQ.
Currently released models are not affected by this change, as they
work fine whether the driver posts buffers before or after enabling RQ.
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Maxime Coquelin [Tue, 8 May 2018 07:10:45 +0000 (15:10 +0800)]
net/virtio-user: support memory hotplug
When memory is hot-added or hot-removed, the virtio-user driver has to
notify the vhost-user backend with sending a VHOST_USER_SET_MEM_TABLE
request with the new memory map as payload.
This patch implements and registers a mem_event callback, it pauses the
datapath and updates memory regions to vhost in case of hot-add or
hot-remove event. This memory region update has only to be done when the
device is already started, so a new status flag is added to the device to
keep track of the status.
As the device can now be managed by different threads, a mutex is
introduced to protect against concurrent device configuration.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Maxime Coquelin [Tue, 8 May 2018 07:10:44 +0000 (15:10 +0800)]
vhost: retranslate vring addr when memory table changes
When the vhost-user master sends memory updates using
VHOST_USER_SET_MEM request, the user backends unmap and then
mmap again the memory regions in its address space.
If the ring addresses have already been translated, it needs to
be translated again as they point to unmapped memory.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Yongseok Koh [Tue, 8 May 2018 18:48:19 +0000 (11:48 -0700)]
net/mlx5: fix calculation of Tx TSO inline room size
rdma-core doesn't add up max_tso_header size to max_inline_data size. The
library takes bigger value between the two.
Fixes:
43e9d9794cde ("net/mlx5: support upstream rdma-core")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Raslan Darawsheh [Tue, 8 May 2018 09:11:27 +0000 (12:11 +0300)]
net/mlx5: fix resource leak in case of error
If something went wrong in mlx5_pci_prob the allocated eth dev
will cause a memory leak.
This commit release the eth dev that was previously allocated.
Fixes:
771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Cc: stable@dpdk.org
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Raslan Darawsheh [Tue, 8 May 2018 09:11:26 +0000 (12:11 +0300)]
net/mlx5: fix double free on error handling
When attr_ctx is NULL it will attempt to free the list of devices twice.
Avoid double freeing the list by directly going to error handling.
Fixes:
771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Cc: stable@dpdk.org
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Xueming Li [Wed, 9 May 2018 00:14:51 +0000 (08:14 +0800)]
net/mlx5: fix SW parser enabling
Fixes:
5f8ba81c4228 ("net/mlx5: support generic tunnel offloading")
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Xueming Li [Wed, 9 May 2018 00:14:50 +0000 (08:14 +0800)]
net/mlx5: fix SW parsing feature detection
Fixes:
5f8ba81c4228 ("net/mlx5: support generic tunnel offloading")
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Xueming Li [Wed, 9 May 2018 00:14:49 +0000 (08:14 +0800)]
net/mlx5: document update for Tx
Add document for hw header parsing and SWP.
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Tonghao Zhang [Sat, 28 Apr 2018 03:03:40 +0000 (20:03 -0700)]
net/ixgbevf: save interrupt mask for performance
If dpdk APPs call the rte_eth_dev_rx_intr_enable or
rte_eth_dev_rx_intr_disable frequently, and ixgbe vf will read
the IXGBE_VTEIMS register everytime. The patch saves the IXGBE_VTEIMS
to mask to avoid read frequently.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Tonghao Zhang [Sat, 28 Apr 2018 03:03:39 +0000 (20:03 -0700)]
net/ixgbe: write disable to EITR counter
ixgbe doesn't write the EITR counter, disable it now.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Tonghao Zhang [Sat, 28 Apr 2018 03:03:38 +0000 (20:03 -0700)]
net/ixgbe: set the default value for EITR
The ixgbe PF and VF use the same default value
for EITR defined in header file.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Tonghao Zhang [Sat, 28 Apr 2018 03:03:37 +0000 (20:03 -0700)]
net/ixgbevf: set the interrupt interval for EITR
Set EITR interval as default. This patch can improve the
performance when we enable the rx-interrupt to process the
packets because we hope rx-interrupt reduce CPU. For example,
the 200us value of EITR makes the performance better with
the low CPU. The default value of ITR is 500us, compatible
with RSC of ixgbe PF, and next patch will use the default value.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Andrew Rybchenko [Thu, 3 May 2018 14:41:19 +0000 (15:41 +0100)]
net/sfc/base: add Medford2 head-of-line blocking stats
These stats are availble on Medford2 DPDK firmware variant
which support equal stride super-buffer Rx mode. RXDP_HLB_IDLE
capability bit is set when the stats are available.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Thu, 3 May 2018 14:41:18 +0000 (15:41 +0100)]
net/sfc/base: support RxDP scatter disabled truncate counter
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Thu, 3 May 2018 14:41:17 +0000 (15:41 +0100)]
net/sfc/base: generate Medford2 RxDP stats
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Thu, 3 May 2018 14:41:16 +0000 (15:41 +0100)]
net/sfc/base: fix Medford2 FEC stats range
Fixes:
400ba3daeeb1 ("net/sfc/base: decode Medford2 FEC stats if available")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Randy Schacher [Tue, 1 May 2018 01:06:16 +0000 (18:06 -0700)]
net/bnxt: clear HWRM sniffer list for PFs
Clear HWRM sniffer list for DPDK PFs so that VFs on
DPDK PFs initialize successfully. DPDK PF driver does not
handle HWRM commands from VFs.
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 1 May 2018 01:06:15 +0000 (18:06 -0700)]
net/bnxt: fix usage of vnic id
VNIC ID returned by the FW is a 16-bit field.
We are incorrectly using it as a 32-bit value in few places.
This patch corrects that.
Fixes:
daef48efe5e5 ("net/bnxt: support set MTU")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Michael Wildt <michael.wildt@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Xiaoxin Peng [Tue, 1 May 2018 01:06:14 +0000 (18:06 -0700)]
net/bnxt: fix Rx mbuf and agg ring leak in dev stop
In the start/stop_op operation, mbufs allocated for rings were not freed
1) add bnxt_free_tx_mbuf/bnxt_free_rx_mbuf in bnxt_dev_stop_op to free MBUF
before freeing the rings.
2) MBUF allocation and free routines were not in sync. Allocation uses the
ring->ring_size including any rounded up and multiple factors while the
free routine uses the requested queue size.
Fixes:
c09f57b49c13 ("net/bnxt: add start/stop/link update operations")
Cc: stable@dpdk.org
Signed-off-by: Jay Ding <jay.ding@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Xiaoxin Peng <xiaoxin.peng@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 1 May 2018 01:06:13 +0000 (18:06 -0700)]
net/bnxt: fix to reset status of initialization
clear flag on stop at proper location to avoid race conditions.
Fixes:
ed2ced6fe927 ("net/bnxt: check initialization before accessing stats")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Jay Ding [Tue, 1 May 2018 01:06:12 +0000 (18:06 -0700)]
net/bnxt: return error in stats if init is not complete
return error if init is not complete before accessing stats.
Fixes:
ed2ced6fe927 ("net/bnxt: check initialization before accessing stats")
Cc: stable@dpdk.org
Signed-off-by: Jay Ding <jay.ding@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 1 May 2018 01:06:11 +0000 (18:06 -0700)]
net/bnxt: fix MTU calculation
We were not considering the case of nested VLANs while
calculating MTU. This patch takes care of the same.
Fixes:
daef48efe5e5 ("net/bnxt: support set MTU")
Cc: stable@dpdk.org
Signed-off-by: Qingmin Liu <qingmin.liu@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Jay Ding <jay.ding@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Qingmin Liu [Tue, 1 May 2018 01:06:10 +0000 (18:06 -0700)]
net/bnxt: set MTU in dev config for jumbo packets
MTU setting does not take effect after rte_eth_dev_configure
is called with jumbo enable unless it is configured using the
set_mtu dev_op.
Fixes:
daef48efe5e5 ("net/bnxt: support set MTU")
Cc: stable@dpdk.org
Signed-off-by: Qingmin Liu <qingmin.liu@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Jay Ding <jay.ding@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Rahul Gupta [Tue, 1 May 2018 01:06:09 +0000 (18:06 -0700)]
net/bnxt: validate structs and pointers before use
Validate pointers aren't pointing to uninitialized areas
including txq and rxq before using them to avoid
bnxt driver from crashing.
Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com>
Signed-off-by: Jay Ding <jay.ding@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Tested-by: Randy Schacher <stuart.schacher@broadcom.com>
Jay Ding [Tue, 1 May 2018 01:06:08 +0000 (18:06 -0700)]
net/bnxt: update returned error on invalid max ring
Return EINVAL instead of ENOSPC when invalid queue_idx passed in
during rx and tx queue_setup_op routines.
Signed-off-by: Jay Ding <jay.ding@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Scott Branden [Tue, 1 May 2018 01:06:07 +0000 (18:06 -0700)]
net/bnxt: rename driver version from Cumulus to NetXtreme
Rename driver version from "Broadcom Cumulus driver" to
"Broadcom NetXtreme driver" to reflect this driver is applicable to
NetXtreme family beyond Cumulus.
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Scott Branden [Tue, 1 May 2018 01:06:06 +0000 (18:06 -0700)]
net/bnxt: rename function checking MAC address
rename check_zero_bytes to bnxt_check_zero_bytes to match proper prefix.
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Qingmin Liu [Tue, 1 May 2018 01:06:05 +0000 (18:06 -0700)]
net/bnxt: add support for LSC interrupt event
Add support to bnxt driver to register RTE_ETH_EVENT_INTR_LSC
event and monitor physical link status.
Signed-off-by: Qingmin Liu <qingmin.liu@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Adrien Mazarguil [Fri, 4 May 2018 15:17:44 +0000 (17:17 +0200)]
net/mlx4: fix UDP flow rule limitation enforcement
For some unknown reason, priorities do not have any effect on flow rules
that happen to match UDP destination ports. Those are always matched first
regardless.
This patch is a workaround that enforces this limitation at the PMD level;
such flow rules can only be created at the highest priority level for
correctness.
Fixes:
a5171594fc3b ("net/mlx4: expose support for flow rule priorities")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 3 May 2018 09:31:38 +0000 (11:31 +0200)]
net/mlx5: fix flow validation
Item spec and last are wrongly compared to the NIC capability causing a
validation failure when the mask is null.
This validation function should only verify the user is not configuring
unsupported matching fields.
Fixes:
2097d0d1e2cc ("net/mlx5: support basic flow items and actions")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Shahaf Shuler [Thu, 3 May 2018 07:59:37 +0000 (10:59 +0300)]
net/mlx5: fix probe return value polarity
mlx5 prefixed function returns a negative errno value.
the error handler on mlx5_pci_probe is doing the same.
Fixes:
a6d83b6a9209 ("net/mlx5: standardize on negative errno values")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Shahaf Shuler [Thu, 3 May 2018 07:59:36 +0000 (10:59 +0300)]
net/mlx5: fix socket connection return value
Upon success, mlx5_socket_connect should return the fd descriptor of the
primary process
Fixes:
a6d83b6a9209 ("net/mlx5: standardize on negative errno values")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Shahaf Shuler [Tue, 1 May 2018 09:58:49 +0000 (12:58 +0300)]
net/mlx5: add Rx and Tx tuning parameters
A new ethdev API was exposed by
commit
3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters")
Enabling the PMD to provide default parameters in case no strict request
from application in order to improve the out of the box experience.
While the current API lacks the means for the PMD to provide the best
possible value, providing the best default the PMD can guess.
The values are based on Mellanox performance report and depends on the
underlying NIC capabilities.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Shahaf Shuler [Tue, 1 May 2018 09:58:48 +0000 (12:58 +0300)]
net/mlx5: fix ethtool link setting call order
According to ethtool_link_setting API recommendation ETHTOOL_GLINKSETTINGS
should be called before ETHTOOL_GSET as the later one deprecated.
Fixes:
f47ba80080ab ("net/mlx5: remove kernel version check")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Wei Zhao [Mon, 7 May 2018 05:34:00 +0000 (13:34 +0800)]
net/i40e: fix flow RSS key array error
This is a bug introduced into RSS key array span.
Fixes:
ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Yanglong Wu [Sat, 28 Apr 2018 09:37:29 +0000 (17:37 +0800)]
net/i40e: fix missing some offload capabilities
MULTI_SEGS and JUMBO_FRAME offload capability should be exposed
both VF and PF since i40e does support it.
Fixes:
c3ac7c5b0b8a ("net/i40e: convert to new Rx offloads API")
Fixes:
7497d3e2f777 ("net/i40e: convert to new Tx offloads API")
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Chas Williams [Wed, 6 Dec 2017 23:55:28 +0000 (18:55 -0500)]
net/e1000: add minimum support for Broadcom 54616 PHY
If we find a Broadcom 54616, handle as a e1000_phy_none assuming that
the NIC reset has initialized the PHY to a sane state.
Signed-off-by: Chas Williams <chas3@att.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Rosen Xu [Wed, 18 Apr 2018 08:11:41 +0000 (16:11 +0800)]
net/i40e: add workaround promiscuous disable
In scenario of Kernel Driver runs on PF and PMD runs on VF, PMD exit
doesn't disable promiscuous mode, this will cause vlan filter set by
Kernel Driver will not take effect.
This patch will fix it, add promiscuous disable at device disable.
Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Shweta Choudaha [Tue, 10 Apr 2018 15:42:46 +0000 (16:42 +0100)]
net/ixgbe: add API to update SBP bit
Add ixgbe API to enable SBP bit in FCTRL register
to allow receiving packets that may otherwise be
considered length errors by ixgbe and dropped
Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
Reviewed-by: Chas Williams <chas3@att.com>
Reviewed-by: Luca Boccassi <bluca@debian.org>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Jianfeng Tan [Thu, 26 Apr 2018 15:34:07 +0000 (15:34 +0000)]
net/virtio-user: fix hugepage files enumeration
After the commit
2a04139f66b4 ("eal: add single file segments option"),
one hugepage file could contain multiple hugepages which are further
mapped to different memory regions.
Original enumeration implementation cannot handle this situation.
This patch filters out the duplicated files; and adjust the size after
the enumeration.
Fixes:
6a84c37e3975 ("net/virtio-user: add vhost-user adapter layer")
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Ciara Loftus [Thu, 3 May 2018 13:17:03 +0000 (14:17 +0100)]
net/vhost: initialise device as inactive
rte_eth_vhost_get_vid_from_port_id returns a value of 0 if
called before the first call to the new_device callback.
A vid value >=0 suggests the device is active which is not
the case in this instance. Initialise vid to a negative
value to prevent this.
Fixes:
ee584e9710b9 ("vhost: add driver on top of the library")
Cc: stable@dpdk.org
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Fan Zhang [Mon, 30 Apr 2018 10:31:17 +0000 (11:31 +0100)]
vhost/crypto: fix symmetric ciphering
A bracket was misplaced in a condition check, this patch
fixes it.
Coverity issue: 277232, 277237
Fixes:
3bb595ecd682 ("vhost/crypto: add request handler")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Maxime Coquelin [Mon, 30 Apr 2018 09:35:23 +0000 (11:35 +0200)]
vhost: fix header copy to discontiguous desc buffer
In the loop to copy virtio-net header to the descriptor buffer,
destination pointer was incremented instead of the source
pointer.
Fixes:
fb3815cc614d ("vhost: handle virtually non-contiguous buffers in Rx-mrg")
Fixes:
6727f5a739b6 ("vhost: handle virtually non-contiguous buffers in Rx")
Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Maxime Coquelin [Mon, 30 Apr 2018 09:35:22 +0000 (11:35 +0200)]
examples/vhost: fix header copy to discontiguous desc buffer
In the loop to copy virtio-net header to the descriptor buffer,
destination pointer was incremented instead of the source
pointer.
Coverity issue: 277240
Fixes:
82c93a567d3b ("examples/vhost: move to safe GPA translation API")
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tonghao Zhang [Fri, 27 Apr 2018 15:19:45 +0000 (08:19 -0700)]
vhost: fix typo in comment
Fixes:
3670686ab99f ("vhost: fix race for connection fd")
Cc: stable@dpdk.org
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tonghao Zhang [Fri, 27 Apr 2018 15:19:44 +0000 (08:19 -0700)]
vhost: fix crash on closing in client mode
when rte_vhost_driver_unregister detstroy the vsocket, we
should set it to NULL after freeing it, because in client mode,
the conn may be added to reconnect thread while vsocket is
destroyed. In one case, if qemu create vhostuser port as a
server with the same unix path, the reconnect thread will
reconnect to it while vsocket is destroyed.
To fix this:
1. set vsocket to NULL after free it.
2. remove the reconnection from reconnection thread in suitable
position.
Cc: stable@dpdk.org
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tonghao Zhang [Fri, 27 Apr 2018 15:19:43 +0000 (08:19 -0700)]
vhost: fix dead lock on closing in server mode
When qemu close the unix socket fd of the vhostuser as a
server, and then immediately delete the vhostuser port on
openvswitch. There will be a deadlock.
A thread (fdset event thread): B thread:
1. fdset_event_dispatch rte_vhost_driver_unregister
2. set the fd busy to 1. lock vsocket->conn_mutex
3. vhost_user_read_cb fdset_del waits busy changed to 0.
4. vhost peer closed, remove the
conn from vsocket->conn_list:
lock vsocket->conn_mutex
5. set the fd busy to 0
Fixes:
65388b43f592 ("vhost: fix fd leaks for vhost-user server mode")
Cc: stable@dpdk.org
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Junjie Chen [Thu, 26 Apr 2018 08:13:20 +0000 (16:13 +0800)]
doc/vhost: update zero copy performance tip
In VM2NIC case zero copy may need some tuning to get best performance.
This patch describes the zero copy starved case and provides a tuning
tip.
Signed-off-by: Junjie Chen <junjie.j.chen@intel.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Pavan Nikhilesh [Thu, 3 May 2018 11:32:54 +0000 (17:02 +0530)]
net/thunderx: remove deprecated Txq flags
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Pavan Nikhilesh [Thu, 3 May 2018 11:31:15 +0000 (17:01 +0530)]
net/octeontx: fix missing offload flags
Fix missing DEV_RX_OFFLOAD_CHECKSUM flag in RX offloads.
Remove depricated txq_flags field.
Fixes:
a92870896b4a ("net/octeontx: use the new offload APIs")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Ajit Khaparde [Tue, 1 May 2018 22:50:52 +0000 (15:50 -0700)]
net/bnxt: remove unused Txq flags
We are still using the txq_flags which is no longer needed with the
new offload API. Cleaning it up.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Qi Zhang [Wed, 2 May 2018 03:16:26 +0000 (11:16 +0800)]
net/fm10k: remove dependence on Tx queue flags
Since we move to new offload APIs, txq_flags is no long needed.
This patch remove the dependence on that.
Fixes:
30f3ce999e6a ("net/fm10k: convert to new Tx offloads API")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Qi Zhang [Wed, 2 May 2018 03:16:25 +0000 (11:16 +0800)]
net/e1000: remove dependence on Tx queue flags
Since we move to new offload APIs, txq_flags is no long needed.
This patch remove the dependence on that.
Fixes:
e5c05e6590ea ("net/e1000: convert to new Tx offloads API")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Qi Zhang [Wed, 2 May 2018 03:16:24 +0000 (11:16 +0800)]
net/ixgbe: remove dependence on Tx queue flags
Since we move to new offload APIs, txq_flags is no long needed.
This patch remove the dependence on that.
Fixes:
51215925a32f ("net/ixgbe: convert to new Tx offloads API")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Andrew Rybchenko [Thu, 3 May 2018 10:17:38 +0000 (11:17 +0100)]
net/sfc: rely on ethdev mapping of Tx offloads to TxQ flags
There is no necessity to fill in TxQ flags since ethdev maps
Tx offloads to TxQ flags on device info get for apps which are
not converted yet to Tx offloads API.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Qi Zhang [Thu, 3 May 2018 06:03:25 +0000 (14:03 +0800)]
ethdev: convert Tx offloads to Tx queue config
Tx offload will be converted to txq_flags automatically during
rte_eth_dev_info_get and rte_eth_tx_queue_info_get. So PMD can
clean the code to get rid of txq_flags at all while keep old APP
not be impacted.
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Tested-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Qi Zhang [Thu, 3 May 2018 02:01:14 +0000 (10:01 +0800)]
net/i40e: fix Tx queue info get
Add missing Tx queue offload assignment in i40e_txq_info_get.
Fixes:
7497d3e2f777 ("net/i40e: convert to new Tx offloads API")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Li Han [Wed, 18 Apr 2018 08:51:37 +0000 (04:51 -0400)]
ip_frag: fix some debug logs
In ip_frag_process, some IP_FRAG_LOG content is wrong.
Fixes:
4f1a8f633862 ("ip_frag: add IPv6 reassembly")
Cc: stable@dpdk.org
Signed-off-by: Li Han <han.li1@zte.com.cn>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Mon, 14 May 2018 15:46:42 +0000 (16:46 +0100)]
app/testpmd: fix initialization
Patch adding configurable locking has reshuffled some init stages, but
did not put them back in correct order. Fix order of init by moving
everything that was before arguments parsing into correct places.
Fixes:
e505d84c64ab ("app/testpmd: make locking memory configurable")
Reported-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Konstantin Ananyev [Mon, 14 May 2018 13:15:42 +0000 (14:15 +0100)]
bpf: add missed experimental tags
- add EXPERIMENTAL tag for the section in MAINTAINERS.
- add EXPERIMENTAL tag to BPF public API files.
- add attribute __rte_experimental to BPF public API declarations.
Fixes:
94972f35a02e ("bpf: add BPF loading and execution framework")
Fixes:
5dba93ae5f2d ("bpf: add ability to load eBPF program from ELF object file")
Fixes:
a93ff62a8938 ("bpf: introduce basic Rx/Tx filters")
Reported-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Jasvinder Singh [Mon, 14 May 2018 13:35:24 +0000 (14:35 +0100)]
test/pipeline: fix type of table entry parameter
Fixes the wrong argument in table action miss function.
Fixes:
4c387fcdf777 ("pipeline: add new functions for action handlers")
Cc: stable@dpdk.org
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Kirill Rybalchenko [Mon, 14 May 2018 10:00:51 +0000 (11:00 +0100)]
examples/ipsec-secgw: fix IP address parsing
In strlcpy function parameters there was no allowance for
null terminator, so ip address was copied without last character.
Fixes:
ae943ebe1ed3 ("examples/ipsec-secgw: replace strncpy with strlcpy")
Cc: stable@dpdk.org
Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Zhiyong Yang [Mon, 14 May 2018 03:20:48 +0000 (11:20 +0800)]
app/testpmd: fix log after detach
The second parameter "name" in the function rte_eth_dev_detach
has been already redefined as "char *name __rte_unused",
"port_id" is printed instead of "name" in testpmd.
Fixes:
b65ecf199324 ("devargs: rename legacy API")
Cc: stable@dpdk.org
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Shreyansh Jain [Mon, 14 May 2018 10:05:00 +0000 (15:35 +0530)]
config: increase max lcore to 16 for DPAA
With this change, DPAA and DPAA2 configuration compiled applications
are interoperable without any impact on the functional behavior.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Tianfei Zhang [Mon, 14 May 2018 09:58:37 +0000 (17:58 +0800)]
raw/ifpga/base: fix build with icc
fix compile error on icc compiler
Fixes:
56bb54ea1bdf ("raw/ifpga/base: add Intel FPGA OPAE share code")
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Tested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
David Hunt [Mon, 14 May 2018 02:53:15 +0000 (03:53 +0100)]
examples/performance-thread: fix return type of threads
The function pthread_create() expects void *(*func) (void *)
for function pointer, however, lthread_func_t was defined as
void (*func) (void *), so now gcc 8.1 warns that the cast is
incorrect, causing a compilation failure. This patch changes
the declaration of lthread_func_t from returning a void to
returning a void*, and then changes the sample app in the
relevant places that are affected by the typedef change.
Fixes:
116819b9ed0d ("examples/performance-thread: add lthread subsystem")
Cc: stable@dpdk.org
Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Abhinandan Gujjar [Mon, 14 May 2018 06:50:22 +0000 (12:20 +0530)]
test: fix build with icc
This patch provides fix for icc compilation issue with event
crypto adapter test application.
Currently, number of elements in the session mempool is defined
by max_nb_sessions & this is replaced with a macro.
Fixes:
3c2c535ecfc0 ("test: add event crypto adapter auto-test")
Reported-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Matan Azrad [Thu, 3 May 2018 10:31:48 +0000 (10:31 +0000)]
app/testpmd: fix asynchronic port removal
When a removable device is plugged-out, a RMV interrupt is invoked and
the application can catch the event in order to stop the device
management.
The Testpmd wrong behavior in this case is to detach the removed device
using the EAL detach API.
The EAL API does not invalidate the ethdev port and the port keeps
appearing as valid from the ethdev point of view.
Thus, the next operations for the ethtev port X may trigger an invalid
rte_device access. For example, calling "show port info X" may cause
segfault.
Moreover, the removed port is not removed from the Testpmd data-path
structures. Therefore, the invalid device may still be used by the
Testpmd data-path.
Call the Testpmd detach_port() function which uses the ethdev detach
API, and prepare the Testpmd forward ports database for a new
forwarding session without the detached port.
Fixes:
284c908cc588 ("app/testpmd: request device removal interrupt")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Thu, 3 May 2018 10:31:47 +0000 (10:31 +0000)]
app/testpmd: fix removed device link status asking
In the RMV device event callback, there is a call for the removed
device stop operation which triggers a link status operation for the
removed device.
It may casue an error from the removed device PMD.
Skip the link status operation in the above described case.
Fixes:
284c908cc588 ("app/testpmd: request device removal interrupt")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Thu, 3 May 2018 10:31:46 +0000 (10:31 +0000)]
app/testpmd: fix synchronic port hotplug
When the user uses the synchronic hot-plug commands, attach\detach, in
order to insert\remove a port from the system, the forward ports list
update is missed in the current implementation.
Thus, an invalid port may be used for data-path in case of detach
because the detached port was not removed from the forward port list.
In addition, a new port is not used for data-path in case of attach, as the
default behavior of Testpmd, because the attached port was not inserted
to the forward port list.
Update the forward port list in the above cases to allow the correct
port usage for data-path in the next packet forwarding start.
Fixes:
edab33b1c01d ("app/testpmd: support port hotplug")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Thu, 3 May 2018 10:31:45 +0000 (10:31 +0000)]
app/testpmd: fix forward ports Rx flush
A port Rx queue flush is done when the packet forwarding starts in
order to clean the port statistics for a new traffic session.
The flush operation is wrongly called before the update of the new
forward ports, and may fail due to flush operation for an invalid port
configured by the old session.
Move the new forward port setup to be done before the Rx queue flush.
Fixes:
7741e4cf16c0 ("app/testpmd: VMDq and DCB updates")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Thu, 3 May 2018 10:31:44 +0000 (10:31 +0000)]
app/testpmd: fix forward ports update
When the forward ports are changed either by new portlist\portmask
configurations or by a port detachment, all the old forward streams
are freed and new streams are allocated to be aligned with the new
forward ports.
If the number of the forward ports drops to 0, there is an attempt
to wrongly allocate 0 memory for the streams.
Skip the streams memory allocation if no forward ports are configured.
Fixes:
ce8d561418d4 ("app/testpmd: add port configuration settings")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Thu, 3 May 2018 10:31:43 +0000 (10:31 +0000)]
app/testpmd: fix valid ports prints
There are several cases of an invalid port data access that causes the
printing of all the valid ports, for example, when the user asks to
receive a port information of an invalid port.
Wrongly, the port with id 0 is printed in all the above described
cases, regardless of its validity.
Print port 0 only if it is valid as done for the rest of the ports.
Fixes:
af75078fece3 ("first public release")
Fixes:
b6ea6408fbc7 ("ethdev: store numa_node per device")
Fixes:
edab33b1c01d ("app/testpmd: support port hotplug")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Wed, 28 Mar 2018 11:17:53 +0000 (11:17 +0000)]
app/testpmd: fix slave port detection
Testpmd allows to create and control bonding devices by run time
command lines using the bonding PMD API.
Some bonding device slaves operations (close, stop, etc) should not be
used by the application and must be managed by the bonding PMD.
Thus, Testpmd manages slave flags to prevent the special operations
calls and when a slave is added to bonding device by a run time command
line, the flag is set.
There is one more way to define the slaves for a bonding device using
EAL command line and Testpmd doesn't set the slave flag in this case
what causes to the special operations to be called by Testpmd.
Add one more check to detect bonding slave device.
Fixes:
41b05095c4d1 ("app/testpmd: fix bonding start")
Fixes:
0e545d3047fe ("app/testpmd: check stopping port is not in bonding")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Anatoly Burakov [Thu, 3 May 2018 12:38:20 +0000 (13:38 +0100)]
app/testpmd: disable memory locking on FreeBSD
If mlockall() is called while allocated VA space is bigger than
amount of available RAM, FreeBSD kernel will deadlock and need
a hard reboot. We do allocate big amounts of memory because of
how new memory subsystem works, so calling mlockall() will cause
a deadlock. So, disable mlockall() by default on FreeBSD.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 3 May 2018 12:38:19 +0000 (13:38 +0100)]
app/testpmd: make locking memory configurable
Add two new command-line parameters for either enabling or
disabling locking all memory at app startup.
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Ferruh Yigit [Fri, 27 Apr 2018 15:17:55 +0000 (16:17 +0100)]
lib: clear experimental version tag in linker scripts
Remove version tag from experimental block in linker version scripts
(.map files).
That label is not used by linker and information only. It is useful
for version blocks but not useful for experimental block but confusing.
Removing those labels.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Anatoly Burakov [Thu, 3 May 2018 10:35:26 +0000 (11:35 +0100)]
ipc: fix duplicate string copy in async request
Coverity issue: 272582
Fixes:
2147c0950580 ("ipc: clean up code")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Anatoly Burakov [Thu, 3 May 2018 10:11:27 +0000 (11:11 +0100)]
mem: fix unmapping and marking segments as free
Currently, page deallocation might fail if allocator cannot get page
fd, which will leave VA space still mapped, and will also not mark
page as free.
Fix page deallocation function to always unmap space before trying
to get rid of the page itself, and always mark page as free even if
page deallocation failed.
Fixes:
a5ff05d60fc5 ("mem: support unmapping pages at runtime")
Fixes:
1a7dc2252f28 ("mem: revert to using flock and add per-segment lockfiles")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 3 May 2018 10:11:26 +0000 (11:11 +0100)]
mem: fix return code of freeing segment on failure
Return value should be zero for success, but if unlock and unlink
have succeeded, return value was 1, which triggered failure message
in calling code.
Fixes:
a5ff05d60fc5 ("mem: support unmapping pages at runtime")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 3 May 2018 10:11:25 +0000 (11:11 +0100)]
mem: fix index for unmapping segments on failure
Segment index was calculated incorrectly, causing free_seg to
attempt to free segments that do not exist.
Fixes:
a5ff05d60fc5 ("mem: support unmapping pages at runtime")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: Yong Liu <yong.liu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 3 May 2018 13:03:19 +0000 (14:03 +0100)]
mem: fix potential underflow on mem size calculation
If total memory is already bigger than max memory, an underflow
will occur on subtraction. Fix it by simply stopping whenever
we already have amount of memory that is bigger than maximum.
Fixes:
66cc45e293ed ("mem: replace memseg with memseg lists")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 3 May 2018 16:25:58 +0000 (17:25 +0100)]
memzone: document reserving zero-length memzones
Currently, reserving a memzone with length set to 0 will not trigger
any memory allocations, and memzone will instead be looking through
already allocated memory only. Document this limitation.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 3 May 2018 16:00:47 +0000 (17:00 +0100)]
memzone: fix size on reserving biggest memzone
Size of malloc heap elements include overhead, which should not
be counted as part of memzone.
Fixes:
fafcc11985a2 ("mem: rework memzone to be allocated by malloc")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 3 May 2018 08:59:28 +0000 (09:59 +0100)]
memzone: fix race condition on alloc failure
Deallocation used the wrong function, which could have resulted in
race conditions because the function does not use locks internally.
Fixes:
1403f87d4fb8 ("malloc: enable memory hotplug support")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>