[dpdk-dev] [PATCH v2 2/2] app/testpmd: add test commands for RSS granularity

2015-09-22 Thread Helin Zhang
Test commands are added to support clearing input set, or setting with new input set per different pctype. Signed-off-by: Helin Zhang Signed-off-by: Andrey Chilikin --- app/test-pmd/cmdline.c | 106 + 1 file changed, 106 insertions(+) diff --git

[dpdk-dev] [PATCH v3 0/2] i40e: RSS granularity configuration

2015-09-24 Thread Helin Zhang
modifications in testpmd to support the testing. v2 changes: Solved the compilation issues. v3 changes: Support selecting more input set fields. Helin Zhang (2): i40e: add RSS granularity configuration app/testpmd: add test commands for RSS granularity app/test-pmd/cmdline.c | 115

[dpdk-dev] [PATCH v3 1/2] i40e: add RSS granularity configuration

2015-09-24 Thread Helin Zhang
: Helin Zhang Signed-off-by: Andrey Chilikin --- drivers/net/i40e/i40e_ethdev.c | 628 drivers/net/i40e/i40e_ethdev.h | 6 + drivers/net/i40e/i40e_fdir.c| 31 ++ lib/librte_ether/rte_eth_ctrl.h | 108 ++- 4 files changed, 769 insertions(+), 4

[dpdk-dev] [PATCH v3 2/2] app/testpmd: add test commands for RSS granularity

2015-09-24 Thread Helin Zhang
Test commands are added to support clearing input set, or setting with new input set per different pctype. Signed-off-by: Helin Zhang Signed-off-by: Andrey Chilikin --- app/test-pmd/cmdline.c | 115 + 1 file changed, 115 insertions(+) v3 changes

[dpdk-dev] [PATCH 0/2] add selecting different GRE key length

2015-09-24 Thread Helin Zhang
By default, only 3 bytes of GRE key will be used for hash or filter calculation. Here adds a workaround for selecting 3 or 4 bytes of GRE key for that purpose. Helin Zhang (2): i40e: add selecting GRE key length app/testpmd: add test commands for selecting different GRE key sizes app/test

[dpdk-dev] [PATCH 1/2] i40e: add selecting GRE key length

2015-09-24 Thread Helin Zhang
By default, only first 3 bytes of GRE key will be used for hash or filter calculation. With these changes, it can select 3 or 4 bytes of GRE key for hash calculation. Signed-off-by: Helin Zhang Signed-off-by: Andrey Chilikin --- drivers/net/i40e/i40e_ethdev.c | 86

[dpdk-dev] [PATCH 2/2] app/testpmd: add test commands for selecting different GRE key sizes

2015-09-24 Thread Helin Zhang
Test commands are added to support selecting differnt length of GRE key. Signed-off-by: Helin Zhang Signed-off-by: Andrey Chilikin --- app/test-pmd/cmdline.c | 52 ++ 1 file changed, 52 insertions(+) diff --git a/app/test-pmd/cmdline.c b/app

[dpdk-dev] [PATCH 0/6] fix i40e problematic dereference

2016-04-21 Thread Helin Zhang
It fixes several problematic dereferences in i40e driver, reported by Coverity. Helin Zhang (6): i40e: fix problematic dereference i40e: fix problematic dereference i40e: fix problematic dereference i40e: fix problematic dereference i40e: fix problematic dereference i40e: fix

[dpdk-dev] [PATCH 2/6] i40e: fix problematic dereference

2016-04-21 Thread Helin Zhang
Fix issue reported by Coverity. Coverity ID 13301: Dereference before null check. Fixes: a778a1fa2e4e ("i40e: set up and initialize flow director") Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_rxtx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/d

[dpdk-dev] [PATCH 3/6] i40e: fix problematic dereference

2016-04-21 Thread Helin Zhang
Fix issue reported by Coverity. Coverity ID 13294: Dereference before null check. Fixes: a778a1fa2e4e ("i40e: set up and initialize flow director") Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_rxtx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/d

[dpdk-dev] [PATCH 4/6] i40e: fix problematic dereference

2016-04-21 Thread Helin Zhang
Fix issue reported by Coverity. Coverity ID 13299: Dereference before null check. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/i

[dpdk-dev] [PATCH 6/6] i40e: fix problematic dereference

2016-04-21 Thread Helin Zhang
Fix issue reported by Coverity. Coverity ID 13265: Missing break in switch. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_pf.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e

[dpdk-dev] [PATCH 1/6] i40e: fix problematic dereference

2016-04-21 Thread Helin Zhang
Fix issue reported by Coverity. Coverity ID 119267: Dereference before null check. Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage") Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_rxtx.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/d

[dpdk-dev] [PATCH 5/6] i40e: fix problematic dereference

2016-04-21 Thread Helin Zhang
Fix issue reported by Coverity. Coverity ID 13298: Dereference before null check. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_pf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/i

[dpdk-dev] [PATCH v2] i40e: fix problematic dereference

2016-04-25 Thread Helin Zhang
13265: Missing break in switch. Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage") Fixes: a778a1fa2e4e ("i40e: set up and initialize flow director") Fixes: a778a1fa2e4e ("i40e: set up and initialize flow director") Fixes: 4861cde46116 ("i40e: new poll mode d

[dpdk-dev] [PATCH v3 1/2] i40e: fix problematic dereference

2016-04-28 Thread Helin Zhang
778a1fa2e4e ("i40e: set up and initialize flow director") Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_pf.c | 5 +++-- drivers/net/i40e/i40e_rxtx.c | 10 +++--- 2 files changed, 10 insertions(+), 5 deletions(-) v3

[dpdk-dev] [PATCH v3 2/2] i40e: fix missing break in switch

2016-04-28 Thread Helin Zhang
It fixes the issue reported by Coverity of 'Missing break in switch', by deleting 'case I40E_VIRTCHNL_OP_FCOE', as it is not necessary at all. Coverity ID 13265: Missing break in switch. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Heli

[dpdk-dev] [PATCH v3 0/2] fix Coverity reported issues

2016-04-28 Thread Helin Zhang
necessary at all, or move null checks before where uses it. v3: - Split the code changes into different patches, according to the issue type. - Reworded the commit logs. v2: - Combined all the patches into a single one, as suggested. - Remove checking rxq, as it shouldn't be NULL at any

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

2016-02-18 Thread Helin Zhang
support newly added X722 VF device IDs. - Used small letter in all commit log titles. Helin Zhang (30): i40e/base: use explicit cast from u16 to u8 i40e/base: acquire NVM, before issuing an AQ read nvm command i40e/base: add hw flag for SRCTL access using AQ for X722 i40e/base: add

[dpdk-dev] [PATCH v2 01/30] i40e/base: use explicit cast from u16 to u8

2016-02-18 Thread Helin Zhang
Current implementation generates compilation warnings. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_lan_hmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/base/i40e_lan_hmc.c b/drivers/net/i40e/base/i40e_lan_hmc.c index 6511767..2260648

[dpdk-dev] [PATCH v2 02/30] i40e/base: acquire NVM, before issuing an AQ read nvm command

2016-02-18 Thread Helin Zhang
It needs to acquire the NVM before issuing an AQ read to the X722 NVM otherwise it will get EBUSY from the FW. Also release when done. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_nvm.c | 35 +-- 1 file changed, 29 insertions(+), 6 deletions(-) diff

[dpdk-dev] [PATCH v2 03/30] i40e/base: add hw flag for SRCTL access using AQ for X722

2016-02-18 Thread Helin Zhang
Instead of doing the MAC check, use a flag that gets set per MAC. This way there are less chances of user error and it can enable multiple MACs with the capability in a single place rather than cluttering the code with MAC checks. Signed-off-by: Helin Zhang --- drivers/net/i40e/base

[dpdk-dev] [PATCH v2 04/30] i40e/base: add changes in nvm read to support X722

2016-02-18 Thread Helin Zhang
t can be called from the paths that need the bulk access. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_nvm.c | 109 ++--- drivers/net/i40e/base/i40e_prototype.h | 8 ++- 2 files changed, 92 insertions(+), 25 deletions(-) diff --git a/drivers/net

[dpdk-dev] [PATCH v2 06/30] i40e/base: check for stopped admin queue

2016-02-18 Thread Helin Zhang
d-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index 998582c..e1a162e 100644 --- a/drivers/net/i40e/base/i40e_adminq.c +++ b/drivers/net/i40e

[dpdk-dev] [PATCH v2 08/30] i40e/base: clean event descriptor before use

2016-02-18 Thread Helin Zhang
In one obscure corner case, it was possible to clear the NVM update wait flag when no update_done message was actually received. This patch cleans the event descriptor before use, and moves the opcode check to where it won't get done if there was no event to clean. Signed-off-by: Helin

[dpdk-dev] [PATCH v2 09/30] i40e/base: add new device IDs and delete deprecated one

2016-02-18 Thread Helin Zhang
Add new Device ID's for backplane and QSFP+ adapters, and delete deprecated one for backplane. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 12 ++-- drivers/net/i40e/base/i40e_devids.h | 10 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff

[dpdk-dev] [PATCH v2 10/30] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT

2016-02-18 Thread Helin Zhang
The recently added opcodes should be available only with X722 SUPPORT, so move them into the #ifdef, and reorder these to be in numerical order with the rest of the opcodes. Several structs that were added are unnecessary, so they are removed here. Signed-off-by: Helin Zhang --- drivers/net

[dpdk-dev] [PATCH v2 11/30] i40e/base: define function capabilities in only one place

2016-02-18 Thread Helin Zhang
The device capabilities were defined in two places, and neither had all the definitions. It really belongs with the AQ API definition, so this patch removes the other set of definitions and fills out the missing item. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1

[dpdk-dev] [PATCH v2 12/30] i40e/base: fix for PHY NVM interaction problem

2016-02-18 Thread Helin Zhang
calling get phy capability function because that bit is not set when device is in PHY interaction mode. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/base/i40e_common.c b

[dpdk-dev] [PATCH v2 05/30] i40e/base: limit DCB FW version checks to XL710/X710 devices

2016-02-18 Thread Helin Zhang
XL710/X710 devices requires FW version checks to properly handle DCB configurations from the FW while other devices (e.g. X722) do not, so limit these checks to XL710/X710 only. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_dcb.c | 34 +- 1 file

[dpdk-dev] [PATCH v2 14/30] i40e/base: add APIs to Add/remove port mirroring rules

2016-02-18 Thread Helin Zhang
This patch implements necessary functions related to port mirroring features such as add/delete mirror rule, function to set promiscuous VLAN mode for VSI if mirror rule_type is "VLAN Mirroring". Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.

[dpdk-dev] [PATCH v2 07/30] i40e/base: set aq count after memory allocation

2016-02-18 Thread Helin Zhang
The standard way to check if the AQ is enabled is to look at the count field. So it should only set this field after it has successfully allocated memory. To do otherwise is to incite panic among the populace. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq.c | 4 ++-- 1 file

[dpdk-dev] [PATCH v2 15/30] i40e/base: add VEB stat control and remove L2 cloud filter

2016-02-18 Thread Helin Zhang
functionality exists. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 3 ++- drivers/net/i40e/base/i40e_common.c | 11 ++- drivers/net/i40e/base/i40e_prototype.h | 4 ++-- drivers/net/i40e/i40e_ethdev.c | 2 +- 4 files changed, 11 insertions(+), 9

[dpdk-dev] [PATCH v2 16/30] i40e/base: implement the API function for aq_set_switch_config

2016-02-18 Thread Helin Zhang
Add the support code for calling the AdminQ API call aq_set_switch_config. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 12 drivers/net/i40e/base/i40e_common.c | 28 drivers/net/i40e/base/i40e_prototype.h | 3 +++ 3

[dpdk-dev] [PATCH v2 13/30] i40e/base: set shared bit for multicast filters

2016-02-18 Thread Helin Zhang
Add the use of the new Shared MAC filter bit for multicast and broadcast filters in order to make better use of the filters available from the device. The FW folks have assured that setting this bit on older FW will have no affect, so it doesn't need a version check. Signed-off-by: Helin

[dpdk-dev] [PATCH v2 17/30] i40e/base: add functions to blink led on Coppervale PHY

2016-02-18 Thread Helin Zhang
This patch adds functions to blink led on devices using Coppervale PHY since MAC registers used in other designs do not work in this device configuration. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c| 329 + drivers/net/i40e/base

[dpdk-dev] [PATCH v2 18/30] i40e/base: apply promisc mode to Tx Traffic

2016-02-18 Thread Helin Zhang
n MFP which is similar to defport. An API check is not required, since this bit is reserved for FW API version < 1.5. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + drivers/net/i40e/base/i40e_common.c | 9 - 2 files changed, 9 insertions(+), 1

[dpdk-dev] [PATCH v2 19/30] i40e/base: increase timeout when checking GLGEN_RSTAT_DEVSTATE bit

2016-02-18 Thread Helin Zhang
When linking with particular PHY types (ex: copper PHY), the amount of time it takes for the GLGEN_RSTAT_DEVSTATE to be set increases greatly, which can lead to a timeout and failure to load the driver. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 6 +++--- 1 file

[dpdk-dev] [PATCH v2 21/30] i40e/base: coding style fixes

2016-02-18 Thread Helin Zhang
It adds coding style fixes. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 9a0b787..e94f726 100644 --- a

[dpdk-dev] [PATCH v2 22/30] i40e/base: use FW to read/write rx control registers

2016-02-18 Thread Helin Zhang
RX control register read/write functions are added, as directly read/write may fail when under stress small traffic. After the adminq is ready, all rx control registers should be read/written by dedicated functions. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 16

[dpdk-dev] [PATCH v2 24/30] i40e/base: add a Virtchnl offload for RSS PCTYPE V2

2016-02-18 Thread Helin Zhang
X722 supports Expanded version of TCP, UDP PCTYPES for RSS. Add a Virtchnl offload to support this. Without this patch VF drivers will not be able to support the correct PCTYPES for X722 and UDP flows will not fan out. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_virtchnl.h | 1

[dpdk-dev] [PATCH v2 23/30] i40e/base: expose some registers to program parser, FD and RSS logic

2016-02-18 Thread Helin Zhang
This patch adds 7 new register definitions for programming the parser, flow director and RSS blocks in the HW. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_register.h | 48 +++ drivers/net/i40e/i40e_ethdev.c| 11 ++-- 2 files changed, 50

[dpdk-dev] [PATCH v2 25/30] i40e/base: add AQ thermal sensor control struct

2016-02-18 Thread Helin Zhang
It adds the new AQ command and struct for managing a thermal sensor. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h

[dpdk-dev] [PATCH v2 26/30] i40e/base: add/update structure and macro definitions

2016-02-18 Thread Helin Zhang
Several structures and macros are added or updated, such as 'struct i40e_aqc_get_link_status', 'struct i40e_aqc_run_phy_activity' and 'struct i40e_aqc_lldp_set_local_mib_resp'. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 45

[dpdk-dev] [PATCH v2 27/30] i40e: add base driver release info

2016-02-18 Thread Helin Zhang
It adds base driver release information such as release date, for better tracking in the future. Signed-off-by: Helin Zhang --- drivers/net/i40e/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile index 033ee4a..6dd6eaa 100644 --- a

[dpdk-dev] [PATCH v2 28/30] i40e: add/remove new device IDs

2016-02-18 Thread Helin Zhang
It adds several new device IDs, and also removed one which is not used at all. Signed-off-by: Helin Zhang --- doc/guides/rel_notes/release_2_3.rst| 91 + drivers/net/i40e/i40e_ethdev.h | 2 +- drivers/net/i40e/i40e_rxtx.c

[dpdk-dev] [PATCH v2 29/30] i40e: use rx control function for rx control registers

2016-02-18 Thread Helin Zhang
As required, rx control registers have to be read/written by rx control functions, otherwise if may fail to read/write when under stress small traffic. Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_ethdev.c| 66 --- drivers/net/i40e

[dpdk-dev] [PATCH v2 30/30] i40evf: use base driver defined interface

2016-02-18 Thread Helin Zhang
It removes the i40evf_set_mac_type() defined in PMD, and reuses i40e_set_mac_type() defined in base driver. Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_ethdev_vf.c | 22 +- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/drivers/net/i40e

[dpdk-dev] [PATCH v2 20/30] i40e/base: save off VSI resource count when updating VSI

2016-02-18 Thread Helin Zhang
When updating a VSI, save off the number of allocated and unallocated VSIs as we do when adding a VSI. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base

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

2016-02-18 Thread Helin Zhang
.rst should be moved into release_16_04.rst. v2: - Used i40e_set_mac_type() in base driver to replace the similar in PMD source files, in order to support newly added X722 VF device IDs. - Used small letter in all commit log titles. Helin Zhang (30): i40e/base: use explicit cast from

[dpdk-dev] [PATCH v3 01/30] i40e/base: use explicit cast from u16 to u8

2016-02-18 Thread Helin Zhang
Current implementation generates compilation warnings. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_lan_hmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/base/i40e_lan_hmc.c b/drivers/net/i40e/base/i40e_lan_hmc.c index 6511767..2260648

[dpdk-dev] [PATCH v3 03/30] i40e/base: add hw flag for SRCTL access using AQ for X722

2016-02-18 Thread Helin Zhang
Instead of doing the MAC check, use a flag that gets set per MAC. This way there are less chances of user error and it can enable multiple MACs with the capability in a single place rather than cluttering the code with MAC checks. Signed-off-by: Helin Zhang --- drivers/net/i40e/base

[dpdk-dev] [PATCH v3 04/30] i40e/base: add changes in nvm read to support X722

2016-02-18 Thread Helin Zhang
t can be called from the paths that need the bulk access. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_nvm.c | 109 ++--- drivers/net/i40e/base/i40e_prototype.h | 8 ++- 2 files changed, 92 insertions(+), 25 deletions(-) diff --git a/drivers/net

[dpdk-dev] [PATCH v3 02/30] i40e/base: acquire NVM, before issuing an AQ read nvm command

2016-02-18 Thread Helin Zhang
It needs to acquire the NVM before issuing an AQ read to the X722 NVM otherwise it will get EBUSY from the FW. Also release when done. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_nvm.c | 35 +-- 1 file changed, 29 insertions(+), 6 deletions(-) diff

[dpdk-dev] [PATCH v3 05/30] i40e/base: limit DCB FW version checks to XL710/X710 devices

2016-02-18 Thread Helin Zhang
XL710/X710 devices requires FW version checks to properly handle DCB configurations from the FW while other devices (e.g. X722) do not, so limit these checks to XL710/X710 only. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_dcb.c | 34 +- 1 file

[dpdk-dev] [PATCH v3 06/30] i40e/base: check for stopped admin queue

2016-02-18 Thread Helin Zhang
d-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index 998582c..e1a162e 100644 --- a/drivers/net/i40e/base/i40e_adminq.c +++ b/drivers/net/i40e

[dpdk-dev] [PATCH v3 07/30] i40e/base: set aq count after memory allocation

2016-02-18 Thread Helin Zhang
The standard way to check if the AQ is enabled is to look at the count field. So it should only set this field after it has successfully allocated memory. To do otherwise is to incite panic among the populace. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq.c | 4 ++-- 1 file

[dpdk-dev] [PATCH v3 08/30] i40e/base: clean event descriptor before use

2016-02-18 Thread Helin Zhang
In one obscure corner case, it was possible to clear the NVM update wait flag when no update_done message was actually received. This patch cleans the event descriptor before use, and moves the opcode check to where it won't get done if there was no event to clean. Signed-off-by: Helin

[dpdk-dev] [PATCH v3 09/30] i40e/base: add new device IDs and delete deprecated one

2016-02-18 Thread Helin Zhang
Add new Device ID's for backplane and QSFP+ adapters, and delete deprecated one for backplane. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 12 ++-- drivers/net/i40e/base/i40e_devids.h | 10 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff

[dpdk-dev] [PATCH v3 10/30] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT

2016-02-18 Thread Helin Zhang
The recently added opcodes should be available only with X722 SUPPORT, so move them into the #ifdef, and reorder these to be in numerical order with the rest of the opcodes. Several structs that were added are unnecessary, so they are removed here. Signed-off-by: Helin Zhang --- drivers/net

[dpdk-dev] [PATCH v3 11/30] i40e/base: define function capabilities in only one place

2016-02-18 Thread Helin Zhang
The device capabilities were defined in two places, and neither had all the definitions. It really belongs with the AQ API definition, so this patch removes the other set of definitions and fills out the missing item. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1

[dpdk-dev] [PATCH v3 12/30] i40e/base: fix for PHY NVM interaction problem

2016-02-18 Thread Helin Zhang
calling get phy capability function because that bit is not set when device is in PHY interaction mode. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/base/i40e_common.c b

[dpdk-dev] [PATCH v3 13/30] i40e/base: set shared bit for multicast filters

2016-02-18 Thread Helin Zhang
Add the use of the new Shared MAC filter bit for multicast and broadcast filters in order to make better use of the filters available from the device. The FW folks have assured that setting this bit on older FW will have no affect, so it doesn't need a version check. Signed-off-by: Helin

[dpdk-dev] [PATCH v3 14/30] i40e/base: add APIs to Add/remove port mirroring rules

2016-02-18 Thread Helin Zhang
This patch implements necessary functions related to port mirroring features such as add/delete mirror rule, function to set promiscuous VLAN mode for VSI if mirror rule_type is "VLAN Mirroring". Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.

[dpdk-dev] [PATCH v3 15/30] i40e/base: add VEB stat control and remove L2 cloud filter

2016-02-18 Thread Helin Zhang
functionality exists. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 3 ++- drivers/net/i40e/base/i40e_common.c | 11 ++- drivers/net/i40e/base/i40e_prototype.h | 4 ++-- drivers/net/i40e/i40e_ethdev.c | 2 +- 4 files changed, 11 insertions(+), 9

[dpdk-dev] [PATCH v3 16/30] i40e/base: implement the API function for aq_set_switch_config

2016-02-18 Thread Helin Zhang
Add the support code for calling the AdminQ API call aq_set_switch_config. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 12 drivers/net/i40e/base/i40e_common.c | 28 drivers/net/i40e/base/i40e_prototype.h | 3 +++ 3

[dpdk-dev] [PATCH v3 17/30] i40e/base: add functions to blink led on Coppervale PHY

2016-02-18 Thread Helin Zhang
This patch adds functions to blink led on devices using Coppervale PHY since MAC registers used in other designs do not work in this device configuration. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c| 329 + drivers/net/i40e/base

[dpdk-dev] [PATCH v3 18/30] i40e/base: apply promisc mode to Tx Traffic

2016-02-18 Thread Helin Zhang
n MFP which is similar to defport. An API check is not required, since this bit is reserved for FW API version < 1.5. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + drivers/net/i40e/base/i40e_common.c | 9 - 2 files changed, 9 insertions(+), 1

[dpdk-dev] [PATCH v3 19/30] i40e/base: increase timeout when checking GLGEN_RSTAT_DEVSTATE bit

2016-02-18 Thread Helin Zhang
When linking with particular PHY types (ex: copper PHY), the amount of time it takes for the GLGEN_RSTAT_DEVSTATE to be set increases greatly, which can lead to a timeout and failure to load the driver. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 6 +++--- 1 file

[dpdk-dev] [PATCH v3 20/30] i40e/base: save off VSI resource count when updating VSI

2016-02-18 Thread Helin Zhang
When updating a VSI, save off the number of allocated and unallocated VSIs as we do when adding a VSI. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base

[dpdk-dev] [PATCH v3 22/30] i40e/base: use FW to read/write rx control registers

2016-02-18 Thread Helin Zhang
RX control register read/write functions are added, as directly read/write may fail when under stress small traffic. After the adminq is ready, all rx control registers should be read/written by dedicated functions. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 16

[dpdk-dev] [PATCH v3 23/30] i40e/base: expose some registers to program parser, FD and RSS logic

2016-02-18 Thread Helin Zhang
This patch adds 7 new register definitions for programming the parser, flow director and RSS blocks in the HW. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_register.h | 48 +++ drivers/net/i40e/i40e_ethdev.c| 11 ++-- 2 files changed, 50

[dpdk-dev] [PATCH v3 24/30] i40e/base: add a Virtchnl offload for RSS PCTYPE V2

2016-02-18 Thread Helin Zhang
X722 supports Expanded version of TCP, UDP PCTYPES for RSS. Add a Virtchnl offload to support this. Without this patch VF drivers will not be able to support the correct PCTYPES for X722 and UDP flows will not fan out. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_virtchnl.h | 1

[dpdk-dev] [PATCH v3 25/30] i40e/base: add AQ thermal sensor control struct

2016-02-18 Thread Helin Zhang
It adds the new AQ command and struct for managing a thermal sensor. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h

[dpdk-dev] [PATCH v3 26/30] i40e/base: add/update structure and macro definitions

2016-02-18 Thread Helin Zhang
Several structures and macros are added or updated, such as 'struct i40e_aqc_get_link_status', 'struct i40e_aqc_run_phy_activity' and 'struct i40e_aqc_lldp_set_local_mib_resp'. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 45

[dpdk-dev] [PATCH v3 27/30] i40e: add base driver release info

2016-02-18 Thread Helin Zhang
It adds base driver release information such as release date, for better tracking in the future. Signed-off-by: Helin Zhang --- drivers/net/i40e/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile index 033ee4a..6dd6eaa 100644 --- a

[dpdk-dev] [PATCH v3 21/30] i40e/base: coding style fixes

2016-02-18 Thread Helin Zhang
It adds coding style fixes. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 9a0b787..e94f726 100644 --- a

[dpdk-dev] [PATCH v3 29/30] i40e: use rx control function for rx control registers

2016-02-18 Thread Helin Zhang
As required, rx control registers have to be read/written by rx control functions, otherwise if may fail to read/write when under stress small traffic. Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_ethdev.c| 66 --- drivers/net/i40e

[dpdk-dev] [PATCH v3 28/30] i40e: add/remove new device IDs

2016-02-18 Thread Helin Zhang
It adds several new device IDs, and also removed one which is not used at all. Signed-off-by: Helin Zhang --- doc/guides/rel_notes/release_16_04.rst | 15 +++ drivers/net/i40e/i40e_ethdev.h | 2 +- drivers/net/i40e/i40e_rxtx.c| 8

[dpdk-dev] [PATCH v3 30/30] i40evf: use base driver defined interface

2016-02-18 Thread Helin Zhang
It removes the i40evf_set_mac_type() defined in PMD, and reuses i40e_set_mac_type() defined in base driver. Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_ethdev_vf.c | 22 +- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/drivers/net/i40e

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

2016-05-24 Thread Helin Zhang
This is the i40e base driver update, which includes bug fixes, enhancements, refactoring, and new device enabling. Below are the details. v2: - reworded commit titles and logs. Helin Zhang (15): i40e/base: remove HMC AQ APIs i40e/base: move field of NVM update status info i40e/base

[dpdk-dev] [PATCH v2 01/15] i40e/base: remove HMC AQ APIs

2016-05-24 Thread Helin Zhang
HMC AQ APIs were removed from the latest datasheet, and hence remove its implementations and relevant. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq.c | 4 --- drivers/net/i40e/base/i40e_adminq_cmd.h | 25 -- drivers/net/i40e/base/i40e_common.c | 61

[dpdk-dev] [PATCH v2 02/15] i40e/base: move field of NVM update status info

2016-05-24 Thread Helin Zhang
It centralizes all NVM update status info into a single structure, by moving nvm_release_on_done from struct i40e_adminq_info to struct i40e_hw, for better management. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq.c | 6 +++--- drivers/net/i40e/base/i40e_adminq.h | 1

[dpdk-dev] [PATCH v2 03/15] i40e/base: refactor NVM update command processing

2016-05-24 Thread Helin Zhang
It refactors the NVM update command processing, with adding a new element of nvm_wait_opcode in struct i40e_hw to indicate the opcode it waits on, and putting the wait event check into a function. In addition, that element needs to be initialized or updated properly. Signed-off-by: Helin Zhang

[dpdk-dev] [PATCH v2 05/15] i40e/base: fixup Geneve VNI for HW use

2016-05-24 Thread Helin Zhang
The hardware doesn't layout the Geneve VNI (Virtual Network Identifier) quite the same as the VxLAN VNI, so it needs to adjust it before sending through the AQ commands as the workaround. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c

[dpdk-dev] [PATCH v2 04/15] i40e/base: trim the code

2016-05-24 Thread Helin Zhang
It trim the source code, with limiting pieces of code for PF or VF driver only, code style fixes, and annotation rewording. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq.c | 52 +++-- drivers/net/i40e/base/i40e_adminq.h | 4 +-- drivers

[dpdk-dev] [PATCH v2 06/15] i40e/base: expose mirroring config

2016-05-24 Thread Helin Zhang
It exposes the configuration of mirroring or not egress traffic to VSIs in promiscuous mode, as latest firmware supports that from API version 1.5. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c| 9 ++--- drivers/net/i40e/base/i40e_prototype.h | 4 ++-- drivers/net

[dpdk-dev] [PATCH v2 07/15] i40e/base: fix problematic mirror rule ID check

2016-05-24 Thread Helin Zhang
It removes the problematic mirror rule ID check. It returns an error if the mirror rule ID is 0, which is a valid value. Fixes: 0bf2dbbe077c ("i40e/base: support mirroring rules") Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 5 + 1 file changed, 1 inser

[dpdk-dev] [PATCH v2 08/15] i40e/base: add new devices

2016-05-24 Thread Helin Zhang
It adds new device IDs and PHY types. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 4 drivers/net/i40e/base/i40e_common.c | 4 drivers/net/i40e/base/i40e_devids.h | 4 lib/librte_eal/common/include/rte_pci_dev_ids.h | 8

[dpdk-dev] [PATCH v2 09/15] i40e/base: fix the number of MSIX vector

2016-05-24 Thread Helin Zhang
It corrects the number of MSIX vector in a debug info. Fixes: 889bc9f0cd3a ("i40e/base: unify the capability function") Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_c

[dpdk-dev] [PATCH v2 10/15] i40e/base: fix debug output

2016-05-24 Thread Helin Zhang
It fixes the debug output messages. Fixes: f388b435bc33 ("i40e/base: clean adminq debug") Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_common.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net

[dpdk-dev] [PATCH v2 11/15] i40e/base: add more device capabilities

2016-05-24 Thread Helin Zhang
It adds more device capabilities for NVM management. - if update is available - if security check is needed Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + drivers/net/i40e/base/i40e_common.c | 6 ++ drivers/net/i40e/base/i40e_type.h | 5 + 3

[dpdk-dev] [PATCH v2 12/15] i40e/base: increase supported AQ API version

2016-05-24 Thread Helin Zhang
It increases the supported AQ API version to 1.5 for X722. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 7ed3048..bc68b47 100644

[dpdk-dev] [PATCH v2 13/15] i40e/base: add input set mask definitions

2016-05-24 Thread Helin Zhang
It adds input set mask definitions for RSS, flow director and flex bytes. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_type.h | 33 + 1 file changed, 33 insertions(+) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base

[dpdk-dev] [PATCH v2 14/15] i40e/base: add RSS config to virtual channel

2016-05-24 Thread Helin Zhang
It add opcodes and structures to support RSS configuration by PF driver on behalf of the VF drivers. Signed-off-by: Helin Zhang --- drivers/net/i40e/base/i40e_virtchnl.h | 45 --- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/drivers/net/i40e

[dpdk-dev] [PATCH v2 15/15] i40e/base: add capability of disabling all link

2016-05-24 Thread Helin Zhang
It adds a flag, which can be used to tell the firmware to disable the link on all ports. Signed-off-by: Helin Zhang --- doc/guides/rel_notes/release_16_07.rst | 4 drivers/net/i40e/Makefile | 2 +- drivers/net/i40e/base/i40e_adminq_cmd.h | 3 +++ 3 files changed, 8

[dpdk-dev] [PATCH v3 0/7] support i40e QinQ stripping and insertion

2015-06-11 Thread Helin Zhang
icast. v3 changes: * update documentation (Testpmd Application User Guide). Helin Zhang (7): ixgbe: remove a discarded source line mbuf: use the reserved 16 bits for double vlan i40e: support double vlan stripping and insertion i40evf: add supported offload capability flags app/testpmd

[dpdk-dev] [PATCH v3 1/7] ixgbe: remove a discarded source line

2015-06-11 Thread Helin Zhang
Little endian to CPU order conversion had been added for reading vlan tag from RX descriptor, while its original source line was forgotten to delete. That's a discarded source line and should be deleted. Fixes: 23fcffe8ffac ("ixgbe: fix id and hash with flow director") Signed-off-

[dpdk-dev] [PATCH v3 2/7] mbuf: use the reserved 16 bits for double vlan

2015-06-11 Thread Helin Zhang
Use the reserved 16 bits in rte_mbuf structure for the outer vlan, also add QinQ offloading flags for both RX and TX sides. Signed-off-by: Helin Zhang --- lib/librte_mbuf/rte_mbuf.h | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) v2 changes: * Fixed a typo. diff --git a/lib

[dpdk-dev] [PATCH v3 3/7] i40e: support double vlan stripping and insertion

2015-06-11 Thread Helin Zhang
in mbufs, to trigger the hardware insertion of double vlan tags for each packets sent out. Signed-off-by: Helin Zhang --- drivers/net/i40e/i40e_ethdev.c| 52 + drivers/net/i40e/i40e_ethdev_vf.c | 6 +++ drivers/net/i40e/i40e_rxtx.c | 81

<    4   5   6   7   8   9   10   >