[dpdk-dev] [PATCH v3] ethdev: fix DCB config issue on ixgbe

2016-05-06 Thread Wenzhuo Lu
An issue is found that DCB cannot be configured on ixgbe NICs. It's said the TX queue number is not right. On ixgbe the max TX queue number is not fixed, it depends on the multi-queue mode. The API rte_eth_dev_configure should be used to configure this mode. But the input of this API includes TX

[dpdk-dev] [PATCH 00/29] ixgbe/base: update base driver

2016-05-06 Thread Beilei Xing
Update base driver for ixgbe, mainly work on new features and bug fixes. Beilei Xing (29): ixgbe/base: add new VF requests for mailbox API ixgbe/base: add sgmii link for X550 ixgbe/base: fix problematic return value ixgbe/base: add mac link setup for x550a SFP ixgbe/base: fix checksum

[dpdk-dev] [PATCH 01/29] ixgbe/base: add new VF requests for mailbox API

2016-05-06 Thread Beilei Xing
It adds two new VF requests of IXGBE_VF_GET_RETA and IXGBE_VF_GET_RSS_KEY for mailbox API. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_mbx.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/base/ixgbe_mbx.h

[dpdk-dev] [PATCH 02/29] ixgbe/base: add sgmii link for X550

2016-05-06 Thread Beilei Xing
It adds sgmii link for X550. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_type.h | 9 +++ drivers/net/ixgbe/base/ixgbe_x550.c | 131 +--- 2 files changed, 129 insertions(+), 11 deletions(-) diff --git a/drivers/net/ixgbe/base/ixgbe_type.h

[dpdk-dev] [PATCH 03/29] ixgbe/base: fix problematic return value

2016-05-06 Thread Beilei Xing
An error code indicating that the PF rejects the MAC address change should be returned, in case that the PF has already assigned a MAC for the VF. Fixes: af75078fece3 ("first public release") Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_vf.c | 4 +++- 1 file changed, 3

[dpdk-dev] [PATCH 04/29] ixgbe/base: add mac link setup for x550a SFP

2016-05-06 Thread Beilei Xing
This patch adds ixgbe_setup_mac_link_sfp_x550a for x550a SFP. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_type.h | 4 +++ drivers/net/ixgbe/base/ixgbe_x550.c | 64 - drivers/net/ixgbe/base/ixgbe_x550.h | 3 ++ 3 files changed, 70

[dpdk-dev] [PATCH 05/29] ixgbe/base: fix checksum error of checking PHY token

2016-05-06 Thread Beilei Xing
This patch sets the Host Interface PHY token command checksum to the checksum default of 0xFF, therefore the checksum is not checked by the firmware. Otherwise the command fails with a checksum failed error. Fixes: 86b8fb293fdf ("ixgbe/base: add sw-firmware sync for resource sharing")

[dpdk-dev] [PATCH 06/29] ixgbe/base: refactor eee setup for x550

2016-05-06 Thread Beilei Xing
Break ixgbe_setup_eee_X550 down to better handle a change from if statements to switch statements needed to add X550EM_A KR support. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_x550.c | 174 ++-- 1 file changed, 105 insertions(+), 69 deletions(-)

[dpdk-dev] [PATCH 07/29] ixgbe/base: change access method

2016-05-06 Thread Beilei Xing
Use the method pointers instead of direct function calls so that the right thing will happen on X550EM_a. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_x550.c | 80 ++--- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git

[dpdk-dev] [PATCH 08/29] ixgbe/base: add KR support for X550EM_A devices

2016-05-06 Thread Beilei Xing
Implement KR support for X550EM_A devices. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_x550.c | 51 + 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c b/drivers/net/ixgbe/base/ixgbe_x550.c

[dpdk-dev] [PATCH 10/29] ixgbe/base: clear stale pool mappings

2016-05-06 Thread Beilei Xing
This patch adds clearing the pool mappings when configuring default MAC addresses for the interface. Without this there will be the risk of leaking an address into pool 0 which really belongs to VF 0 when SR-IOV is enabled. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_82599.c |

[dpdk-dev] [PATCH 09/29] ixgbe/base: add link mac setup for x550a SFP+

2016-05-06 Thread Beilei Xing
This patch updates ixgbe_setup_mac_link_sfp_x550a for x550 SFP+. ixgbe_set_lan_id_multi_port_pcie has been updated to set the MAC instance(0/1) which is needed when configuring the external PHY, since x550a has two instances of MGPK. The MAC instance is read from the EEPROM. Signed-off-by: Beilei

[dpdk-dev] [PATCH 11/29] ixgbe/base: rename macro of TDL

2016-05-06 Thread Beilei Xing
This patch renames IXGBE_PVFTTDLEN to IXGBE_PVFTDLEN according to abbreviation of Transmit Descriptor Length in datasheet. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/base/ixgbe_type.h

[dpdk-dev] [PATCH 12/29] ixgbe/base: fix error path to release lock

2016-05-06 Thread Beilei Xing
When there is an error getting the PHY token, the error path fails to release the locks that it has taken. Release those locks in that failure case. Fixes: 86b8fb293fdf ("ixgbe/base: add sw-firmware sync for resource sharing) Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_x550.c |

[dpdk-dev] [PATCH 13/29] ixgbe/base: refactor NW management interface ops

2016-05-06 Thread Beilei Xing
This patch adds ixgbe_read_mng_if_sel_x550em to read NW_MNG_IF_SEL register and save fields such as PHY MDIO_ADD. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_type.h | 2 ++ drivers/net/ixgbe/base/ixgbe_x550.c | 48 +++-- 2 files changed, 32

[dpdk-dev] [PATCH 14/29] ixgbe/base: fix for code style

2016-05-06 Thread Beilei Xing
The ixgbe_vf.h file did not use __ and instead used which is not the standard used in every other file. Fixes: af75078fece3 ("first public release") Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_vf.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git

[dpdk-dev] [PATCH 15/29] ixgbe/base: fix firmware commands on x550em_a

2016-05-06 Thread Beilei Xing
This patch fixes firmware commands on x550em_a. For one thing, the checksum value was not being set. Fixes: 0790adeb5675 ("ixgbe/base: support X550em_a device") Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_x550.c | 19 ++- 1 file changed, 10 insertions(+), 9

[dpdk-dev] [PATCH 16/29] ixgbe/base: add new phy definitions

2016-05-06 Thread Beilei Xing
It adds new phy definitions. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_phy.c | 16 +- drivers/net/ixgbe/base/ixgbe_type.h | 14 +- drivers/net/ixgbe/base/ixgbe_x550.c | 303 ++-- drivers/net/ixgbe/base/ixgbe_x550.h | 43 + 4 files

[dpdk-dev] [PATCH 17/29] ixgbe/base: change device IDs

2016-05-06 Thread Beilei Xing
There're two device IDs changed from 15C6/15C7 to 15E4/15E5 cause PHY info changes. Make the change and use 15C6/15C7 for the backplane SGMII. Clean up some discovery kludges from the previous shared ID, and also add 15C6/15C7 to ixgbe_set_mdio_speed just for paranoia to control MDIO speed even

[dpdk-dev] [PATCH 18/29] ixgbe/base: update swfw semaphore function

2016-05-06 Thread Beilei Xing
For X540 and forward it is possible if a system reset occur at the right time to leave the SWFW semaphore high. This new function will attempt to grab and release the semaphore. If the grab times out it will still release the semaphore placing it in a known good state. The idea is to call this

[dpdk-dev] [PATCH 19/29] ixgbe/base: fix register access error

2016-05-06 Thread Beilei Xing
This patch corrects the FLA/GSCL/GSCN access offset value according to the datasheet. Fixes: 0790adeb5675 ("ixgbe/base: support X550em_a device") Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_type.h | 42 - 1 file changed, 41 insertions(+), 1

[dpdk-dev] [PATCH 20/29] ixgbe/base: limit PHY token accessing to MDIO only

2016-05-06 Thread Beilei Xing
This patch limits getting and putting the PHY Token to PHY MDIO access only by adding ixgbe_read_phy_reg_x550a and ixgbe_write_phy_reg_x550a. The PHY Token is only needed to synchronize access to the MDIO shared between the two MAC instance. Signed-off-by: Beilei Xing ---

[dpdk-dev] [PATCH 22/29] ixgbe/base: add bypassing VLVF

2016-05-06 Thread Beilei Xing
This patch adds support for the VLVF to be bypassed when adding or removing a VFTA entry. The PF can utilize the default pool while preserving the VLVF for the VFs use. Meanwhile, update corresponding VF ops and drivers where corresponding ops is invoked. Signed-off-by: Beilei Xing ---

[dpdk-dev] [PATCH 21/29] ixgbe/base: smplify add/remove VLANs

2016-05-06 Thread Beilei Xing
This patch simplifies the adding and removing VLANs from VFTA/VLVF/VLVFB registers. The logic to determine registers has been simplified to (vid / 32) and (1 - vid / 32). Many conditional paths and checks are no longer needed with this patch. Signed-off-by: Beilei Xing ---

[dpdk-dev] [PATCH 23/29] ixgbe/base: unify coding style

2016-05-06 Thread Beilei Xing
This patch changes static keyword to STATIC definition, which can be redefined depending on the compiler used. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_x550.c | 38 ++--- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git

[dpdk-dev] [PATCH 24/29] ixgbe/base: use u8 to replace u16 for a variable

2016-05-06 Thread Beilei Xing
Since PCIe standard defines maximum of 8 functions per device lan_id is a value 0..7. Because of that, lan_id don't need to be u16. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_common.c | 2 +- drivers/net/ixgbe/base/ixgbe_type.h | 2 +- 2 files changed, 2 insertions(+), 2

[dpdk-dev] [PATCH 25/29] ixgbe/base: fix endianness issues

2016-05-06 Thread Beilei Xing
This patch fixes endianness issues about host interface command. Fixes: ad66a85dce9a ("ixgbe/base: new FW values") Fixes: 0790adeb5675 ("ixgbe/base: support X550em_a device") Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_osdep.h | 1 + drivers/net/ixgbe/base/ixgbe_type.h | 17

[dpdk-dev] [PATCH 26/29] ixgbe/base: allow setting mac anti spoofing per vf

2016-05-06 Thread Beilei Xing
Make ixgbe_set_mac_anti_spoofing() consistent with the other functions that deal with setting VLAN and Ethertype spoofing by changing the prototype to accept a VF parameter. Also change the logic for writing the PFVFSPOOF register to be similar to the MAC and Ethertype functions. Signed-off-by:

[dpdk-dev] [PATCH 27/29] ixgbe/base: add flow control autoneg for x550a

2016-05-06 Thread Beilei Xing
This patch adds x550a flow control auto negotiation support. ixgbe_setup_fc_x550a and ixgbe_fc_autoneg_X550a functions where added to setup and enable flow control. MAC ops function pointer fc_autoneg was added so that hardware specific fc autoneg functions can be called from

[dpdk-dev] [PATCH 28/29] ixgbe/base: define if enable crosstalk work around

2016-05-06 Thread Beilei Xing
A work around for a new crosstalk erratum that causes link flap in emtry cages has beed introduced. So this patch defines the bit in NVM that will tell software if this work around is needed. Signed-off-by: Beilei Xing --- drivers/net/ixgbe/base/ixgbe_type.h | 1 + 1 file changed, 1

[dpdk-dev] [PATCH 29/29] ixgbe/base: update README

2016-05-06 Thread Beilei Xing
update README. Besides, update release notes. Signed-off-by: Beilei Xing --- doc/guides/rel_notes/release_16_07.rst | 11 +++ drivers/net/ixgbe/base/README | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/doc/guides/rel_notes/release_16_07.rst

[dpdk-dev] [PATCH v3 0/4] ixgbe: enable ixgbe vector PMD on ARM

2016-05-06 Thread Jianbo Liu
Implement ixgbe vPMD on ARM with NEON intrinsic. v3: - rebase to rel_16_07 branch on dpdk-next-net. v2: - move the common code to new header file. Jianbo Liu (4): ixgbe: rearrange vector PMD code for x86 ixgbe: implement vector PMD for arm architecture ixgbe: enable ixgbe vector PMD on

[dpdk-dev] [PATCH v3 1/4] ixgbe: rearrange vector PMD code for x86

2016-05-06 Thread Jianbo Liu
move common code to new file "ixgbe_rxtx_vec_common.h", and vPMD for x86 is implemented in ixgbe_rxtx_vec.c Signed-off-by: Jianbo Liu Suggested-by: Bruce Richardson --- drivers/net/ixgbe/ixgbe_rxtx_vec.c| 258 +-- drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 327

[dpdk-dev] [PATCH v3 2/4] ixgbe: implement vector PMD for arm architecture

2016-05-06 Thread Jianbo Liu
use ARM NEON intrinsic to implement ixgbe vPMD Signed-off-by: Jianbo Liu --- drivers/net/ixgbe/Makefile | 4 + drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c | 561 2 files changed, 565 insertions(+) create mode 100644

[dpdk-dev] [PATCH v3 3/4] ixgbe: enable ixgbe vector PMD on ARMv8a platform

2016-05-06 Thread Jianbo Liu
Signed-off-by: Jianbo Liu --- config/defconfig_arm64-armv8a-linuxapp-gcc | 1 - 1 file changed, 1 deletion(-) diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc index 9abeca4..98cc054 100644 --- a/config/defconfig_arm64-armv8a-linuxapp-gcc +++

[dpdk-dev] [PATCH v3 4/4] maintainers: claim responsibility for ixgbe vector PMD on ARM

2016-05-06 Thread Jianbo Liu
Signed-off-by: Jianbo Liu --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index ba4053a..78b46e2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -142,6 +142,7 @@ F: lib/librte_eal/common/include/arch/arm/*_64.h F: lib/librte_acl/acl_run_neon.* F:

[dpdk-dev] [PATCH 0/5] cxgbe: add features to CXGBE PMD

2016-05-06 Thread Rahul Lakkireddy
This patch series add some features to CXGBE PMD. Patch 1 fixes a bug where reading/writing PCI config space in BSD fails with EPERM due to missing write permission when opening /dev/pci/. Patch 2 adds support to access PCI config space for CXGBE PMD. Patch 3 programs PCIe completion timeout to

[dpdk-dev] [PATCH 1/5] pci: fix access to PCI config space in bsd

2016-05-06 Thread Rahul Lakkireddy
PCIOCREAD and PCIOCWRITE ioctls to read/write PCI config space fail with EPERM due to missing write permission. Fix by opening /dev/pci/ with O_RDWR instead. Fixes: 632b2d1deeed ("eal: provide functions to access PCI config") Signed-off-by: Rahul Lakkireddy Signed-off-by: Kumar Sanghvi ---

[dpdk-dev] [PATCH 2/5] cxgbe: add support to access PCI config space

2016-05-06 Thread Rahul Lakkireddy
Add helper functions to access PCI config space. Signed-off-by: Rahul Lakkireddy Signed-off-by: Kumar Sanghvi --- drivers/net/cxgbe/base/adapter.h | 129 ++- 1 file changed, 128 insertions(+), 1 deletion(-) diff --git a/drivers/net/cxgbe/base/adapter.h

[dpdk-dev] [PATCH 3/5] cxgbe: set default PCIe completion timeout

2016-05-06 Thread Rahul Lakkireddy
Program the PCIe completion timeout to 4 sec to give enough time to allow completions to be received successfully in some older systems. Signed-off-by: Rahul Lakkireddy Signed-off-by: Kumar Sanghvi --- drivers/net/cxgbe/base/adapter.h | 2 ++ drivers/net/cxgbe/base/t4_hw.c | 19

[dpdk-dev] [PATCH 4/5] cxgbe: add support to get/set EEPROM

2016-05-06 Thread Rahul Lakkireddy
Add operations to get/set EEPROM. Signed-off-by: Rahul Lakkireddy Signed-off-by: Kumar Sanghvi --- doc/guides/nics/overview.rst | 2 +- drivers/net/cxgbe/base/adapter.h | 7 ++ drivers/net/cxgbe/base/common.h | 5 +- drivers/net/cxgbe/base/t4_hw.c | 182

[dpdk-dev] [PATCH 5/5] cxgbe: add support to get register dump

2016-05-06 Thread Rahul Lakkireddy
Add operations to get register dump. Signed-off-by: Rahul Lakkireddy Signed-off-by: Kumar Sanghvi --- doc/guides/nics/overview.rst | 2 +- drivers/net/cxgbe/base/common.h | 6 + drivers/net/cxgbe/base/t4_hw.c | 846 +++

[dpdk-dev] virtio still blindly take over virtio device managed by kernel

2016-05-06 Thread Xie, Huawei
On 5/5/2016 12:21 AM, Vincent Li wrote: > Hi, > > I am running the dpdk git repo which already had commit ac5e1d838dc > (virtio: skip error when probing kernel managed device), but in my > test, it seems still taking control of the kernel managed virtio > device and segmentation fault, here is the

[dpdk-dev] [PATCH 0/2] mempool: add stack (fifo) mempool handler

2016-05-06 Thread Tan, Jianfeng
Hi David, On 5/6/2016 2:29 AM, David Hunt wrote: > This patch set adds a fifo stack handler to the external mempool > manager. Just a minor confusion for me. Usually, we refer stack as LIFO and queue as FIFO. So is there any particular reason why we call "stack (fifo)" here? Thanks, Jianfeng

[dpdk-dev] [PATCH] i40e: support user unaware VF reset

2016-05-06 Thread Zhe Tao
Problem: Now the i40e VF PMD driver does not support reset event from PF. Customer want the user unaware VF reset feature in VF PMD driver, with this feature, the application doesn't need to concern about the VF reset procedure and all the application can work correctly when VF is doing the reset.

[dpdk-dev] [PATCH v2] bond: inherit maximum rx packet length

2016-05-06 Thread Declan Doherty
CC'ing follow up conversation which I accidentally took of list. Forwarded Message Subject: Re: [dpdk-dev] [PATCH] bond: inherit maximum rx packet length Date: Wed, 4 May 2016 14:11:53 -0400 From: Eric Kinzie To: Declan Doherty On Wed May 04 14:53:26 +0100

[dpdk-dev] [RFC 4/4] app/test: support resources archived by tar

2016-05-06 Thread Bruce Richardson
On Thu, May 05, 2016 at 07:05:40PM +0200, Jan Viktorin wrote: > On Thu, 5 May 2016 14:33:01 +0100 > Bruce Richardson wrote: > > > On Fri, Apr 29, 2016 at 03:11:36PM +0200, Jan Viktorin wrote: > > > When needing a more complex resource (a file hierarchy), packing every > > > single > > > file as

[dpdk-dev] [RFC 0/4] Include resources in tests

2016-05-06 Thread Bruce Richardson
On Thu, May 05, 2016 at 07:03:00PM +0200, Jan Viktorin wrote: > On Thu, 5 May 2016 14:29:30 +0100 > Bruce Richardson wrote: > > > On Fri, Apr 29, 2016 at 03:11:32PM +0200, Jan Viktorin wrote: > > > Hello, > > > > > > this patch set introduces a mechanism to include a resource (in general a > >

[dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver

2016-05-06 Thread Declan Doherty
On 20/04/16 13:41, Jan Viktorin wrote: > On Wed, 20 Apr 2016 13:05:24 +0100 > Bruce Richardson wrote: > >> On Wed, Apr 20, 2016 at 01:44:00PM +0200, David Marchand wrote: >>> Following discussions with Jan [1] and some cleanup I started on pci code, >>> here is a patchset that reworks pdev

[dpdk-dev] [PATCH 0/2] Added AES counter mode capability

2016-05-06 Thread Arek Kusztal
This patchset adds AES counter mode capability for Intel QuickAssist Technology crypto driver. It adds six test cases for 16B, 24B, 32B key size. NOTE: Need to repost this patchset because of the problem in email header. Arek Kusztal (2): qat: add AES counter mode capability app/test: add

[dpdk-dev] [PATCH 1/2] qat: add AES counter mode capability

2016-05-06 Thread Arek Kusztal
Added possibility for AES to work in counter mode Signed-off-by: Arek Kusztal --- doc/guides/cryptodevs/overview.rst | 6 +++--- doc/guides/cryptodevs/qat.rst | 3 +++ doc/guides/rel_notes/release_16_07.rst | 5 + drivers/crypto/qat/qat_crypto.c| 29

[dpdk-dev] [PATCH 2/2] app/test: add test cases for AES CTR

2016-05-06 Thread Arek Kusztal
Added tests cases for AES working in counter mode Signed-off-by: Arek Kusztal --- app/test/test_cryptodev.c | 254 app/test/test_cryptodev_aes_ctr_test_vectors.h | 257 + 2 files changed, 511 insertions(+) create mode 100644

[dpdk-dev] [PATCH 1/5] bonding: replace spinlock with read/write lock

2016-05-06 Thread Declan Doherty
On 05/05/16 18:12, Stephen Hemminger wrote: > On Thu, 5 May 2016 16:14:56 +0100 > Bernard Iremonger wrote: > >> Fixes: a45b288ef21a ("bond: support link status polling") >> Signed-off-by: Bernard Iremonger > > You know an uncontested reader/writer lock is significantly slower > than a spinlock.

[dpdk-dev] [PATCH v1 04/10] app/test: support resources archived by tar

2016-05-06 Thread Jan Viktorin
When needing a more complex resource (a file hierarchy), packing every single file as a single resource would be very ineffective. For that purpose, it is possible to pack the files into a tar archive, extract it before test from the resource and finally clean up all the created files. This patch

[dpdk-dev] [PATCH v1 03/10] app/test: add functions to create files from resources

2016-05-06 Thread Jan Viktorin
A resource can be written into the target filesystem by calling resource_fwrite or resource_fwrite_file. Such file can be created before a test is started and removed after the test finishes. Signed-off-by: Jan Viktorin --- app/test/resource.c | 35 +++

[dpdk-dev] [PATCH v1 01/10] app/test: introduce resources for tests

2016-05-06 Thread Jan Viktorin
Certain internal mechanisms of DPDK access different file system structures (e.g. /sys/bus/pci/devices). It is difficult to test those cases automatically by a unit test when such path is not hard-coded and there is no simple way how to distribute fake ones with the current testing environment.

[dpdk-dev] [PATCH v1 02/10] app/test: support resources externally linked

2016-05-06 Thread Jan Viktorin
To include resources from other source that the C source code we can take advantage of the objcopy behaviour, i.e. packing of an arbitrary file as an object file that is linked to the target program. A linked object file is always accessible as a pair extern const char beg_; extern const char

[dpdk-dev] [PATCH v1 00/10] Include resources in tests

2016-05-06 Thread Jan Viktorin
Hello, the second round of the approach to include resources in the test application. I've tested on top of 84c9b5a so it should work now as expected without any dependencies. I've included 5 patches more related to the PCI and PCI tests. They should probably go in their own patch series but I

[dpdk-dev] [PATCH v1 05/10] app/test: use linked list to store PCI drivers

2016-05-06 Thread Jan Viktorin
The test unregisters all real drivers before starting into an array. This inflexiable as we can use a linked list for this purpose. Signed-off-by: Jan Viktorin --- app/test/test_pci.c | 18 -- 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/app/test/test_pci.c

[dpdk-dev] [PATCH v1 06/10] app/test: extract test_pci_setup and test_pci_cleanup

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- app/test/test_pci.c | 47 ++- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/app/test/test_pci.c b/app/test/test_pci.c index cf82373..9d53ba5 100644 --- a/app/test/test_pci.c +++ b/app/test/test_pci.c @@

[dpdk-dev] [PATCH v1 10/10] app/test: do not dump PCI devices in blacklist test

2016-05-06 Thread Jan Viktorin
Dumping of devices in a unittest is useless. Instead, test whether the test has been set up well - i.e. there are no devices. Signed-off-by: Jan Viktorin --- app/test/test_pci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/test/test_pci.c b/app/test/test_pci.c

[dpdk-dev] [PATCH v1 08/10] eal/pci: replace SYSFS_PCI_DEVICES with pci_get_sysfs_path()

2016-05-06 Thread Jan Viktorin
The SYSFS_PCI_DEVICES is a constant that makes the PCI testing difficult as it points to an absolute path. We remove using this constant and introducing a function pci_get_sysfs_path that gives the same value. However, the user can pass a SYSFS_PCI_DEVICES env variable to override the path. It is

[dpdk-dev] [PATCH v1 09/10] app/test: scan PCI bus using a fake sysfs

2016-05-06 Thread Jan Viktorin
Scan the PCI bus by providing a fake sysfs with a PCI device. The fake sysfs is a packed file hierarchy linked into the test. Signed-off-by: Jan Viktorin --- app/test/Makefile | 4 ++ app/test/test_pci.c| 58

[dpdk-dev] [PATCH v1 07/10] app/test: convert current pci_test into a single test case

2016-05-06 Thread Jan Viktorin
The current test_pci is just a single test case that tests the blacklisting of devices. Rename it to test_pci_blacklist and call it from the test_pci. Signed-off-by: Jan Viktorin --- app/test/test_pci.c | 85 + 1 file changed, 47

[dpdk-dev] [PATCH 0/5] add packet capture framework

2016-05-06 Thread Reshma Pattan
This patchset include below changes 1)Changes to librte_ether. 2)New library librte_pdump added for packet capture framework. 3)New app/pdump tool added for packet capturing. 4)Test pmd changes done to initialize packet capture framework. 5)Documentation update. 1)librte_pdump == To

[dpdk-dev] [PATCH 1/5] librte_ether: protect add/remove of rxtx callbacks with spinlocks

2016-05-06 Thread Reshma Pattan
* added spinlocks around add/remove logic of rxtx callbacks to avoid corruption of callback lists in multithreaded context. * added new public api rte_eth_add_first_rx_callback to add given callback as head of list. * converted rte_eth_dev_get_port_by_name to public API. * add new fields to

[dpdk-dev] [PATCH 2/5] lib/librte_pdump: add new library for packet capturing support

2016-05-06 Thread Reshma Pattan
Added new library for packet capturing support. Added public api rte_pdump_init, applications should call this as part of their application setup to have packet capturing framework ready. Added public api rte_pdump_uninit to un initialize the packet capturing framework. Added public apis

[dpdk-dev] [PATCH 4/5] app/test-pmd: add pdump initialization uninitialization

2016-05-06 Thread Reshma Pattan
Added calls to rte_pdump_init and rte_pdump_uninit for packet capture framework initialization and uninitialization. Signed-off-by: Reshma Pattan --- app/test-pmd/testpmd.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index

[dpdk-dev] [PATCH 3/5] app/pdump: add pdump tool for packet capturing

2016-05-06 Thread Reshma Pattan
New tool added for packet capturing on dpdk. This tool supports command line options. This tool runs as secondary process by default. Command line supports various parameters to capture the packets. User should pass on a)port and queue (or) b)pci address and queue (or) c)device name and queue to

[dpdk-dev] [PATCH 5/5] doc: update doc for packet capture framework

2016-05-06 Thread Reshma Pattan
added programmers guide for librte_pdump. added sample application guide for app/pdump application. updated release note for packet capture framework changes. Signed-off-by: Reshma Pattan --- MAINTAINERS | 3 + doc/guides/prog_guide/index.rst | 1 +

[dpdk-dev] [RFC PATCH v2 0/3] Remove string operations from xstats

2016-05-06 Thread Remy Horton
The current extended ethernet statistics fetching involve doing several string operations, which causes performance issues if there are lots of statistics and/or network interfaces. This RFC patchset changes the API for xstats to use integer identifiers instead of strings and implements this new

[dpdk-dev] [RFC PATCH v2 1/3] rte: change xstats to use integer keys

2016-05-06 Thread Remy Horton
Signed-off-by: Remy Horton --- lib/librte_ether/rte_ethdev.c | 100 -- lib/librte_ether/rte_ethdev.h | 55 +++ 2 files changed, 142 insertions(+), 13 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.c

[dpdk-dev] [RFC PATCH v2 2/3] drivers/net/ixgbe: change xstats to use integer id

2016-05-06 Thread Remy Horton
Signed-off-by: Remy Horton --- drivers/net/ixgbe/ixgbe_ethdev.c | 98 ++-- 1 file changed, 85 insertions(+), 13 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 3f1ebc1..3ff8bae 100644 ---

[dpdk-dev] [RFC PATCH v2 3/3] examples/ethtool: add xstats display command

2016-05-06 Thread Remy Horton
Signed-off-by: Remy Horton --- examples/ethtool/ethtool-app/ethapp.c | 57 +++ 1 file changed, 57 insertions(+) diff --git a/examples/ethtool/ethtool-app/ethapp.c b/examples/ethtool/ethtool-app/ethapp.c index 2ed4796..1dc0c35 100644 ---

[dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver

2016-05-06 Thread Jan Viktorin
Hello, On Fri, 6 May 2016 10:26:45 +0100 Declan Doherty wrote: > On 20/04/16 13:41, Jan Viktorin wrote: > > On Wed, 20 Apr 2016 13:05:24 +0100 > > Bruce Richardson wrote: > > > >> On Wed, Apr 20, 2016 at 01:44:00PM +0200, David Marchand wrote: > >>> Following discussions with Jan [1] and

[dpdk-dev] [PATCH] lpm: unchecked return value

2016-05-06 Thread Mrozowicz, SlawomirX
>-Original Message- >From: Richardson, Bruce >Sent: Tuesday, May 3, 2016 4:34 PM >To: Mrozowicz, SlawomirX >Cc: dev at dpdk.org >Subject: Re: [PATCH] lpm: unchecked return value > >On Wed, Apr 27, 2016 at 02:52:34PM +0200, Slawomir Mrozowicz wrote: >> Fix issue reported by Coverity. >>

[dpdk-dev] [RFC PATCH 0/4] Convert lpm data from header to resource

2016-05-06 Thread Bruce Richardson
This patchset is based on the work done by Jan Viktorin to add resource handling to the test app. [1] It takes the existing lpm large routing table information and converts it from a header file included at compile time to a resource linked in. This improves things in two ways: 1. Improves DPDK

[dpdk-dev] [RFC PATCH 1/4] test: add lpm routes as a linked resource

2016-05-06 Thread Bruce Richardson
Since we now have the ability to store resource data directly inside the test binary, take the test_lpm_routes.h header file and make it a test resource. Later commits will then switch the test C file over to use this rather than including it directly. Signed-off-by: Bruce Richardson ---

[dpdk-dev] [RFC PATCH 2/4] test: make all lpm routes be of unsigned type

2016-05-06 Thread Bruce Richardson
The one route that was different to the others in the test_lpm_routes.h file was the entry "{0, 8}" which was the only route without a "U" after the IP part. Add in the extra "U" to that entry so that it can be used as a check character when parsing routes manually. Signed-off-by: Bruce

[dpdk-dev] [RFC PATCH 3/4] test: change lpm test to use routes as resource

2016-05-06 Thread Bruce Richardson
Change the lpm autotest to use the routes data from the resource data stored in the binary rather than including it directly into the C file as a C header. This speeds up compile and link time, without changing the test results. Signed-off-by: Bruce Richardson --- app/test/test_lpm.c | 70

[dpdk-dev] [RFC PATCH 4/4] test: change lpm routes file from header to data file

2016-05-06 Thread Bruce Richardson
Change the file extension of the test_lpm_routes file from .h to .dat. This makes the lines-of-code counts for DPDK more realistic as they are not affected by the huge counts from the lpm data. Signed-off-by: Bruce Richardson --- app/test/Makefile | 2 +-

[dpdk-dev] [RFC PATCH 3/4] test: change lpm test to use routes as resource

2016-05-06 Thread Bruce Richardson
On Fri, May 06, 2016 at 01:51:31PM +0100, Bruce Richardson wrote: > Change the lpm autotest to use the routes data from the resource data > stored in the binary rather than including it directly into the C file > as a C header. This speeds up compile and link time, without changing > the test

[dpdk-dev] [RFC PATCH 0/4] Convert lpm data from header to resource

2016-05-06 Thread Thomas Monjalon
2016-05-06 13:51, Bruce Richardson: > It takes the existing lpm large routing table information and converts it > from a header file included at compile time to a resource linked in. This > improves things in two ways: > 1. Improves DPDK build time > 2. Removes approx 1 million lines of code from

[dpdk-dev] Fwd: Rx Error when two pktgen sending packet to each other at the same time on Intel 82599ES 10G

2016-05-06 Thread 高佳琦
Hi, I am doing experiments about packet classification algorithm and I found I always get RX Error when the throughput is too high, so I did the following experiments. There are two PC servers (A and B), each of them has a Intel 82599ES 10G with two ports(1 and 2). And they are connected to each

[dpdk-dev] [PATCH v1 00/28] Support non-PCI devices

2016-05-06 Thread Jan Viktorin
Hello, as a part of reworking the rte_(pci_)device/driver core of DPDK, I am developing support for devices connected anotherway then by the PCI bus. I call those devices _SoC devices_ and they are similar to the kernel's platform_device. The goal is to have access to the on-chip MACs integrated

[dpdk-dev] [PATCH v1 01/28] eal: make enum rte_kernel_driver non-PCI specific

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/include/rte_dev.h | 8 lib/librte_eal/common/include/rte_pci.h | 10 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h index

[dpdk-dev] [PATCH v1 02/28] eal: extract function eal_parse_sysfs_valuef

2016-05-06 Thread Jan Viktorin
The eal_parse_sysfs_value function accepts a filename however, such interface introduces race-conditions to the code. Introduce the variant of this function that accepts an already opened file instead of a filename. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_filesystem.h | 5

[dpdk-dev] [PATCH v1 03/28] eal/linux: extract function rte_eal_unbind_kernel_driver

2016-05-06 Thread Jan Viktorin
Generalize the PCI-specific pci_unbind_kernel_driver. It is now divided into two parts. First, determination of the path and string identification of the device to be unbound. Second, the actual unbind operation which is generic. Signed-off-by: Jan Viktorin ---

[dpdk-dev] [PATCH v1 04/28] eal/linux: extract function rte_eal_get_kernel_driver_by_path

2016-05-06 Thread Jan Viktorin
Generalize the PCI-specific pci_get_kernel_driver_by_path. The function is general enough, we have just moved it to eal.c, changed the prefix to rte_eal and provided it privately to other parts of EAL. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_private.h | 14 ++

[dpdk-dev] [PATCH v1 05/28] eal: remove pci_ prefix from pci_(un)map_resource

2016-05-06 Thread Jan Viktorin
The functions pci_map_resource, pci_unmap_resource are generic so the pci_ prefix can be omitted. The functions are moved to the eal_common_dev.c so they can be reused by other infrastructure. Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/eal_pci.c| 2 +-

[dpdk-dev] [PATCH v1 06/28] eal/soc: introduce very essential SoC infra definitions

2016-05-06 Thread Jan Viktorin
Define initial structures and functions for the SoC infrastructure. We support only a very minimal functions now. More features will be added in the following commits. It is to be refactored when a generic rte_device/driver pair is added to DPDK. Signed-off-by: Jan Viktorin ---

[dpdk-dev] [PATCH v1 07/28] eal/soc: add rte_eal_soc_register/unregister logic

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- app/test/test_soc.c | 106 lib/librte_eal/bsdapp/eal/Makefile | 1 + lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 + lib/librte_eal/common/eal_common_soc.c | 55

[dpdk-dev] [PATCH v1 08/28] eal/soc: implement SoC device discovery

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/Makefile | 1 + lib/librte_eal/bsdapp/eal/eal_soc.c | 40 lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 + lib/librte_eal/common/eal_common_soc.c | 45

[dpdk-dev] [PATCH v1 09/28] eal: introduce --no-soc option

2016-05-06 Thread Jan Viktorin
This option has the same meaning for the SoC infra as the --no-pci for the PCI infra. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_options.c | 5 + lib/librte_eal/common/eal_internal_cfg.h | 1 + lib/librte_eal/common/eal_options.h| 2 ++ 3 files changed, 8

[dpdk-dev] [PATCH v1 10/28] eal/soc: init SoC infra from EAL

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/eal.c | 4 lib/librte_eal/common/eal_private.h | 10 ++ lib/librte_eal/linuxapp/eal/eal.c | 3 +++ lib/librte_eal/linuxapp/eal/eal_soc.c | 17 + 4 files changed, 34 insertions(+) diff --git

[dpdk-dev] [PATCH v1 11/28] eal/soc: implement probing of drivers

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 + lib/librte_eal/common/eal_common_soc.c | 200 lib/librte_eal/common/include/rte_soc.h | 25 +++ lib/librte_eal/linuxapp/eal/eal.c | 4 +

[dpdk-dev] [PATCH v1 12/28] eal/soc: extend and utilize devargs

2016-05-06 Thread Jan Viktorin
This code is not tested. We assume to white/blacklist SoC devices by giving the prefix "soc:" on the command line. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_dev.c | 31 ++- lib/librte_eal/common/eal_common_devargs.c | 7 ++

[dpdk-dev] [PATCH v1 13/28] eal/soc: update device on probe when already exists

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_soc.c | 5 + lib/librte_eal/common/eal_private.h| 13 + lib/librte_eal/linuxapp/eal/eal_soc.c | 11 +++ 3 files changed, 29 insertions(+) diff --git a/lib/librte_eal/common/eal_common_soc.c

[dpdk-dev] [PATCH v1 14/28] eal/soc: detect assigned kernel driver

2016-05-06 Thread Jan Viktorin
We reuse the existing infrastructure (rte_eal_get_kernel_driver_by_path) here however another possible implementation is by parsing the uevent file. As there are no well-known driver for SoC infra, we does not detect any. This will be changed in the future by checking for VFIO and UIO drivers.

[dpdk-dev] [PATCH v1 15/28] eal/soc: map/unmap resources

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/eal_soc.c | 12 ++ lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 + lib/librte_eal/common/eal_common_soc.c | 13 +++ lib/librte_eal/common/include/rte_soc.h | 50 +

  1   2   3   >