[dpdk-dev] [PATCH v3 00/13] enic counter fixes and Tx optimization

2016-06-02 Thread John Daley
The first 3 patches are related to drop counters. The remaining patches make up refactoring, cleanup bug fixes and optimization of the Tx path. Changes since v2 are: - Piotr Azarewicz's ol_flags patch http://www.dpdk.org/dev/patchwork/patch/12642 - fix Tx IP and UDP/TCP checksum offload John

[dpdk-dev] [PATCH v3 01/13] enic: fix Rx drop counters

2016-06-02 Thread John Daley
ure and functions for initializing and clearing software counters. Add count of Rx mbuf allocation failures (rx_nombuf) as the first counter. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley --- drivers/net/enic/enic.h | 7 +++ drivers/net/enic/eni

[dpdk-dev] [PATCH v3 02/13] enic: drop bad packets and remove unused Rx error flag

2016-06-02 Thread John Daley
Following the discussions from: http://dpdk.org/ml/archives/dev/2015-July/021721.html http://dpdk.org/ml/archives/dev/2016-April/038143.html Remove the unused flag from enic driver. Also, the enic driver is modified to drop bad packets. Signed-off-by: Olivier Matz Signed-off-by: John Daley

[dpdk-dev] [PATCH v3 03/13] enic: count truncated packets

2016-06-02 Thread John Daley
Escobar Signed-off-by: John Daley --- drivers/net/enic/enic.h | 1 + drivers/net/enic/enic_main.c | 21 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h index 584d49b..9b6f349 100644 --- a/drivers/net

[dpdk-dev] [PATCH v3 04/13] enic: put Tx and Rx functions into same file

2016-06-02 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/Makefile | 2 +- drivers/net/enic/enic.h| 3 + drivers/net/enic/enic_ethdev.c | 65 -- drivers/net/enic/enic_main.c | 82 +-- drivers/net/enic/enic_rx.c | 343 - drivers/net/enic

[dpdk-dev] [PATCH v3 07/13] enic: use Tx completion messages instead of descriptors

2016-06-02 Thread John Daley
The NIC can either DMA a separate completion message for each completed send or periodically just DMA an index of the last completed send. Switch to the second method which improves cache locality and performance. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.c | 1 + drivers/net

[dpdk-dev] [PATCH v3 06/13] enic: streamline mbuf handling in Tx path

2016-06-02 Thread John Daley
from the structure and use head and tail pointers instead of next pointers. Signed-off-by: John Daley --- drivers/net/enic/base/enic_vnic_wq.h | 26 +++-- drivers/net/enic/base/vnic_wq.c | 75 +--- drivers/net/enic/base/vnic_wq.h | 56

[dpdk-dev] [PATCH v3 08/13] enic: refactor Tx mbuf recycling

2016-06-02 Thread John Daley
Mbufs were returned to the pool one at a time. Use rte_mempool_put_bulk instead. There were muiltiple function calls for each buffer returned. Refactor this code into just 2 functions. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 27 - drivers/net/enic

[dpdk-dev] [PATCH v3 09/13] enic: optimize the Tx function

2016-06-02 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 1 + drivers/net/enic/enic_res.h | 2 +- drivers/net/enic/enic_rxtx.c| 167 +++- 3 files changed, 83 insertions(+), 87 deletions(-) diff --git a/drivers/net/enic/base/vnic_wq.h b

[dpdk-dev] [PATCH v3 10/13] enic: remove unused files and functions and variables

2016-06-02 Thread John Daley
Remove some files, functions and variables left unused after Tx performance improvements. Signed-off-by: John Daley --- drivers/net/enic/base/enic_vnic_wq.h | 63 drivers/net/enic/base/vnic_cq.h | 44 - drivers/net/enic/base

[dpdk-dev] [PATCH v3 11/13] enic: add an enic assert macro

2016-06-02 Thread John Daley
Add an ASSERT macro for the enic driver which is enabled when the log level is >= RTE_LOG_DEBUG. Assert that number of mbufs to return to the pool in the Tx function is never greater than the max allowed. Signed-off-by: John Daley --- drivers/net/enic/enic.h | 12 drivers/

[dpdk-dev] [PATCH v3 12/13] enic: expand local Tx mbuf flags variable to 64-bits

2016-06-02 Thread John Daley
zarewicz Signed-off-by: John Daley --- This is essentially patch http://www.dpdk.org/dev/patchwork/patch/12642 applied after the enic_send_packet function was melded into the main transmit funciton. drivers/net/enic/enic_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --gi

[dpdk-dev] [PATCH v3 13/13] enic: fix Tx IP and UDP/TCP checksum offload

2016-06-02 Thread John Daley
Private/confilicting ol_flags where used to enable UDP/TCP Tx offloads. Use the common flags in PKT_TX_L4_MASK to support them. Also, do some minor code rearranging for slightly better performane. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley --- drivers/net/e

[dpdk-dev] [PATCH v3 0/2] enic: fix seg fault when releasing queues

2016-06-09 Thread John Daley
Patch broken into separate patches for fixing seg fault and improving log messages. John Daley (2): enic: fix seg fault when releasing queues enic: more specific out of resources error messages drivers/net/enic/enic_main.c | 24 +--- 1 file changed, 17 insertions(+), 7

[dpdk-dev] [PATCH v3 1/2] enic: fix seg fault when releasing queues

2016-06-09 Thread John Daley
river") Signed-off-by: John Daley --- v3: bail out of free rq function if rq is null instead of if around != NULL. drivers/net/enic/enic_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 996f999..5939b9d 100644 --- a/d

[dpdk-dev] [PATCH v3 2/2] enic: more specific out of resources error messages

2016-06-09 Thread John Daley
If configuration fails due to lack of resources, be more specific about which resources are lacking - work queues, read queues or completion queues. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley --- v3: Log messages fix in separate patch. Log errors for all lacking

[dpdk-dev] [PATCH v4 1/2] enic: fix seg fault when releasing queues

2016-06-11 Thread John Daley
river") Signed-off-by: John Daley --- v4: fix check for NULL before pointer is set drivers/net/enic/enic_main.c | 18 ++ 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 996f999..738792e 100644 ---

[dpdk-dev] [PATCH v4 2/2] enic: improve out of resources error handling

2016-06-11 Thread John Daley
If configuration fails due to lack of resources, be more specific about which resources are lacking - work queues, read queues or completion queues. Return -EINVAL instead of -1 if more queeues are requested than are available. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by:

[dpdk-dev] [PATCH 1/4] enic: enable NIC max packet size discovery

2016-06-16 Thread John Daley
Pull in common VNIC code which enables querying for max egress packet size. Signed-off-by: John Daley --- There are some non-related fields and defines in this file because it is shared with other drivers and interfaces to the VIC. drivers/net/enic/base/vnic_enet.h | 17 - 1

[dpdk-dev] [PATCH 3/4] enic: add an update MTU function for non-Rx scatter mode

2016-06-16 Thread John Daley
-by: John Daley --- drivers/net/enic/enic.h| 1 + drivers/net/enic/enic_ethdev.c | 10 +- drivers/net/enic/enic_main.c | 44 ++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h

[dpdk-dev] [PATCH 0/4] enic: enable MTU update callback

2016-06-16 Thread John Daley
. These patches should apply cleanly to dpdk-net-next rel_16_07 or on the enic Rx scatter patch http://www.dpdk.org/dev/patchwork/patch/13933/ John Daley (4): enic: enable NIC max packet size discovery enic: set the max allowed MTU for the NIC enic: add an update MTU function for non-rx scatter mode

[dpdk-dev] [PATCH 2/4] enic: set the max allowed MTU for the NIC

2016-06-16 Thread John Daley
The max MTU is set to the max egress packet size allowed by the VIC minus the size of a an IPv4 L2 header with .1Q (18 bytes). Signed-off-by: John Daley --- drivers/net/enic/enic.h| 1 + drivers/net/enic/enic_ethdev.c | 3 ++- drivers/net/enic/enic_res.c| 25

[dpdk-dev] [PATCH 4/4] doc: add MTU update to feature matrix for enic

2016-06-16 Thread John Daley
Signed-off-by: John Daley --- doc/guides/nics/overview.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst index 29a6163..6b30085 100644 --- a/doc/guides/nics/overview.rst +++ b/doc/guides/nics/overview.rst @@ -92,7

[dpdk-dev] [PATCH v2] enic: negative array index write

2016-06-20 Thread John Daley
Negative array index write using variable pos as an index to array enic->fdir.nodes. Fixed by add array index check. Fixes: fefed3d1e62c ("enic: new driver") Coverity ID 13270 Signed-off-by: John Daley --- Here is a version 2. Differences with fix proposed by Slawomir Mrozow

[dpdk-dev] [PATCH v2 1/2] enic: determine max egress packet size and max MTU

2016-06-24 Thread John Daley
t must be reboot. To avoid the reboot and allow MTU values up to the max capability of the NIC, MTU update capability will be added with a max value capped by max_mtu. Signed-off-by: John Daley --- v2: Squished patch 1/4 and 2/4 into one. Tried to do a little better explanaiton of the intent of the

[dpdk-dev] [PATCH v2 2/2] enic: add an update MTU function for non-Rx scatter mode

2016-06-24 Thread John Daley
of the L2 header. Signed-off-by: John Daley --- v2: Squished 3/4 and 4/4 into 1 patch. Slight change of wording and fixed typo in commit message. doc/guides/nics/overview.rst | 2 +- drivers/net/enic/enic.h| 1 + drivers/net/enic/enic_ethdev.c | 10 +- drivers/net/enic

[dpdk-dev] [PATCH] enic: improve Tx packet rate

2015-10-23 Thread John Daley
For every packet sent, a completion was being requested and the posted_index register on the nic was being updated. Instead, request a completion and update the posted index once per burst after all packets have been sent by the burst function. Signed-off-by: John Daley Acked-by: Sujith Sankar

[dpdk-dev] [PATCH v2] enic: improve Tx packet rate

2015-10-28 Thread John Daley
For every packet sent, a completion was being requested and the posted_index register on the nic was being updated. Instead, request a completion and update the posted index once per burst after all packets have been sent by the burst function. Acked-by: Sujith Sankar Signed-off-by: John Daley

[dpdk-dev] [PATCH v3] enic: improve Tx packet rate

2015-10-29 Thread John Daley
For every packet sent, a completion was being requested and the posted_index register on the nic was being updated. Instead, request a completion and update the posted index once per burst after all packets have been sent by the burst function. Acked-by: Sujith Sankar Signed-off-by: John Daley

[dpdk-dev] [PATCH] net/enic: increment filter failure counter

2016-07-08 Thread John Daley
One instance of a filter add failure was not incrementing the the fail counter. Fixes: 4c2c7bf41f5a ("net/enic: fix negative array index write") Signed-off-by: John Daley --- drivers/net/enic/enic_clsf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/enic/enic_clsf.c

[dpdk-dev] [PATCH] net/enic: decrement Tx mbuf reference count before recycling

2016-07-08 Thread John Daley
reference count the mbuf is not returned to the pool and whatever has the last reference is responsible for freeing. Fixes: 36935afbc53c ("net/enic: refactor Tx mbuf recycling") Reviewed-by: Nelson Escobar Signed-off-by: John Daley --- Since reference counts are set to 0 when mbufs are reallo

[dpdk-dev] [PATCH] net/enic: fix crash when changing number of Rx or Tx queues

2016-07-10 Thread John Daley
Rx, Tx and CQs are all set up before completing port configuration. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/enic_ethdev.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/d

[dpdk-dev] [PATCH v2] net/enic: decrement Tx mbuf reference count before recycling

2016-07-11 Thread John Daley
the device is stopped use rte_mbuf_free_seg() instead of rte_mempool_put() so that reference counts are properly decremented. Fixes: 36935afbc53c ("net/enic: refactor Tx mbuf recycling") Reviewed-by: Nelson Escobar Signed-off-by: John Daley --- v2: Use rte_pktmbuf_free_seg when returning

[dpdk-dev] [PATCH] net/enic: fix Tx and Rx queue stop and start

2016-07-12 Thread John Daley
state updates in the lower level queue start/stop functions which are called by both device and queue start/stop functions. Fixes: fefed3d1e62c ("enic: new driver") Reviewed-by: Nelson Escobar Signed-off-by: John Daley --- drivers/net/enic/enic_ethdev.c | 6 -- drivers/net/enic/e

[dpdk-dev] [PATCH] net/enic: remove print of internal driver version

2016-07-15 Thread John Daley
The enic PMD code has diverged from code that was once shared with the enic kernel mode driver for performance reasons. It is confusing and misleading to print the internal version number. Remove it. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley --- drivers/net/e

[dpdk-dev] [PATCH] net/enic: fix possible Rx corruption

2016-07-19 Thread John Daley
pport scattered Rx") Reviewed-by: Nelson Escobar Signed-off-by: John Daley --- Please include this patch in 16.07 since the bug found in late testing can cause data corruption. drivers/net/enic/enic_main.c | 1 + drivers/net/enic/enic_rxtx.c | 1 + 2 files changed, 2 insertions(+)

[dpdk-dev] [PATCH] net/enic: heed VLAN strip flag in device configure function

2016-07-19 Thread John Daley
The configure function enicpmd_dev_configure() was not paying attention to the rxmode VLAN strip bit. Set the VLAN strip mode according to the bit. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley --- Although not critical, it is low risk and would be nice to hav

[dpdk-dev] [PATCH] doc: update 16.07 release notes and nic guide for enic

2016-07-21 Thread John Daley
Signed-off-by: John Daley --- doc/guides/nics/enic.rst | 9 +++-- doc/guides/nics/overview.rst | 2 +- doc/guides/rel_notes/release_16_07.rst | 23 +++ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/doc/guides/nics/enic.rst b/doc

[dpdk-dev] [PATCH] net/enic: fix max packet length check

2016-11-01 Thread John Daley
acket size and max MTU") Signed-off-by: John Daley --- drivers/net/enic/enic_ethdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index bcf83d4..2b154ec 100644 --- a/drivers/net/enic/enic_ethdev.c +++ b/d

[dpdk-dev] [PATCH] doc: update release notes with enic PMD changes

2016-11-03 Thread John Daley
Signed-off-by: John Daley --- doc/guides/nics/features/enic.ini | 2 +- doc/guides/rel_notes/release_16_11.rst | 14 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/guides/nics/features/enic.ini b/doc/guides/nics/features/enic.ini index 523d4f1..86576a7

[dpdk-dev] [PATCH] net/enic: remove assert which causes compile error

2016-10-12 Thread John Daley
Remove an RTE_ASSERT which will not compile if enabled and is not needed. Fixes: a1f7c7b3b5b2 ("net/enic: extend fdir support for 1300 series adapters") Signed-off-by: John Daley --- Would have been nice if I caught this yesterday before you applied a1f7c7b3 :( drivers/net/enic/e

[dpdk-dev] [PATCH 1/2] net/enic: fix error in init of RQ when not using Rx scatter

2016-10-12 Thread John Daley
n some situations. Fixes: 856d7ba7ed22 ("net/enic: support scattered Rx") Signed-off-by: Nelson Escobar Reviewed-by: John Daley --- drivers/net/enic/base/vnic_rq.c | 6 -- drivers/net/enic/base/vnic_rq.h | 1 + drivers/net/enic/enic_main.c| 2 ++ 3 files changed, 7 insertions

[dpdk-dev] [PATCH 2/2] net/enic: revert "fix calculation of truncated packets"

2016-10-12 Thread John Daley
f truncated packets") Signed-off-by: Nelson Escobar Reviewed-by: John Daley --- drivers/net/enic/enic_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 836dcfe..b65a079 100644 --- a/drivers/net/enic/e

[dpdk-dev] [PATCH] net/enic: fix crash on MTU update or rxq reconfigure

2016-10-12 Thread John Daley
corresponding to a RQ needed to be adjusted after Rx scatter was introduced. Fixes: 856d7ba7ed22 ("net/enic: support scattered Rx") Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/enic.h | 5 + drivers/net/enic/enic_main.c | 2 +- 2 files changed, 6 insert

[dpdk-dev] [PATCH 1/2] net/enic: fix crash on MTU update or rxq reconfigure

2016-10-12 Thread John Daley
corresponding to a RQ needed to be adjusted after Rx scatter was introduced. Fixes: 856d7ba7ed22 ("net/enic: support scattered Rx") Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/enic.h | 5 + drivers/net/enic/enic_main.c | 2 +- 2 files changed, 6 insert

[dpdk-dev] [PATCH 2/2] net/enic: trivial function name changes

2016-10-12 Thread John Daley
The function names for converting between RQ indexes known to the RTE code and intenal RQ indexes for primary Start of Packet (SOP) queues and spill-over (Data) queues was unclear and confusing. Clarify with more explicit function names. Signed-off-by: John Daley Reviewed-by: Nelson Escobar

[dpdk-dev] [PATCH] net/enic: fix poor multi-queue Rx performance

2016-10-12 Thread John Daley
The rx_free_thresh was not being initialized and left at 0 on 1/2 of the RQs which could lead to poor multi-queue performanace. Fixes: 856d7ba7ed22 ("net/enic: support scattered Rx") Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/enic.h| 2 +- d

[dpdk-dev] [PATCH 1/2] enic: fix segfault on Tx path after restarting a device

2016-06-29 Thread John Daley
: Nelson Escobar Reviewed-by: John Daley --- drivers/net/enic/base/vnic_wq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/enic/base/vnic_wq.c b/drivers/net/enic/base/vnic_wq.c index 9b9ff4d..7c4119c 100644 --- a/drivers/net/enic/base/vnic_wq.c +++ b/drivers/net/enic/base/vnic_wq.c

[dpdk-dev] [PATCH 2/2] enic: fix Rx queue initialization after restarting a device

2016-06-29 Thread John Daley
and posting mbuf addresses to the NIC. Fixes: 947d860c821f ("enic: improve Rx performance") Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/enic_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_ma

[dpdk-dev] [PATCH v4] enic: receive path performance improvements

2016-03-02 Thread John Daley
Reduce the number of posted_index updates (pay attention to rx_free_thresh) - Remove the unneeded container structure around the RQ mbuf ring - Prefetch next Mbuf and descriptors while processing the current one - Use a lookup table for converting CQ flags to mbuf flags. Signed-off-by: John Daley --- A

[dpdk-dev] [PATCH v5 1/2] enic: receive path performance improvements

2016-03-04 Thread John Daley
Reduce the number of posted_index updates (pay attention to rx_free_thresh) - Remove the unneeded container structure around the RQ mbuf ring - Prefetch next Mbuf and descriptors while processing the current one - Use a lookup table for converting CQ flags to mbuf flags. Signed-off-by: John Daley --- d

[dpdk-dev] [PATCH v5 2/2] enic: remove unused functions

2016-03-04 Thread John Daley
The clang compiler warned about a half dozen static inline functions which were not used. Remove them. Signed-off-by: John Daley --- drivers/net/enic/enic_main.c | 10 -- drivers/net/enic/enic_rx.c | 35 --- 2 files changed, 45 deletions(-) diff --git

[dpdk-dev] [PATCH v6] enic: receive path performance improvements

2016-03-04 Thread John Daley
attention to rx_free_thresh) - Remove the unneeded container structure around the RQ mbuf ring - Prefetch next Mbuf and descriptors while processing the current one - Use a lookup table for converting CQ flags to mbuf flags. Signed-off-by: John Daley --- Fixed compile warning when function parameter

[dpdk-dev] [PATCH v4] enic: fix last packet being not sent bug

2016-03-08 Thread John Daley
ic: improve Tx packet rate") Signed-off-by: John Daley --- Use full nime in 'Signed-off-by', add 'Fixes:'. drivers/net/enic/base/enic_vnic_wq.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/enic/base/enic_vnic_wq.h b/drivers/net/enic/base/enic_vnic_wq

[dpdk-dev] [PATCH] enic: change maintainers

2016-03-17 Thread John Daley
Change maintainers for ENIC PMD. Signed-off-by: John Daley --- doc/guides/nics/enic.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst index 2a228fd..e67c3db 100644 --- a/doc/guides/nics/enic.rst +++ b/doc/guides/nics

[dpdk-dev] [PATCH] enic: don't set enic->config.rq_desc_count in enic_alloc_rq()

2016-03-17 Thread John Daley
y: Nelson Escobar Reviewed-by: John Daley --- drivers/net/enic/enic_main.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 9fff020..cd7857f 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers

[dpdk-dev] [PATCH] enic: add missing \n to a few print statements

2016-03-17 Thread John Daley
From: Nelson Escobar <neesc...@cisco.com> Signed-off-by: Nelson Escobar Acked-by: John Daley --- drivers/net/enic/enic_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index cd7857f..2f79cf0

[dpdk-dev] [PATCH] enic: prevent segfaults when allocating too many TX or RX queues

2016-03-17 Thread John Daley
From: Nelson Escobar <neesc...@cisco.com> Add checks to make sure we don't try to allocate more tx or rx queues than we support. Signed-off-by: Nelson Escobar Reviewed-by: John Daley --- drivers/net/enic/enic_ethdev.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/d

[dpdk-dev] [PATCH 0/3] enic PMD receive path fixes

2016-03-17 Thread John Daley
These patches fix up some bugs in the enic receive path. John Daley (3): enic: mbuf->ol_flags could be set incorrectly enic: handle error packets properly enic: small cleanup- remove a packet_error conditional drivers/net/enic/enic_rx.c |

[dpdk-dev] [PATCH 1/3] enic: mbuf->ol_flags could be set incorrectly

2016-03-17 Thread John Daley
In the receive path, the function to set mbuf ol_flags used the mbuf packet_type before it was set. Fixes: 947d860c821f ("enic: improve Rx performance") Signed-off-by: John Daley --- drivers/net/enic/enic_rx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/d

[dpdk-dev] [PATCH 2/3] enic: handle error packets properly

2016-03-17 Thread John Daley
improve Rx performance") Signed-off-by: John Daley --- drivers/net/enic/enic_rx.c | 43 ++- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/drivers/net/enic/enic_rx.c b/drivers/net/enic/enic_rx.c index 59ebaa4..817a891 100644 --- a/

[dpdk-dev] [PATCH 3/3] enic: small cleanup- remove a packet_error conditional

2016-03-17 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/enic_rx.c | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/net/enic/enic_rx.c b/drivers/net/enic/enic_rx.c index 817a891..232987a 100644 --- a/drivers/net/enic/enic_rx.c +++ b/drivers/net/enic/enic_rx.c

[dpdk-dev] [PATCH v2] enic: update enic PMD maintainer and pointer to the guide.

2016-03-18 Thread John Daley
Change maintainers for ENIC PMD and fix pointer to enic documentation in MAINTAINERS. Signed-off-by: John Daley --- MAINTAINERS | 4 ++-- doc/guides/nics/enic.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 8b21979..65669c3

[dpdk-dev] [PATCH v3] enic: update enic PMD maintainer and pointer to the guide.

2016-03-18 Thread John Daley
Change maintainers for ENIC PMD and fix pointer to enic documentation in MAINTAINERS. Signed-off-by: John Daley --- replace removed line MAINTAINERS | 3 ++- doc/guides/nics/enic.rst | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS

[dpdk-dev] [PATCH v2] enic: fix incorrect setting of rx descriptor limit

2016-03-18 Thread John Daley
calls to enic_alloc_rq() incorrectly using the lower value as the adapter limit. Signed-off-by: Nelson Escobar Fixes: fefed3d1e62c ("enic: new driver") Reviewed-by: John Daley --- fix checkin comment drivers/net/enic/enic_main.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletion

[dpdk-dev] [PATCH] doc: add enic features to nic features matrix

2016-04-05 Thread John Daley
Signed-off-by: John Daley --- doc/guides/nics/overview.rst | 38 +++--- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst index ec1af46..f3d374b 100644 --- a/doc/guides/nics/overview.rst

[dpdk-dev] [PATCH] enic: fix 'imissed' to count drops due to no RX buffers

2016-04-26 Thread John Daley
Fixes: 7182d3e7d177 ("enic: expose Rx missed packets counter") Signed-off-by: John Daley --- drivers/net/enic/enic_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 60fe765..be4e

[dpdk-dev] [PATCH] enic: fix misalignment of Rx mbuf data

2016-04-26 Thread John Daley
Data DMA used m->data_off of uninitialized mbufs instead of RTE_PKTMBUF_HEADROOM, potentially causing Rx data to be placed at the wrong alignment in the mbuf. Fixes: 947d860c821f ("enic: improve Rx performance") Signed-off-by: John Daley --- drivers/net/enic/enic_main.c | 5 +++--

[dpdk-dev] [PATCH] enic: Optimization of Tx path to reduce Host CPU overhead, cleanup

2016-04-26 Thread John Daley
. No next pointers. - use local variables inside per packet loop instead of fields in structs. - factor book keeping out of the per packet tx loop where possible (removed several conditionals) - put Tx and Rx code in 1 file (enic_rxtx.c) Reviewed-by: Nelson Escobar Signed-off-by: John Daley

[dpdk-dev] [PATCH] net/enic: bad L4 checksum ptype set on ICMP packets

2016-08-17 Thread John Daley
checksum flag. Fixes: 947d860c821f ("enic: improve Rx performance") Reviewed-by: Nelson Escobar Signed-off-by: John Daley --- drivers/net/enic/enic_rxtx.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/enic/enic_rxtx.c b/drivers/net/enic/enic_rx

[dpdk-dev] [PATCH] net/enic: add Ethernet VLAN ptype

2016-08-24 Thread John Daley
Enic is capable of recognizing packets to be delivered to the app with single VLAN tags. Advertise this with the ptype RTE_PTYPE_L2_ETHER_VLAN and set the ptype for VLAN packets. Signed-off-by: John Daley --- Requires patchset http://dpdk.org/ml/archives/dev/2016-July/04.html I recommend

[dpdk-dev] [PATCH] enic: fix TX hang when number of packets > queue size

2016-03-25 Thread John Daley
to the enic PMD burst TX function before requesting a completion. Fixes: d739ba4c6abf ("enic: improve Tx packet rate") Signed-off-by: John Daley --- drivers/net/enic/enic_ethdev.c | 20 drivers/net/enic/enic_res.h| 1 + 2 files changed, 17 insertions(+), 4 deletion

[dpdk-dev] [PATCH] bonding: fix bond link detect in non-interrupt mode

2016-03-25 Thread John Daley
_start() and in bond_ethdev_stop() make sure we clear the last_link_status of the slaves. Signed-off-by: Nelson Escobar Signed-off-by: John Daley --- drivers/net/bonding/rte_eth_bond_pmd.c | 27 +-- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/drivers/net/b

[dpdk-dev] [PATCH] enic: state change from link-down to link-up not recognized

2016-03-25 Thread John Daley
ave device link bounced. The fix is to unconditionally enable notification when the enic is enabled. Fixes: 9913fbb91df0 ("enic/base: common code") Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/base/vnic_dev.c | 6 ++ 1 file changed, 2 insertions(+)

[dpdk-dev] [PATCH] enic: expose RX missed packets counter

2016-03-30 Thread John Daley
Update the 'imissed' counter with the number of packets dropped by the NIC. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley Reviewed-by: Nelson Escobar --- drivers/net/enic/enic_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/enic/eni

[dpdk-dev] [PATCH v2] enic: fix 'imissed' to count drops due to no RX buffers

2016-05-10 Thread John Daley
number of packets dropped on by the enic on the Rx interface for reasons other than no host buffers. Fixes: 7182d3e7d177 ("enic: expose Rx missed packets counter") Signed-off-by: John Daley --- v2: improved commit message drivers/net/enic/enic_main.c | 4 ++-- 1 file changed, 2

[dpdk-dev] [PATCH 01/11] enic: fix Rx drop counters

2016-05-20 Thread John Daley
ure and functions for initializing and clearing software counters. Add count of Rx mbuf allocation failures (rx_nombuf) as the first counter. Signed-off-by: John Daley --- drivers/net/enic/enic.h | 7 +++ drivers/net/enic/enic_main.c | 24 +--- drivers/net/enic/enic_rx.c |

[dpdk-dev] [PATCH 02/11] enic: drop bad packets, remove unused rx error flag

2016-05-20 Thread John Daley
Following the discussions from: http://dpdk.org/ml/archives/dev/2015-July/021721.html http://dpdk.org/ml/archives/dev/2016-April/038143.html Remove the unused flag from enic driver. Also, the enic driver is modified to drop bad packets. Signed-off-by: Olivier Matz Signed-off-by: John Daley

[dpdk-dev] [PATCH 03/11] enic: count truncated packets

2016-05-20 Thread John Daley
Escobar Signed-off-by: John Daley --- drivers/net/enic/enic.h | 1 + drivers/net/enic/enic_main.c | 21 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h index 584d49b..9b6f349 100644 --- a/drivers/net

[dpdk-dev] [PATCH 08/11] enic: Tx perf - bulk recycle mbufs, refactor

2016-05-20 Thread John Daley
Mbufs were returned to the pool one at a time. Use rte_mempool_put_bulk instead. There were muiltiple function calls for each buffer returned. Refactor this code into just 2 functions. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 27 - drivers/net/enic

[dpdk-dev] [PATCH 07/11] enic: Tx perf - use completion message instead of completion queue

2016-05-20 Thread John Daley
The NIC can either DMA a separate completion message for each completed send or periodically just DMA an index of the last completed send. Switch to the second method which improves cache locality and performance. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.c | 1 + drivers/net

[dpdk-dev] [PATCH 06/11] enic: Tx perf - improve processing of mbufs held by driver

2016-05-20 Thread John Daley
from the sturcture and use head and tail pointers instead of next pointers. Signed-off-by: John Daley --- drivers/net/enic/base/enic_vnic_wq.h | 26 +++-- drivers/net/enic/base/vnic_wq.c | 75 +--- drivers/net/enic/base/vnic_wq.h | 56

[dpdk-dev] [PATCH 05/11] enic: Tx cleanup - remove some unused functions

2016-05-20 Thread John Daley
Functions existed which were never called. Removed them. Also rename the 'pmd' from the name of the Tx function to improve clarity. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 45 drivers/net/enic/enic.h | 5 ++- drivers/net/enic

[dpdk-dev] [PATCH 11/11] enic: add ENIC_ASSERT macro

2016-05-20 Thread John Daley
Add an ASSERT macro for the enic driver which is enabled when the log level is >= RTE_LOG_DEBUG. Assert that number of mbufs to return to the pool in the Tx function is never greater than the max allowed. Signed-off-by: John Daley --- drivers/net/enic/enic.h | 12 drivers/

[dpdk-dev] [PATCH 04/11] enic: Tx cleanup - put Tx and Rx functions into same file

2016-05-20 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/Makefile | 2 +- drivers/net/enic/enic.h| 3 + drivers/net/enic/enic_ethdev.c | 65 -- drivers/net/enic/enic_main.c | 82 +-- drivers/net/enic/enic_rx.c | 343 - drivers/net/enic

[dpdk-dev] [PATCH 09/11] enic: Tx perf - optimize the transmit function

2016-05-20 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 1 + drivers/net/enic/enic_res.h | 2 +- drivers/net/enic/enic_rxtx.c| 167 +++- 3 files changed, 83 insertions(+), 87 deletions(-) diff --git a/drivers/net/enic/base/vnic_wq.h b

[dpdk-dev] [PATCH 10/11] enic: Tx cleanup - remove unused files, functions, variables

2016-05-20 Thread John Daley
Remove some files, functions and variables left unused after Tx performance improvements. Signed-off-by: John Daley --- drivers/net/enic/base/enic_vnic_wq.h | 63 drivers/net/enic/base/vnic_cq.h | 44 - drivers/net/enic/base

[dpdk-dev] [PATCH v2 00/11] enic counter fixes and Tx optimization

2016-05-24 Thread John Daley
was run locally before upstreaming v1 and the same errors were not caught. The local host had perl version v5.16.3. John Daley (11): enic: fix Rx drop counters enic: drop bad packets and remove unused Rx error flag enic: count truncated packets enic: put Tx and Rx functions into same file

[dpdk-dev] [PATCH v2 01/11] enic: fix Rx drop counters

2016-05-24 Thread John Daley
ure and functions for initializing and clearing software counters. Add count of Rx mbuf allocation failures (rx_nombuf) as the first counter. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley --- drivers/net/enic/enic.h | 7 +++ drivers/net/enic/eni

[dpdk-dev] [PATCH v2 03/11] enic: count truncated packets

2016-05-24 Thread John Daley
Escobar Signed-off-by: John Daley --- drivers/net/enic/enic.h | 1 + drivers/net/enic/enic_main.c | 21 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h index 584d49b..9b6f349 100644 --- a/drivers/net

[dpdk-dev] [PATCH v2 02/11] enic: drop bad packets and remove unused Rx error flag

2016-05-24 Thread John Daley
Following the discussions from: http://dpdk.org/ml/archives/dev/2015-July/021721.html http://dpdk.org/ml/archives/dev/2016-April/038143.html Remove the unused flag from enic driver. Also, the enic driver is modified to drop bad packets. Signed-off-by: Olivier Matz Signed-off-by: John Daley

[dpdk-dev] [PATCH v2 11/11] enic: add an enic assert macro

2016-05-24 Thread John Daley
Add an ASSERT macro for the enic driver which is enabled when the log level is >= RTE_LOG_DEBUG. Assert that number of mbufs to return to the pool in the Tx function is never greater than the max allowed. Signed-off-by: John Daley --- drivers/net/enic/enic.h | 12 drivers/

[dpdk-dev] [PATCH v2 05/11] enic: remove some unused functions in Tx path

2016-05-24 Thread John Daley
Functions existed which were never called. Removed them. Also rename the 'pmd' from the name of the Tx function to improve clarity. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 45 drivers/net/enic/enic.h | 5 ++- drivers/net/enic

[dpdk-dev] [PATCH v2 09/11] enic: optimize the Tx function

2016-05-24 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 1 + drivers/net/enic/enic_res.h | 2 +- drivers/net/enic/enic_rxtx.c| 167 +++- 3 files changed, 83 insertions(+), 87 deletions(-) diff --git a/drivers/net/enic/base/vnic_wq.h b

[dpdk-dev] [PATCH v2 04/11] enic: put Tx and Rx functions into same file

2016-05-24 Thread John Daley
Signed-off-by: John Daley --- drivers/net/enic/Makefile | 2 +- drivers/net/enic/enic.h| 3 + drivers/net/enic/enic_ethdev.c | 65 -- drivers/net/enic/enic_main.c | 82 +-- drivers/net/enic/enic_rx.c | 343 - drivers/net/enic

[dpdk-dev] [PATCH v2 06/11] enic: streamline mbuf handling in Tx path

2016-05-24 Thread John Daley
from the structure and use head and tail pointers instead of next pointers. Signed-off-by: John Daley --- drivers/net/enic/base/enic_vnic_wq.h | 26 +++-- drivers/net/enic/base/vnic_wq.c | 75 +--- drivers/net/enic/base/vnic_wq.h | 56

[dpdk-dev] [PATCH v2 07/11] enic: use Tx completion messages instead of descriptors

2016-05-24 Thread John Daley
The NIC can either DMA a separate completion message for each completed send or periodically just DMA an index of the last completed send. Switch to the second method which improves cache locality and performance. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.c | 1 + drivers/net

[dpdk-dev] [PATCH v2 08/11] enic: refactor Tx mbuf recycling

2016-05-24 Thread John Daley
Mbufs were returned to the pool one at a time. Use rte_mempool_put_bulk instead. There were muiltiple function calls for each buffer returned. Refactor this code into just 2 functions. Signed-off-by: John Daley --- drivers/net/enic/base/vnic_wq.h | 27 - drivers/net/enic

[dpdk-dev] [PATCH v2 10/11] enic: remove unused files and functions and variables

2016-05-24 Thread John Daley
Remove some files, functions and variables left unused after Tx performance improvements. Signed-off-by: John Daley --- drivers/net/enic/base/enic_vnic_wq.h | 63 drivers/net/enic/base/vnic_cq.h | 44 - drivers/net/enic/base

[dpdk-dev] [PATCH] enic: fix seg fault when releasing queues

2016-05-25 Thread John Daley
of resources, be more specific about which resources are lacking. Fixes: fefed3d1e62c ("enic: new driver") Signed-off-by: John Daley --- drivers/net/enic/enic_main.c | 30 +++--- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/drivers/net/enic/eni

  1   2   >