[dpdk-dev] DPDK 2.2 roadmap

2015-09-10 Thread Thomas Monjalon
2015-09-10 15:27, Flavio Leitner: > On Thu, Sep 10, 2015 at 02:43:59PM +0200, Thomas Monjalon wrote: > > 2015-09-09 12:56, O'Driscoll, Tim: > > > Vhost Multi-Queue Support: The vhost-user library will be updated to > > > provide multi-queue support in the host similar to the RSS model so that >

[dpdk-dev] dpdk 1.8.0 disable burst problem

2015-09-10 Thread 张伟
Hi all, I am using the dpdk example dpdk-1.8.0/examples/multi_process/client_server_mp on ubuntu 14.04. I need to disable the batch. At first, I just change the macro in mp_server/main.c and mp_client/client.c #define PACKET_READ_SIZE 32 to 1 The server and the client can not receive any pa

[dpdk-dev] [PATCH] igb_uio: use existing PCI macros

2015-09-10 Thread Ferruh Yigit
Hi David, > Hello Ferruh, > > On Thu, Sep 10, 2015 at 6:01 PM, Ferruh Yigit > wrote: > > > To get pci_dev and vf number from dev, benefit from > > existing macros in pci.h > > > > Signed-off-by: Ferruh Yigit > > > > Correct me if I am wrong but you might need to provide wrappers for kernel > v

[dpdk-dev] [PATCH V2] igb_uio: remove unnecessary igbuio_get_uio_pci_dev()

2015-09-10 Thread Ferruh Yigit
Return value of igbuio_get_uio_pci_dev() is already kept in priv variable Signed-off-by: Ferruh Yigit --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 13 - 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxa

[dpdk-dev] [PATCH] igb_uio: use existing PCI macros

2015-09-10 Thread David Marchand
Hello Ferruh, On Thu, Sep 10, 2015 at 6:01 PM, Ferruh Yigit wrote: > To get pci_dev and vf number from dev, benefit from > existing macros in pci.h > > Signed-off-by: Ferruh Yigit > Correct me if I am wrong but you might need to provide wrappers for kernel version <= 2.6.34 (or something that

[dpdk-dev] [PATCH] igb_uio: use existing PCI macros

2015-09-10 Thread Ferruh Yigit
To get pci_dev and vf number from dev, benefit from existing macros in pci.h Signed-off-by: Ferruh Yigit --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/lin

[dpdk-dev] [PATCH] igb_uio: remove unnecessary igbuio_get_uio_pci_dev()

2015-09-10 Thread Ferruh Yigit
Return value of igbuio_get_uio_pci_dev() is already kept in priv variable Signed-off-by: Ferruh Yigit --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 13 - 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxa

[dpdk-dev] DPDK 2.2 roadmap

2015-09-10 Thread Flavio Leitner
On Thu, Sep 10, 2015 at 02:43:59PM +0200, Thomas Monjalon wrote: > 2015-09-09 12:56, O'Driscoll, Tim: > > Vhost Multi-Queue Support: The vhost-user library will be updated to > > provide multi-queue support in the host similar to the RSS model so that > > guest driver may allocate multiple rx/tx

[dpdk-dev] DPDK 2.2 roadmap

2015-09-10 Thread Thomas Monjalon
2015-09-09 12:56, O'Driscoll, Tim: > DCB for i40e &X550: DCB support will be extended to the i40e and X550 NICs. A patch for DCB on X550 is already applied but the release notes part was forgotten. > IPsec Sample App: A sample application will be provided to show how the > cryptodev library ca

[dpdk-dev] [PATCH] eal:Change log output to DEBUG instead of INFO

2015-09-10 Thread Keith Wiles
When log level is set to 7 (INFO) these messages are still displayed and should be set to DEBUG. Signed-off-by: Keith Wiles --- lib/librte_eal/common/eal_common_memory.c | 2 +- lib/librte_eal/common/eal_common_timer.c | 2 +- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 2 +- 3 files changed

[dpdk-dev] virtio-net: bind systematically on all non blacklisted virtio-net devices

2015-09-10 Thread Franck Baudin
On 09/09/15 04:11, Ouyang, Changchun wrote: > >> -Original Message- >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Franck Baudin >> Sent: Tuesday, September 8, 2015 4:23 PM >> To: dev at dpdk.org >> Subject: [dpdk-dev] virtio-net: bind systematically on all non blacklisted >> vi

[dpdk-dev] [PATCH 28/28] fm10k: add support for MASTER_CLK_OFFSET message

2015-09-10 Thread Wang Xiao W
Add support for clock offset message from switch manager. Each PEP will be responsible for notifying its own VFs, and the originating PEP must notify its own VFs prior or in addition to sending, as it will not receive a copy of its own message. Base drivers are expected to need custom implementatio

[dpdk-dev] [PATCH 27/28] fm10k: TRIVIAL fix typo in DEBUGFUNC

2015-09-10 Thread Wang Xiao W
The function is specifically for the PF, but the DEBUGFUNC labeled it with *_vf. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/fm10k/base/fm10k_pf.c b/drivers/net/fm10k/base/fm10k_pf.c index 396a2

[dpdk-dev] [PATCH 26/28] fm10k: add 1588 clock owner message support

2015-09-10 Thread Wang Xiao W
Add support for tx timestamp mode response message. The switch manager should send this message whenever the owner changes or when a new port appears. To simplify logic, treat this as full clock ownership, and call it the CLOCK_OWNER message. Implement this as a hw->flags field, so that base driver

[dpdk-dev] [PATCH 25/28] fm10k: remove request_tx_timestamp_mode call

2015-09-10 Thread Wang Xiao W
No longer support old API of request-response timestamp mode messages. New API only sends timestamp-response when the switch decides which port will be given control of timestamps. To simplify review of this code, completely remove the support and re-add support for the response message in a future

[dpdk-dev] [PATCH 24/28] fm10k: remove report_timestamp PF<->VF message

2015-09-10 Thread Wang Xiao W
Remove support for VF transmit timestamps. VFs should not write the timestamp bit in the Tx descriptor. Only one Tx timestamp can be realistically handled at once. It is expected that the switch manager use FFU logic to disable all timestamp requests except for those originating from a specific vir

[dpdk-dev] [PATCH 23/28] fm10k: Add support for Boulder Rapids and Atwood Channel

2015-09-10 Thread Wang Xiao W
Add the device ID for Boulder Rapids and Atwood Channel to enable drivers to support those devices. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_api.c | 6 ++ drivers/net/fm10k/base/fm10k_type.h | 6 ++ 2 files changed, 12 insertions(+) diff --git a/drivers/net/fm10k/bas

[dpdk-dev] [PATCH 22/28] fm10k: do not assume VF always has 1 queue

2015-09-10 Thread Wang Xiao W
It is possible that the PF has not yet assigned resources to the VF. Although rare, this could result in the VF attempting to read queues it does not own and result in FUM or THI faults in the PF. To prevent this, check queue 0 before we continue in init_hw_vf. Signed-off-by: Wang Xiao W --- dri

[dpdk-dev] [PATCH 21/28] fm10k: create "correct" header for the remote end on connect

2015-09-10 Thread Wang Xiao W
When we connect to the mailbox, we insert a fake disconnect header so that the code does not see an error and thus instantly error every time we bring up the mailbox. However, we incorrectly record the tail and head from the local perspective. Since the remote end shouldn't have anything for us, ad

[dpdk-dev] [PATCH 20/28] fm10k: fix Tx FIFO clearing for phantom messages

2015-09-10 Thread Wang Xiao W
The phantom messages were a result of incorrectly forgetting to drop already transmitted messages. We would reset pulled, and tail_len but left the head/tail pointers alone. The correct fix is to loop through pulled and drop messages until we've dropped at least as many bytes as we pulled (possibl

[dpdk-dev] [PATCH 19/28] fm10k: Fix Solaris build issue

2015-09-10 Thread Wang Xiao W
Solaris (and other OS's) are not C99 compliant, so they are not able to use the C99 style #pragma pack() code. Wrap with C99 tag for easy stripping. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_pf.h | 8 1 file changed, 8 insertions(+) diff --git a/drivers/net/fm10k/base

[dpdk-dev] [PATCH 18/28] fm10k: fix iov_msg_mac_vlan_pf VID checks

2015-09-10 Thread Wang Xiao W
The VF will send a message to request multicast addresses with the default vid. In the current code, if the PF has statically assigned a VLAN to a VF, then the VF will not get the multicast addresses. Fix up all of the various vlan messages to use identical checks (since each check was different).

[dpdk-dev] [PATCH 17/28] fm10k: store actual count of DWORDS pulled/pushed from mbmem

2015-09-10 Thread Wang Xiao W
A previous bug was uncovered by addition of a debug stat to indicate the actual number of DWORDS we pulled from the mbmem. It turned out this was not the same as the tx_dwords counter. While the previous bug fix should have corrected this in all cases, add some debug stats that count the number of

[dpdk-dev] [PATCH 16/28] fm10k: add macro definitions about valid ether addr

2015-09-10 Thread Wang Xiao W
To keep consistency with ND team, I add macro definitions about FM10K_IS_VALID_ETHER_ADD in fm10k_type.h, though they have already been defined in fm10k_osdep.h. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_type.h | 17 +++-- 1 file changed, 15 insertions(+), 2 deletio

[dpdk-dev] [PATCH 15/28] fm10k: fix iov_msg_lport_state_pf re-enable bug

2015-09-10 Thread Wang Xiao W
When a VF issues an LPORT_STATE request to enable a port which is already enabled, the PF will first disable the VF. Then it is supposed to re-enable the VF again with new settings. This is primarily done in order to ensure that the switch management software properly clears the previous VF setting

[dpdk-dev] [PATCH 14/28] fm10k: remove err_no reference

2015-09-10 Thread Wang Xiao W
The reference to err_no was left around after an old re-factor. We never use this value again, and the macros called on the function appear to have no relevant side effect I could see. Discovered via cppcheck fm10k_mbx.c:1312: (style) Variable 'err_no' is assigned a value that is never used. This

[dpdk-dev] [PATCH 13/28] fm10k: 1558 DIR_NEGATIVE bit is actually DIR_POSITIVE

2015-09-10 Thread Wang Xiao W
The SYSTIME_CFG.Adjust field has a Direction bit to indicate whether the adjustment is positive or negative. However, we incorrectly read the documentation and the direction bit should be set 1 when positive, not when negative. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_pf.c |

[dpdk-dev] [PATCH 12/28] fm10k: pack TLV overlay structures correctly

2015-09-10 Thread Wang Xiao W
This patch adds #pragma pack(push, 1) around some structures which are passed via TLV messages. These structures must not be left unpacked as GCC and other compilers are wont to do. Otherwise, we get invalid message responses from the Switch Manager software since it sends 20 bytes and we expect 24

[dpdk-dev] [PATCH 11/28] fm10k: Re-map all possible VF queues after a VFLR

2015-09-10 Thread Wang Xiao W
During initialization, the VF counts its rings by walking the TQDLOC registers. This only works if the TQMAP/RQMAP registers are set to map the out-of-bound rings to the first one, so the VF driver can detect when it has run out of queues cleanly. Update the PF to reset the empty TQMAP/RQMAP regist

[dpdk-dev] [PATCH 10/28] fm10k: correct VF multicast update

2015-09-10 Thread Wang Xiao W
VFs were being improperly added to the switch's multicast group. The error stems from the fact that incorrect arguments were passed to the "update_mc_addr" function. It would seem to be a copy paste error since the parameters are similar to the "update_uc_addr" function. Signed-off-by: Wang Xiao W

[dpdk-dev] [PATCH 09/28] fm10k: ensure itr_scale is set even if we don't know speed

2015-09-10 Thread Wang Xiao W
To prevent divide-by-zero issues, ensure that we always have an ITR scale. Default to Gen3 scaling if we don't know the speed. Also ensure the VF checks the register value and ensures we use Gen3 if we are provided a zero value. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_pf.c |

[dpdk-dev] [PATCH 08/28] fm10k: ensure VF restores itr_scale on stop_hw

2015-09-10 Thread Wang Xiao W
In a recent change, the ITR scale was given to the VF via TDLEN registers at driver initialization. This allows the VF to determine what the ITR scale for PCIe link speed should be. However, a VF unload followed by a reload incorrectly left this value as 0. Thus, the driver reloads and uses 0 as th

[dpdk-dev] [PATCH 07/28] fm10k: mbx_update_max_size does not drop all

2015-09-10 Thread Wang Xiao W
When we call update_max_size, it does not drop all oversized messages. This is due to the difficulty in performing this operation, since it is a FIFO which makes updating anything other than head or tail very difficult. To fix this, modify validate_msg_size to ensure that we error out later when tr

[dpdk-dev] [PATCH 06/28] fm10k: reset head instead of calling update_max_size

2015-09-10 Thread Wang Xiao W
After shutting down the mailbox by force, we then go about resetting max size to 0, and clearing all messages in the FIFO. However, we should just reset the head pointer so that the FIFO will become empty, rather than changing the max size to 0. This helps prevent increment in tx_dropped counter du

[dpdk-dev] [PATCH 05/28] fm10k: Add support for ITR scaling based on PCIe link speed

2015-09-10 Thread Wang Xiao W
Red Rock Canyon's interrupt throttle timers are based on the PCIe link speed. Because of this, the value being programmed into the ITR registers must be scaled. For the PF, this is as simple as reading the PCIe link speed and storing the result. However, in the case of SR-IOV, the VF's interrupt t

[dpdk-dev] [PATCH 04/28] fm10k: fix fm10k_mbx_write_copy header comment

2015-09-10 Thread Wang Xiao W
The header comment included a miscopy of a C-code line, and also mis-used Rx FIFO when it clearly meant Tx FIFO. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_mbx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/fm10k/base/fm10k_mbx.c b/drivers/n

[dpdk-dev] [PATCH 03/28] fm10k: Set PF queues to unlimited bandwidth

2015-09-10 Thread Wang Xiao W
Set PF queues used for VMDq to unlimited bandwidth when virtualization resources are assigned. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_pf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/fm10k/base/fm10k_pf.c b/drivers/net/fm10k/base/fm10k_

[dpdk-dev] [PATCH 02/28] fm10k: add no-op pointer for VF request_tx_timestamp_mode

2015-09-10 Thread Wang Xiao W
This patch resolves a bug in Linux where we called the request_tx_timestamp_mode function that is undefined for VF. Implement a no-op function that simply ensures that the mode is NONE, otherwise it would fail with ERR_PARAM. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_vf.c | 23

[dpdk-dev] [PATCH 01/28] fm10k: add PF Tx Timestamp mode handler function

2015-09-10 Thread Wang Xiao W
We need a handler function to be able to listen for Tx timestamp mode responses. Without this, core driver code for PTP can't determine if the Timestamp mode request was successful. This was overlooked in the previous commit. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_pf.c | 6

[dpdk-dev] [PATCH 00/28] fm10k: update shared code from ND team

2015-09-10 Thread Wang Xiao W
This set of shared code update patches has been tested. Wang Xiao W (28): fm10k: add PF Tx Timestamp mode handler function fm10k: add no-op pointer for VF request_tx_timestamp_mode fm10k: Set PF queues to unlimited bandwidth fm10k: fix fm10k_mbx_write_copy header comment fm10k: Add suppo

[dpdk-dev] [PATCH v4 1/1] ip_frag: fix creating ipv6 fragment extension header

2015-09-10 Thread Dumitrescu, Cristian
> -Original Message- > From: Azarewicz, PiotrX T > Sent: Thursday, September 10, 2015 10:09 AM > To: dev at dpdk.org > Cc: Dumitrescu, Cristian; Ananyev, Konstantin; Azarewicz, PiotrX T > Subject: [PATCH v4 1/1] ip_frag: fix creating ipv6 fragment extension header > > Previous implementa

[dpdk-dev] Order of system brought up affects throughput with qos_sched app

2015-09-10 Thread Dumitrescu, Cristian
Hi Wei, You simply need to do the math and create a model for each of your token buckets, considering parameters like: size of the bucket, initial number of credits in the bucket, credit update rate for the bucket, rate of input packets (in bytes per second) hitting that bucket and consuming cr

[dpdk-dev] virtio optimization idea

2015-09-10 Thread Michael S. Tsirkin
On Thu, Sep 10, 2015 at 06:32:35AM +, Xie, Huawei wrote: > On 9/9/2015 3:34 PM, Michael S. Tsirkin wrote: > > On Fri, Sep 04, 2015 at 08:25:05AM +, Xie, Huawei wrote: > >> Hi: > >> > >> Recently I have done one virtio optimization proof of concept. The > >> optimization includes two parts:

[dpdk-dev] [PATCH] igb_uio: remove unnecessary igbuio_get_uio_pci_dev()

2015-09-10 Thread Stephen Hemminger
On Thu, 10 Sep 2015 17:01:31 +0100 Ferruh Yigit wrote: > + struct rte_uio_pci_dev *udev = (struct rte_uio_pci_dev *)info->priv; Cast of void * is never needed in C.

[dpdk-dev] [PATCH 2/5] example_ip_pipeline: avoid strncpy issue

2015-09-10 Thread Bruce Richardson
On Mon, Aug 31, 2015 at 06:59:03PM -0700, Stephen Hemminger wrote: > If name is so long that it fills buffer, then string would not > be null terminated. > > Signed-off-by: Stephen Hemminger > --- > examples/ip_pipeline/config_parse_tm.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-)

[dpdk-dev] DPDK 2.2 roadmap

2015-09-10 Thread Thomas F Herbert
On 9/10/15 8:43 AM, Thomas Monjalon wrote: > 2015-09-09 12:56, O'Driscoll, Tim: >> DCB for i40e &X550: DCB support will be extended to the i40e and X550 NICs. > A patch for DCB on X550 is already applied but the release notes part was > forgotten. > >> IPsec Sample App: A sample application wi

[dpdk-dev] [PATCH v4 1/1] ip_frag: fix creating ipv6 fragment extension header

2015-09-10 Thread Piotr Azarewicz
Previous implementation won't work on every environment. The order of allocation of bit-fields within a unit (high-order to low-order or low-order to high-order) is implementation-defined. Solution: used bytes instead of bit fields. v2 changes: - remove useless union - fix process_ipv6 function (d

[dpdk-dev] [PATCH v4 1/1] ip_frag: fix creating ipv6 fragment extension header

2015-09-10 Thread Ananyev, Konstantin
> -Original Message- > From: Azarewicz, PiotrX T > Sent: Thursday, September 10, 2015 8:09 AM > To: dev at dpdk.org > Cc: Dumitrescu, Cristian; Ananyev, Konstantin; Azarewicz, PiotrX T > Subject: [PATCH v4 1/1] ip_frag: fix creating ipv6 fragment extension header > > Previous implementat

[dpdk-dev] [PATCH] replaced O(n^2) sort in sort_by_physaddr() with qsort() from standard library

2015-09-10 Thread Jay Rolette
Thanks for the feedback, Sergio. Responses inline below, but unfortunately I don't have time to submit a new patch right now. I'm at the tail-end of our release cycle. Last year when I originally submitted the patch, it would have been easy to update it and resubmit. Jay On Wed, Sep 9, 2015 at 5:

[dpdk-dev] virtio optimization idea

2015-09-10 Thread Xie, Huawei
On 9/9/2015 3:34 PM, Michael S. Tsirkin wrote: > On Fri, Sep 04, 2015 at 08:25:05AM +, Xie, Huawei wrote: >> Hi: >> >> Recently I have done one virtio optimization proof of concept. The >> optimization includes two parts: >> 1) avail ring set with fixed descriptors >> 2) RX vectorization >> Wit

[dpdk-dev] i40e: problem with rx packet drops not accounted in statistics

2015-09-10 Thread Zhang, Helin
Hi Martin Yes, the statistics issue has been reported several times recently. We will check the issue and try to fix it or get a workaround soon. Thank you very much! Regards, Helin > -Original Message- > From: Martin Weiser [mailto:martin.weiser at allegro-packets.com] > Sent: Wednesda