Beilei Xing [Tue, 28 Mar 2017 09:28:42 +0000 (17:28 +0800)]
net/i40e: rename tunnel filter function
Change tunnel filter function name to VXLAN filter
function, prepare for other tunnel filter function.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Tue, 28 Mar 2017 09:28:41 +0000 (17:28 +0800)]
net/i40e: rework tunnel filter functions
Rework tunnel filter functions to align with the
new command buffer for add/remove cloud filter.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 15:56:48 +0000 (16:56 +0100)]
doc: update Tx burst behavior
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:16 +0000 (15:16 +0800)]
net/vhost: remove limit of vhost Rx burst size
vhost removes limit of Rx burst size(32 pkts) and supports to make
an best effort to receive pkts.
Cc: yuanhan.liu@linux.intel.com
Cc: maxime.coquelin@redhat.com
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:15 +0000 (15:16 +0800)]
net/vhost: remove limit of vhost Tx burst size
vhost removes limit of Tx burst size(32 pkts) and supports to make
an best effort to transmit pkts.
Cc: yuanhan.liu@linux.intel.com
Cc: maxime.coquelin@redhat.com
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:14 +0000 (15:16 +0800)]
net/ixgbe: remove limit of Tx burst size
To add a wrapper function to remove the limit of tx burst size and
implement the "make an best effort to transmit the pkts" policy.
The patch makes ixgbe vec function work in a consistent behavior
like ixgbe_xmit_pkts_simple and ixgbe_xmit_pkts do that.
Cc: Helin Zhang <helin.zhang@intel.com>
Cc: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:13 +0000 (15:16 +0800)]
net/i40e: remove limit of Tx burst size
To add a wrapper function to remove the limit of tx burst size. The patch
makes i40e vec function an best effort to transmit the pkts in the
consistent behavior like i40e_xmit_pkts_simple and i40e_xmit_pkts do that.
Cc: Helin Zhang <helin.zhang@intel.com>
Cc: Jingjing Wu <jingjing.wu@intel.com>
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:12 +0000 (15:16 +0800)]
net/fm10k: remove limit of Tx burst size
To add a wrapper function to remove the limit of tx burst size.
The patch makes fm10k vec function an best effort to transmit
pkts in the consistent behavior like fm10k_xmit_pkts does that.
Cc: Jing Chen <jing.d.chen@intel.com>
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Rasesh Mody [Wed, 29 Mar 2017 20:37:02 +0000 (13:37 -0700)]
net/qede: update PMD version to 2.4.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Harish Patil [Wed, 29 Mar 2017 20:37:01 +0000 (13:37 -0700)]
net/qede: support LRO/TSO offloads
This patch includes slowpath configuration and fastpath changes
to support LRO and TSO. A bit of revamping is needed in order
to make use of existing packet classification schemes in Rx fastpath
and for SG element processing in Tx.
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Wed, 29 Mar 2017 20:37:00 +0000 (13:37 -0700)]
net/qede: support ntuple and flow director filter
Add limited support for ntuple filter and flow director configuration.
The filtering is based on 4-tuples viz src-ip, dst-ip, src-port,
dst-port. The mask fields, tcp_flags, flex masks, priority fields,
Rx queue drop etc are not supported.
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Wed, 29 Mar 2017 20:36:59 +0000 (13:36 -0700)]
net/qede/base: support ARFS mode
Add base driver APIs to enable accelerated RFS[aRFS] mode and ramrod
to configure rfs and ntuple filter.
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:58 +0000 (13:36 -0700)]
net/qede/base: semantic changes
Make APIs static and other semantic changes.
A step toward cleaning 'make C=1' with GCC 4.8.3.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:57 +0000 (13:36 -0700)]
net/qede/base: prevent race condition during unload
Merge hw_stop and hw_reset into one function.
Prevent race condition between MFW attentions and pf stop command during
unload flow that causes an ASSERT.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:56 +0000 (13:36 -0700)]
net/qede/base: multi-Txq support on same queue-zone for VFs
A step toward having multi-Txq support on same queue-zone for VFs.
This change takes care of:
- VFs assume a single CID per-queue, where queue X receives CID X.
Switch to a model similar to that of PF - I.e., Use different CIDs
for Rx/Tx, and use mapping to acquire/release those. Each VF
currently will have 32 CIDs available for it [for its possible 16
Rx & 16 Tx queues].
- To retain the same interface for PFs/VFs when initializing queues,
the base driver would have to retain a unique number per-each queue
that would be communicated in some extended TLV [current TLV
interface allows the PF to send only the queue-id]. The new TLV isn't
part of the current change but base driver would now start adding
such unique keys internally to queue_cids. This would also force
us to start having alloc/setup/free for L2 [we've refrained from
doing so until now]
The limit would be no-more than 64 queues per qzone [This could be
changed if needed, but hopefully no one needs so many queues]
- In IOV, Add infrastructure for up to 64 qids per-qzone, although
at the moment hard-code '0' for Rx and '1' for Tx [Since VF still
isn't communicating via new TLV which index to associate with a
given queue in its queue-zone].
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:55 +0000 (13:36 -0700)]
net/qede/base: prevent DMAE transactions during recovery
Prevent DMA engine transactions during recovery phase.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:54 +0000 (13:36 -0700)]
net/qede/base: add UDP ports in bulletin board message
Add UDP ports in bulletin board message.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:53 +0000 (13:36 -0700)]
net/qede/base: allow PMD to control vport and RSS engine ids
Let PMD have control over the vport-id and rss-eng-id of a given VF
during initialization.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:52 +0000 (13:36 -0700)]
net/qede/base: add PF parameter
Add a common enum to pf_params for RDMA.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:51 +0000 (13:36 -0700)]
net/qede/base: move code bits
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:50 +0000 (13:36 -0700)]
net/qede/base: zero out MFW mailbox data
Zero the whole union data of the Management FW mailbox before copying
the actual union member
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:49 +0000 (13:36 -0700)]
net/qede/base: add return code check
Add a check of the return code of ecore_mcp_cmd_and_union() in
ecore_mcp_send_protocol_stats()
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:48 +0000 (13:36 -0700)]
net/qede/base: set max values for soft resources
Add support for the new interface with the Management FW for setting
max values of "soft" resources.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:47 +0000 (13:36 -0700)]
net/qede/base: add macro for unsupported command
Add a macro for unsupported management FW command
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:46 +0000 (13:36 -0700)]
net/qede/base: add mailbox for resource allocation
Add the Management FW mailbox for getting non-l2 resource allocation
information.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:45 +0000 (13:36 -0700)]
net/qede/base: add macro got resource value message
Add macro got resource value message
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:44 +0000 (13:36 -0700)]
net/qede/base: support coalescing for VF
Add coalescing support for VFs.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:43 +0000 (13:36 -0700)]
net/qede/base: update bulletin board during VF init
Updated bulletin board with link state during VF initialization.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:42 +0000 (13:36 -0700)]
net/qede/base: support non-L2 dcbx tlv application
Add non-l2 dcbx tlv application support.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:41 +0000 (13:36 -0700)]
net/qede/base: support previous driver unload
New driver/management fw load request sequence for handling previous
driver unload.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:40 +0000 (13:36 -0700)]
net/qede/base: change valloc to vzalloc
Change OSAL_VALLOC() into OSAL_VZALLOC() which would also zero memory.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:39 +0000 (13:36 -0700)]
net/qede/base: use L2-handles for RSS configuration
Move RSS configuration into using L2-handles instead of queue-ids.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:38 +0000 (13:36 -0700)]
net/qede/base: add new image types
Add new image types - RECOVERY and PK (Public Key) towards
the second phase of NVRAM security support.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:37 +0000 (13:36 -0700)]
net/qede/base: remove clock slowdown option
Remove clock slowdown NVM config option as this is not supported
for current chipsets.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:36 +0000 (13:36 -0700)]
net/qede/base: add API for using MFW resource lock
Add base driver API for using the Management FW resource lock
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:35 +0000 (13:36 -0700)]
net/qede/base: add mask/shift defines for resource command
Add several mask/shift defines for the resource command
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:34 +0000 (13:36 -0700)]
net/qede/base: prevent transmitter stuck condition
Change OOO TC properly to prevent transmitter stuck condition
due to credit underruns.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:33 +0000 (13:36 -0700)]
net/qede/base: formatting changes
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:32 +0000 (13:36 -0700)]
net/qede/base: support tunnelling for VF
Add new tunnelling support for VFs.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:31 +0000 (13:36 -0700)]
net/qede/base: revise tunnel APIs/structs
Revise tunnel APIs/structs.
- Unite tunnel start and update params in single struct
"ecore_tunnel_info"
- Remove A0 chip tunnelling support.
- Added per tunnel info - removed bitmasks.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:30 +0000 (13:36 -0700)]
net/qede/base: change infrastructure for VF tunnelling
Infrastructure changes for VF tunnelling.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:29 +0000 (13:36 -0700)]
net/qede/base: optimize cache-line access
Optimize cache-line access in ecore_chain -
re-arrange fields so that fields that are needed for fastpath
[mostly produce/consume and their derivatives] are in the first cache
line, and the rest are in the second.
This is true for both PBL and NEXT_PTR kind of chains.
Advancing a page in a SINGLE_PAGE chain would still require the 2nd
cacheline as well, but afaik only SPQ uses it and so it isn't
considered as 'fastpath'.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:28 +0000 (13:36 -0700)]
net/qede/base: support handling TLV request from MFW
Add support for handling the TLV request from Management FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:27 +0000 (13:36 -0700)]
net/qede/base: make L2 queues handle based
L2 handler changes:
This is change to remove the queue-id/qzone difference for Tx queues.
It does that by mainly doing:
a. VFs queues are no longer determined by the SBs they're using.
Instead, the ecore-client needs to maintain those and choose the values
to be used by VF when initializing it.
b. Eliminate the HW-cid array in the hw-function.
To do that, have all the rx/tx functionality turn into 'handle' base -
when queue would be started the caller would get a (void*) handle,
which it would later use with ecore for configuring various
queue-related stop [update, close].
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:26 +0000 (13:36 -0700)]
net/qede/base: refactor code of SP queues
Maintain slowpath event queue and consumer queue within HW function
structure, update corresponding alloc and free APIs accordingly.
Cleanup unused code under CONFIG_ECORE_LL2 ifdef.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:25 +0000 (13:36 -0700)]
net/qede/base: add interfaces for MFW TLV request processing
Add new base driver interfaces for Management FW TLV request processing.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:24 +0000 (13:36 -0700)]
net/qede/base: prevent driver load with invalid resources
Prevent storage drivers from attempting to load with invalid resources.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:23 +0000 (13:36 -0700)]
net/qede/base: set driver type before sending load request
Set the drv_type before sending LOAD_REQ and remove the
ver_str which is not used by the MFW
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:22 +0000 (13:36 -0700)]
net/qede/base: check active VF queues before stopping
Make sure VF queue are closed before stopping vport.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:21 +0000 (13:36 -0700)]
net/qede/base: print firmware MFW and MBI versions
Add a printout of the FW, Management FW and MBI versions.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:20 +0000 (13:36 -0700)]
net/qede/base: revamp qm initialization
This patch revamps queue initialization.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:19 +0000 (13:36 -0700)]
net/qede/base: allow only trusted VFs to be promisc
Allow only trusted VFs to be promisc/multi-promisc. The reasonable
thing is to use the 'trusted' node instead of simply allowing VFs to
become promiscuous.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:18 +0000 (13:36 -0700)]
net/qede/base: remove unneeded step in HW init
There is no need to close the OUT_EN NIG registers, so remove that.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:17 +0000 (13:36 -0700)]
net/qede/base: allow probe to succeed with minor HW-issues
Allow probe to succeed with various 'minor' HW-issues [if requested]
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:16 +0000 (13:36 -0700)]
net/qede/base: read card personality via MFW commands
Add support to read NIC personality via management FW for non-L2
protocols.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:15 +0000 (13:36 -0700)]
net/qede/base: prevent device init failure
Device initialization flow should not be failed because the FW interface
command is not available.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:14 +0000 (13:36 -0700)]
net/qede/base: update MFW when default MTU is changed
Send mailbox command to Management FW when MTU changes.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:13 +0000 (13:36 -0700)]
net/qede/base: change queue/sb-id from 8 bit to 16 bit
Change the queue/sb-id values from 8 bit fields to 16 bit fields.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:12 +0000 (13:36 -0700)]
net/qede/base: use default MTU from shared memory
Read and use the default MTU value from shared-memory.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:11 +0000 (13:36 -0700)]
net/qede/base: add comment
Add a comment for the endianness manipulation in
ecore_mcp_send_drv_version().
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:10 +0000 (13:36 -0700)]
net/qede/base: add nvram options
Add a bunch of NVRAM options like MCOT, FEC selection, temperature
threshold, Reset On Lan, etc.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:09 +0000 (13:36 -0700)]
net/qede/base: remove attribute from update current config
Remove attribute field from update_current_config() API, Management FW
need to know only the last entity who configured the device.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:08 +0000 (13:36 -0700)]
net/qede/base: move mask constants defining NIC type
Move mask constants defining NIC type to ecore.h
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:07 +0000 (13:36 -0700)]
net/qede/base: decrease maximum HW func per device
Decrease MAX_HWFNS_PER_DEVICE from 4 to 2
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:06 +0000 (13:36 -0700)]
net/qede: upgrade the FW to 8.18.9.0
This patchset adds changes to upgrade to 8.18.9.0 FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:05 +0000 (13:36 -0700)]
net/qede/base: utilize FW 8.18.9.0
This change is in preparation to work with new FW 8.18.9.0.
Rename the defines to use E4_ and structs to use e4_. This renaming
is to add support for future chipsets.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:04 +0000 (13:36 -0700)]
net/qede/base: print various indication on Tx-timeouts
Print various indication on Tx-timeouts.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:03 +0000 (13:36 -0700)]
net/qede/base: mask Rx buffer attention bits
Mask the BRB "RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR" attention.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:02 +0000 (13:36 -0700)]
net/qede/base: send FW version driver state to MFW
Add support to send FW version and driver state to Management FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:01 +0000 (13:36 -0700)]
net/qede/base: return an initialized return value
Make sure ecore_iov_mark_vf_flr() always returns an initialized return
value.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Pascal Mazon [Mon, 27 Mar 2017 14:02:21 +0000 (16:02 +0200)]
doc: detail new tap features in release note
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Xiao Wang [Tue, 28 Mar 2017 03:57:47 +0000 (20:57 -0700)]
net/fm10k: fix pointer cast
The device specific data is located at dev->data->dev_private.
Fixes:
162f32290a99 ("fm10k: move parameters initialization")
Fixes:
039991bc28ff ("fm10k: add vector pre-condition check")
Fixes:
77a8ab47eb38 ("fm10k: select best Rx function")
Cc: stable@dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:09 +0000 (07:54 -0400)]
doc: add AVP
Updates the documentation and feature lists for the AVP PMD device.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:08 +0000 (07:54 -0400)]
net/avp: handle interrupt migration
This commit introduces changes required to support VM live-migration. This
is done by registering and responding to interrupts coming from the host to
signal that the memory is about to be made invalid and replaced with a new
memory zone on the destination compute node.
Enabling and disabling of the interrupts are maintained outside of the
start/stop functions because they must be enabled for the lifetime of the
device. This is so that host interrupts are serviced and acked even in
cases where the app may have stopped the device.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:07 +0000 (07:54 -0400)]
net/avp: add device start and stop operations
Adds support for device start and stop functions. This allows an
application to control the administrative state of an AVP device. Stopping
the device will notify the host application to stop sending packets on that
device's receive queues.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:06 +0000 (07:54 -0400)]
net/avp: add device promiscuous functions
Adds support for setting and clearing promiscuous mode on an AVP device.
When enabled the _mac_filter function will allow packets destined to any
MAC address to be processed by the receive functions.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:05 +0000 (07:54 -0400)]
net/avp: add device statistics operations
Adds device functions to query and reset statistics.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:04 +0000 (07:54 -0400)]
net/avp: add packet transmit functions
Adds support for packet transmit functions so that an application can send
packets to the host application via an AVP device queue. Both the simple
and scattered functions are supported.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:03 +0000 (07:54 -0400)]
net/avp: add packet receive functions
Adds function required for receiving packets from the host application via
AVP device queues. Both the simple and scattered functions are supported.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:02 +0000 (07:54 -0400)]
net/avp: add queue setup and release
Adds queue management operations so that an application can setup and
release the transmit and receive queues.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:01 +0000 (07:54 -0400)]
net/avp: add device configuration
Adds support for "dev_configure" operations to allow an application to
configure the device.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:54:00 +0000 (07:54 -0400)]
net/avp: add device initialization
Adds support for initialization newly probed AVP PCI devices. Initial
queue translations are setup in preparation for device configuration.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:53:59 +0000 (07:53 -0400)]
net/avp: support driver registration
Adds the initial framework for registering the driver against the support
PCI device identifiers.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:53:58 +0000 (07:53 -0400)]
net/avp: add debug log macros
Adds a header file with log macros for the AVP PMD
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:53:57 +0000 (07:53 -0400)]
net/avp: add public header files
Adds public/exported header files for the AVP PMD. The AVP device is a
shared memory based device. The structures and constants that define the
method of operation of the device must be visible by both the PMD and the
host DPDK application. They must not change without proper version
controls and updates to both the hypervisor DPDK application and the PMD.
The hypervisor DPDK application is a Wind River Systems proprietary
virtual switch.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Allain Legacy [Tue, 28 Mar 2017 11:53:56 +0000 (07:53 -0400)]
net/avp: add base files
This commit introduces the AVP PMD file structure without adding any actual
driver functionality. Functional blocks will be added in later patches.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Gaetan Rivet [Tue, 28 Mar 2017 14:13:12 +0000 (16:13 +0200)]
net/mlx5: fix returned values upon failed probing
Fixes:
771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Cc: stable@dpdk.org
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Gaetan Rivet [Tue, 28 Mar 2017 14:13:11 +0000 (16:13 +0200)]
net/mlx4: fix returned values upon failed probing
Let error messages in place, but return unambiguous values upon
probing errors.
Fixes:
66e1591687ac ("mlx4: avoid init errors when kernel modules are not loaded")
Cc: stable@dpdk.org
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Vasily Philipov [Tue, 28 Mar 2017 10:18:49 +0000 (13:18 +0300)]
net/mlx: enhance Rx scatter mode detection
Toggle Rx scatter mode based on the scatter_enable flag and the maximum
packet size only instead of deriving this information from the jumbo_frame
setting and the MTU configuration.
Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Gaetan Rivet [Mon, 27 Mar 2017 15:41:37 +0000 (17:41 +0200)]
net/mlx4: add port parameter
Most ConnectX-3 adapters expose two physical ports on a single PCI bus
address.
Add a new port parameter allowing the user to choose
either or both physical ports to be used by the application.
This parameter is used as follows:
Selecting only the second port:
-w 00:00.0,port=1
Selecting both ports:
-w 00:00.0,port=0,port=1
If no parameter is given, the default behavior is unchanged: all ports
are probed.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:35 +0000 (11:24 +0800)]
app/testpmd: set TC strict link priority mode
Add a CLI to set some TCs' strict link priority mode
on a physical port.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:34 +0000 (11:24 +0800)]
app/testpmd: set VF TC Tx max bandwidth
Add CLI to set a specific TC's max bandwidth
on a specific VF from PF.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:33 +0000 (11:24 +0800)]
app/testpmd: set VF TC Tx min bandwidth
Add CLI to set TCs' min bandwidth on a specific VF
from PF.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:32 +0000 (11:24 +0800)]
app/testpmd: set VF Tx max bandwidth
Add CLI to set a specific VF's TX max bandwidth
from PF.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:31 +0000 (11:24 +0800)]
net/i40e: set TC strict priority mode
Set some TCs to strict priority mode.
It's a global setting on a physical port.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:30 +0000 (11:24 +0800)]
net/i40e: set VF TC max bandwidth from PF
Set a specific TC's max bandwidth on a VF.
User can call the API to set VF TC's max bandwidth
from PF.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:29 +0000 (11:24 +0800)]
net/i40e: allocate VF TC bandwidth from PF
Allocate all TCs' relative bandwidth (percentage) on
a specific VF.
It can be taken as relative min bandwidth setting.
User can call the API to set VF TC's min bandwidth
from PF.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Wenzhuo Lu [Fri, 24 Feb 2017 03:24:28 +0000 (11:24 +0800)]
net/i40e: set VF max bandwidth from PF
Support setting VF max bandwidth from PF.
User can call the API on PF to set a specific VF's
max bandwidth.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Shijith Thotton [Sat, 25 Mar 2017 06:24:57 +0000 (11:54 +0530)]
doc: add liquidio
Add liquidio driver documentation and update 17.05 release notes.
Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Derek Chickles <derek.chickles@caviumnetworks.com>
Signed-off-by: Venkat Koppula <venkat.koppula@caviumnetworks.com>
Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
Signed-off-by: Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
Shijith Thotton [Sat, 25 Mar 2017 06:24:56 +0000 (11:54 +0530)]
net/liquidio: add API to add and remove VLAN port
Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Derek Chickles <derek.chickles@caviumnetworks.com>
Signed-off-by: Venkat Koppula <venkat.koppula@caviumnetworks.com>
Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
Signed-off-by: Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>