[dpdk-dev] ixgbe: account more Rx errors Issue

2015-09-06 Thread Tahhan, Maryam
> From: Andriy Berestovskyy [mailto:aber at semihalf.com] > Sent: Friday, September 4, 2015 5:59 PM > To: Tahhan, Maryam > Cc: dev at dpdk.org; Olivier MATZ > Subject: Re: ixgbe: account more Rx errors Issue > > Hi Maryam, > Please see below. > > > XEC counts the Number of receive IPv4, TCP, UDP

[dpdk-dev] [PATCH 52/52] eal/common: add new i40e device id

2015-09-06 Thread Jingjing Wu
Signed-off-by: Jingjing Wu --- lib/librte_eal/common/include/rte_pci_dev_ids.h | 6 ++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h index cf2cf70..265e66c 100644 ---

[dpdk-dev] [PATCH 51/52] i40e/base: Explicitly assign enum index for VSI type

2015-09-06 Thread Jingjing Wu
The change is to explicitly assign enum index for each VSI type so that PF and VF always reference to the same VSI type event if the enum lists are different. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_type.h | 16 1 file changed, 8 insertions(+), 8 deletions(-)

[dpdk-dev] [PATCH 50/52] i40e/base: Add ATR command bit definition for FortPark

2015-09-06 Thread Jingjing Wu
Add a new bit in the filter programming descriptor applicable to FortPark only. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_type.h | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index

[dpdk-dev] [PATCH 49/52] i40e/base: Allow for per-device FW API version

2015-09-06 Thread Jingjing Wu
Allow for unique FW API versions for different HW Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_type.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 2175505..dbe561d 100644 ---

[dpdk-dev] [PATCH 48/52] i40e/base: Add FortPark specific registers

2015-09-06 Thread Jingjing Wu
This patch adds registers and bit field definitions specific to FortPark. Most of these new registers are related to PE (IWARP), Reset, NVM, RSS and ATR changes. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_register.h | 1934 + 1 file changed, 1934

[dpdk-dev] [PATCH 47/52] i40e/base: Increase pf reset max loop limit

2015-09-06 Thread Jingjing Wu
With latest LANconf and NVMupdate tools, pf_reset failed due to Firmware not being ready, so this patch increases I40E_PF_RESET_WAIT_COUNT to 200, using original value defined for A0 silicon, in order to make sure that FW is ready. Test result indicates that firmware became ready at the loop

[dpdk-dev] [PATCH 46/52] i40e/base: remove useless assignments

2015-09-06 Thread Jingjing Wu
The assignments of addr_high and addr_low were not only wrong because they were assigning virtual addresses to a hardware accessed variable, but they were shortly thereafter overwritten by the send_asq_command call with a non-NULL third argument (buffer) with correctly formatted data.

[dpdk-dev] [PATCH 45/52] i40e/base: print FCoE capability reported by the device function

2015-09-06 Thread Jingjing Wu
This is to allow quick check for FCoE capability is enabled or not in device function before any SW overrides. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/i40e/base/i40e_common.c

[dpdk-dev] [PATCH 44/52] i40e/base: ESS Support

2015-09-06 Thread Jingjing Wu
Add some delays specific to ESS/Veloce system. This patch requires driver changes to define ESS_SUPPORT. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.h | 3 +++ drivers/net/i40e/base/i40e_common.c | 6 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git

[dpdk-dev] [PATCH 43/52] i40e/base: use INLINE macro for better cross-platform code management

2015-09-06 Thread Jingjing Wu
Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.h | 2 +- drivers/net/i40e/base/i40e_nvm.c| 4 ++-- drivers/net/i40e/base/i40e_type.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq.h

[dpdk-dev] [PATCH 42/52] i40e/base: FortPark changes to Rx and Tx descriptor for Outer UDP checksum offloads

2015-09-06 Thread Jingjing Wu
Fixes a minor definition change in the Rx descriptor. Also adds FortPark specific changes to the Descriptors. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_type.h | 12 1 file changed, 12 insertions(+) diff --git a/drivers/net/i40e/base/i40e_type.h

[dpdk-dev] [PATCH 40/52] i40e/base: add WR_CSR_PROT wol/proxy capability parsing

2015-09-06 Thread Jingjing Wu
Adds support to retrieve and parse WoL/Proxy capabilities from the device/function list. Also saves WR_CSR_PROT field from DEV/FUNC capabilities. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c | 29 + drivers/net/i40e/base/i40e_type.h | 23

[dpdk-dev] [PATCH 39/52] i40e/base: add wol config admin queue functions

2015-09-06 Thread Jingjing Wu
Adds admin q function for "Set Wake on LAN Filter AQ" and "Get Wake Up Reason AQ". Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq_cmd.h | 47 ++ drivers/net/i40e/base/i40e_common.c | 87 +

[dpdk-dev] [PATCH 38/52] i40e/base: add proxy config admin q functions

2015-09-06 Thread Jingjing Wu
Adds admin q functions for "Set Proxying Configuration Command" and "Set NS Proxy Table Entry Command". Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq_cmd.h | 41 +++ drivers/net/i40e/base/i40e_common.c | 72 +

[dpdk-dev] [PATCH 37/52] i40e/base: Add AQ functions to handle RSS Key and LUT programming

2015-09-06 Thread Jingjing Wu
This is needed for FortPark RSS support. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq_cmd.h | 52 +++ drivers/net/i40e/base/i40e_common.c | 160 drivers/net/i40e/base/i40e_prototype.h | 13 +++ 3 files changed, 225

[dpdk-dev] [PATCH 36/52] i40e/base: add new X722 device

2015-09-06 Thread Jingjing Wu
Add device ids for X722 devices Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c | 19 +++ drivers/net/i40e/base/i40e_devids.h | 10 ++ drivers/net/i40e/base/i40e_nvm.c| 8 drivers/net/i40e/base/i40e_type.h | 9 + 4 files

[dpdk-dev] [PATCH 35/52] i40e/base: drop func from debug print

2015-09-06 Thread Jingjing Wu
There was one more __FUNCTION__ reference that wasn't needed. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index

[dpdk-dev] [PATCH 34/52] i40e/base: Add virtchnl op for additional solaris config

2015-09-06 Thread Jingjing Wu
In order to support some extra Solaris features the Solaris VF drivers need additional configuration data from the PF that aren't provided with the current virtual channel commands. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_virtchnl.h | 21 - 1 file changed,

[dpdk-dev] [PATCH 33/52] i40e/base: Add definition of GLINT_CTL register

2015-09-06 Thread Jingjing Wu
Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_register.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/i40e/base/i40e_register.h b/drivers/net/i40e/base/i40e_register.h index 4cc2b90..00a49a4 100644 --- a/drivers/net/i40e/base/i40e_register.h +++

[dpdk-dev] [PATCH 32/52] i40e/base: Handle admin Q timeout when releasing NVM

2015-09-06 Thread Jingjing Wu
There are some rare cases where the release resource call will return an admin Q timeout. In these cases the code needs to try to release the resource again until it succeeds or it times out. Also add little endian conversion for checksum Signed-off-by: Jingjing Wu ---

[dpdk-dev] [PATCH 31/52] i40e/base: clean up unneeded gotos

2015-09-06 Thread Jingjing Wu
Clean up some unnecessary logic jumping and drop a variable. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_hmc.c | 37 drivers/net/i40e/base/i40e_lan_hmc.c | 3 +-- 2 files changed, 13 insertions(+), 27 deletions(-) diff --git

[dpdk-dev] [PATCH 30/52] i40e/base: Add support for pre-allocated pages for pd

2015-09-06 Thread Jingjing Wu
The i40e_add_pd_table_entry() routine is being modified to handle both cases where a backing page is passed and where backing page is allocated in i40e_add_pd_table_entry(). For pble resource management, it is more efficient for it to manage its backing pages. For VF, pble backing page addresses

[dpdk-dev] [PATCH 29/52] i40e/base: Additional checks for CEE APP priority validity

2015-09-06 Thread Jingjing Wu
The firmware has added additional status information to allow software to determine if the APP priority for FCoE/iSCSI/FIP is valid or not in CEE DCBX mode. This patch adds to support those additional checks and will only add applications to the software table that have oper and sync bits set

[dpdk-dev] [PATCH 28/52] i40e/base: Add Tx Scheduling related AQ commands

2015-09-06 Thread Jingjing Wu
This patch adds support for AQ commands related to Tx scheduling. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c| 34 ++ drivers/net/i40e/base/i40e_prototype.h | 9 + 2 files changed, 43 insertions(+) diff --git

[dpdk-dev] [PATCH 27/52] i40e/base: fixup padding issue in get_cee_dcb_cfg_v1_resp

2015-09-06 Thread Jingjing Wu
The struct i40e_aqc_get_cee_dcb_cfg_v1_resp was originally defined with word boundary layout issues, which most compilers deal with by silently adding padding, making the actual struct larger than designed. This patch adds an extra byte in fields reserved3 and reserved4 to directly acknowledge

[dpdk-dev] [PATCH 26/52] i40e/base: Add new link status defines

2015-09-06 Thread Jingjing Wu
Add the new Port link status bit and rename the link status to function link status. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq_cmd.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h

[dpdk-dev] [PATCH 25/52] i40e/base: fix up type clash in i40e_aq_rc_to_posix conversion

2015-09-06 Thread Jingjing Wu
The error code sent into i40e_aq_rc_to_posix() are signed values, so we really need to treat them as such. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.h | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq.h

[dpdk-dev] [PATCH 24/52] i40e/base: Wrap the register definitions for PF and VF driver

2015-09-06 Thread Jingjing Wu
There were quite a few issues when the wrong defines were getting used in the VF driver. This patch defines a new #define PF_DRIVER. All the PF specific register definitions are wrapped in it. The drivers will have to be updated to use the define in the PF driver builds. Makes for a very short

[dpdk-dev] [PATCH 23/52] i40e/base: Update Flex-10 related device/function capabilities

2015-09-06 Thread Jingjing Wu
The Flex10 device/function capability has been upgraded to revision 2 to include information needed to support Flex-10 DCC and DCI configurations. This patch adds new fields to the i40e_hw_capabilities structure and updates i40e_parse_discover_capabilities functions to extract them from the AQ

[dpdk-dev] [PATCH 22/52] i40e/base: Add some more stats for FD SB and ATR status

2015-09-06 Thread Jingjing Wu
This will help us avoid a whole bunch of log messages when the driver is running. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_type.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 5245795..694e202

[dpdk-dev] [PATCH 21/52] i40e/base: Store CEE DCBX cfg from firmware and Cache the CEE TLV status

2015-09-06 Thread Jingjing Wu
This patch adds capability to query and store the CEE DCBX DesiredCfg and RemoteCfg data from the LLDP MIB. Added new member "desired_dcbx_config" in the i40e_hw data structure to hold CEE only DesiredCfg data. Store the CEE TLV status returned by firmware to allow drivers to dump that for debug

[dpdk-dev] [PATCH 20/52] i40e/base: Refactor PHY structure and add phy_capabilities enum

2015-09-06 Thread Jingjing Wu
Remove unused members in the PHY structure and add a new member to store all the capabilities the PHY has as reported by the FW. This information will help us determine what speeds the device is capable of when link is down. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c |

[dpdk-dev] [PATCH 19/52] i40e/base: Prepare the local LLDP MIB in IEEE TLV Format

2015-09-06 Thread Jingjing Wu
This patch prepares the LLDP MIB in IEEE TLV format based on the local dcb config. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq_cmd.h | 8 +- drivers/net/i40e/base/i40e_dcb.c| 327 drivers/net/i40e/base/i40e_dcb.h| 3 +

[dpdk-dev] [PATCH 18/52] i40e/base: Add parsing for CEE DCBX TLVs

2015-09-06 Thread Jingjing Wu
This patch adds parsing for CEE DCBX TLVs from the LLDP MIB. While the driver gets the DCB CEE operational configuration from Firmware using the "Get CEE DCBX Oper Config" AQ command there is a need to get the CEE DesiredCfg Tx by firmware and DCB configuration Rx from peer; for debug and other

[dpdk-dev] [PATCH 17/52] i40e/base: create new BIT and BIT_ULL macros

2015-09-06 Thread Jingjing Wu
Use macros for abstracting (1 << foo) to BIT(foo) and (1ULL << foo64) to BIT_ULL(foo64) in order to match better with linux kernel requirements. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c | 4 ++-- drivers/net/i40e/base/i40e_dcb.h | 8

[dpdk-dev] [PATCH 16/52] i40e/base: add VF capabilities to virtual channel interface

2015-09-06 Thread Jingjing Wu
To prepare for the changes coming up in the X722 device and future devices, the virtual channel interface has to change slightly. The VF driver can now report what its capable of supporting, which then informs the PF driver when it sends the configuration information back to the VF. A 1.1 VF

[dpdk-dev] [PATCH 15/52] i40e/base: OEM Post Update AQ command implementation

2015-09-06 Thread Jingjing Wu
Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq_cmd.h | 21 + drivers/net/i40e/base/i40e_common.c | 22 ++ drivers/net/i40e/base/i40e_prototype.h | 3 +++ 3 files changed, 46 insertions(+) diff --git

[dpdk-dev] [PATCH 14/52] i40e/base: Add Debug Dump Internal Data AQ command

2015-09-06 Thread Jingjing Wu
This patch adds support for "Debug Dump Internal Data" AQ command. It is used to dump internal firmware or hardware data for debug purposes. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c| 57 ++ drivers/net/i40e/base/i40e_prototype.h | 5

[dpdk-dev] [PATCH 13/52] i40e/base: Add a workaround to drop all flow control frames

2015-09-06 Thread Jingjing Wu
This patch adds a workaround to drop any flow control frames from being transmitted from any VSI. FW can still send Flow control frames if Flow control is enabled. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c| 22 ++

[dpdk-dev] [PATCH 12/52] i40e/base: Add promiscuous on VLAN support

2015-09-06 Thread Jingjing Wu
NFV use cases require the ability to steer packets to VSIs by VLAN tag alone while being in promiscuous mode for multicast and unicast MAC addresses. These two new functions support that ability. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c| 68

[dpdk-dev] [PATCH 11/52] i40e/base: add commands to nvmupdate utility

2015-09-06 Thread Jingjing Wu
Add a new GetStatus command so that the NVM update tool can query the current status instead of doing fake write requests to probe for readiness. Add a facility to run AQ commands through the nvmupdate utility in order to allow the update tools to interact with the FW and do special commands

[dpdk-dev] [PATCH 10/52] i40e/base: add wait states to NVM state machine

2015-09-06 Thread Jingjing Wu
This adds wait states to the NVM update state machine to signify when waiting for an update operation to finish, whether we're in the middle of a set of Write operations, or we're now idle but waiting. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.c | 13 ++

[dpdk-dev] [PATCH 09/52] i40e/base: Add info to nvm info struct for OEM version data

2015-09-06 Thread Jingjing Wu
This patch adds a member to the nvm_info struct for oem_ver info to be output either by OID or ethtool. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.c | 7 +++ drivers/net/i40e/base/i40e_type.h | 2 ++ 2 files changed, 9 insertions(+) diff --git

[dpdk-dev] [PATCH 08/52] i40e/base: add handling of writeback descriptor

2015-09-06 Thread Jingjing Wu
Add the ability to save the AdminQ write back descriptor. If the writeback descriptor buffer was previously created, this gives it to the AQ command request to be used to save the results. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.c | 5 +

[dpdk-dev] [PATCH 07/52] i40e/base: grab the AQ spinlocks before clearing registers

2015-09-06 Thread Jingjing Wu
Make sure we have the spinlocks before we clear the ARQ and ASQ management registers. Also, widen the locked portion and make a sanity check earlier in the send function to be sure we're working with safe register values. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq.c | 47

[dpdk-dev] [PATCH 06/52] i40e/base: Add module_types and update_link_info

2015-09-06 Thread Jingjing Wu
Add a module_types variable to the link_info struct to save the module information from get_phy_capabilities. This information can be used to determine which speeds the module supports. Also add a new function update_link_info which updates the module_types parameter and then calls get_link_info.

[dpdk-dev] [PATCH 05/52] i40e/base: Merge Fortville SW 4 admin Q command header

2015-09-06 Thread Jingjing Wu
Update the admin queue command header for the Fortville SW 4 Release. As part of this release the minor FW API version number is bumped to 4 so that the FW API version for the FVLSW4 release will now be 1.4. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_adminq_cmd.h | 25

[dpdk-dev] [PATCH 04/52] i40e/base: Replace sprintf with i40e_debug

2015-09-06 Thread Jingjing Wu
Replace sprintf with i40e_debug. Pad the line out with zeros to get to 16 bytes. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_common.c | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/base/i40e_common.c

[dpdk-dev] [PATCH 01/52] i40e/base: split device ids into a separate file

2015-09-06 Thread Jingjing Wu
Due to desires to write userland drivers such as for DPDK support, and other requests, without needing the rest of the include files, the device ids are pulled out into a standalone file. Signed-off-by: Jingjing Wu --- drivers/net/i40e/base/i40e_devids.h | 57

[dpdk-dev] [PATCH 00/52] update i40e base driver

2015-09-06 Thread Jingjing Wu
Here is the update of i40e base driver. Main update: - support New X722 Device (FortPark) - extend virtual channel interface - support CEE DCBX - support promiscuous on VLAN - support Tx Scheduling related AQ functions - support RSS AQ related functions - code clean up Jingjing Wu (52):

[dpdk-dev] [PATCH 3/4] virtio: use indirect ring elements

2015-09-06 Thread Stephen Hemminger
On Sun, 6 Sep 2015 08:40:44 + "Ouyang, Changchun" wrote: > > @@ -220,11 +221,26 @@ virtqueue_enqueue_xmit(struct virtqueue *txvq, > > struct rte_mbuf *cookie) > > dxp = >vq_descx[idx]; > > dxp->cookie = (void *)cookie; > > dxp->ndescs = needed; > > - > > start_dp =

[dpdk-dev] [PATCH 3/4] virtio: use indirect ring elements

2015-09-06 Thread Stephen Hemminger
On Sun, 6 Sep 2015 08:36:10 + "Ouyang, Changchun" wrote: > > -Original Message- > > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > > Sent: Saturday, September 5, 2015 4:58 AM > > To: Xie, Huawei; Ouyang, Changchun > > Cc: dev at dpdk.org; Stephen Hemminger > >

[dpdk-dev] [PATCH 3/4] virtio: use indirect ring elements

2015-09-06 Thread Ouyang, Changchun
> -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Saturday, September 5, 2015 4:58 AM > To: Xie, Huawei; Ouyang, Changchun > Cc: dev at dpdk.org; Stephen Hemminger > Subject: [PATCH 3/4] virtio: use indirect ring elements > > The virtio ring

[dpdk-dev] [PATCH 3/4] virtio: use indirect ring elements

2015-09-06 Thread Ouyang, Changchun
> -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Saturday, September 5, 2015 4:58 AM > To: Xie, Huawei; Ouyang, Changchun > Cc: dev at dpdk.org; Stephen Hemminger > Subject: [PATCH 3/4] virtio: use indirect ring elements > > The virtio ring

[dpdk-dev] [PATCH v4 02/12] vhost: support multiple queues in virtio dev

2015-09-06 Thread Ouyang, Changchun
Hi Tetsuya, > -Original Message- > From: Tetsuya Mukawa [mailto:mukawa at igel.co.jp] > Sent: Thursday, September 3, 2015 10:27 AM > To: dev at dpdk.org; Ouyang, Changchun > Subject: Re: [dpdk-dev] [PATCH v4 02/12] vhost: support multiple queues in > virtio dev > > On 2015/08/12 17:02,

[dpdk-dev] [PATCH] i40e: fix base driver allocation when on numa != 0

2015-09-06 Thread Zhang, Helin
> -Original Message- > From: David Marchand [mailto:david.marchand at 6wind.com] > Sent: Thursday, September 3, 2015 9:24 PM > To: dev at dpdk.org > Cc: Zhang, Helin > Subject: [PATCH] i40e: fix base driver allocation when on numa != 0 > > Seen by code review. > > If dpdk is run with