summaryrefslogtreecommitdiffstats
path: root/dpdk
diff options
context:
space:
mode:
Diffstat (limited to 'dpdk')
-rw-r--r--dpdk/README34
-rw-r--r--dpdk/dpdk-2.2.0_patches/0008-Add-missing-init-of-packet_type-field.patch10
-rw-r--r--dpdk/dpdk-2.2.0_patches/0011-enic-improve-Rx-performance.patch25
-rw-r--r--dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch19
-rw-r--r--dpdk/dpdk-2.2.0_patches/0013-enic-add-missing-newline-to-print-statements.patch19
-rw-r--r--dpdk/dpdk-2.2.0_patches/0014-vmxnet3-support-jumbo-frames.patch12
-rw-r--r--dpdk/dpdk-2.2.0_patches/0015-enic-fix-crash-when-allocating-too-many-queues.patch21
-rw-r--r--dpdk/dpdk-2.2.0_patches/0016-enic-fix-mbuf-flags-on-Rx.patch19
-rw-r--r--dpdk/dpdk-2.2.0_patches/0017-enic-fix-error-packets-handling.patch21
-rw-r--r--dpdk/dpdk-2.2.0_patches/0018-enic-remove-packet-error-conditional.patch17
-rw-r--r--dpdk/dpdk-2.2.0_patches/0019-enic-update-maintainers.patch22
-rw-r--r--dpdk/dpdk-2.2.0_patches/0020-enic-fix-Rx-descriptor-limit.patch19
-rw-r--r--dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-queue-size.patch (renamed from dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-gt-queue-size.patch)33
-rw-r--r--dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch27
14 files changed, 199 insertions, 99 deletions
diff --git a/dpdk/README b/dpdk/README
new file mode 100644
index 00000000000..95154dc235f
--- /dev/null
+++ b/dpdk/README
@@ -0,0 +1,34 @@
+
+Changes needed to DPDK are stored here as git patch files. Maintaining these
+files using “git format-patch” and “git am” will make it simpler to manage
+these changes. Patches made to DPDK should only be temporary until they are
+accepted upstream and made available in the next DPDK release.
+
+The following is the method used to generate these patches:
+
+1. Git clone the DPDK to a new directory:
+ # git clone http://dpdk.org/git/dpdk dpdk
+
+2. Create a branch based on the DPDK release you wish to patch.
+Note, “git tag” will show you all the release tags. The following example is
+for DPDK release tag “v2.2.0” and will create a branch named “two_dot_two”.
+ # cd dpdk
+ # git checkout -b two_dot_two v2.2.0
+
+3. Apply all the existing VPP DPDK patches to this new branch.
+ # git am <VPP directory>/dpdk/dpdk-2.2.0_patches/*
+
+4. Make your changes and commit your change to your DPDK repository.
+ # <edit files>
+ # git commit -s
+
+5. Create the patch files with format-patch. This creates all the patch files
+for your branch (two_dot_two), with your latest commits as the last ones.
+ # git format-patch master..two_dot_two
+
+6. Copy, add and commit the new patches into the VPP patches directory.
+ # cp <new patch files> <VPP directory>/dpdk/dpdk-2.2.0_patches
+ # cd <VPP directory>
+ # git add dpdk/dpdk-2.2.0_patches/<new patch files>
+ # git commit -s
+
diff --git a/dpdk/dpdk-2.2.0_patches/0008-Add-missing-init-of-packet_type-field.patch b/dpdk/dpdk-2.2.0_patches/0008-Add-missing-init-of-packet_type-field.patch
index 9c65330da7f..04c1fb398b7 100644
--- a/dpdk/dpdk-2.2.0_patches/0008-Add-missing-init-of-packet_type-field.patch
+++ b/dpdk/dpdk-2.2.0_patches/0008-Add-missing-init-of-packet_type-field.patch
@@ -1,4 +1,4 @@
-From 9a2515d7157271bac2bd5cd49758dbf3eb2b43b6 Mon Sep 17 00:00:00 2001
+From 666ceb1d0c11e2ca69baacc272b7d5690d3f11a3 Mon Sep 17 00:00:00 2001
From: Bud Grise <griseb@cisco.com>
Date: Mon, 1 Feb 2016 14:28:01 -0500
Subject: [PATCH 8/8] Add missing init of packet_type field.
@@ -34,10 +34,10 @@ index d8fb252..8796c8a 100644
/* Only valid if PKT_RX_VLAN_PKT set in pkt_flags */
rxm->vlan_tci = rte_le_to_cpu_16(rxd.special);
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
-index e4bf9b7..e605c85 100644
+index 2512bce..a74c816 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
-@@ -605,6 +605,7 @@ virtio_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
+@@ -619,6 +619,7 @@ virtio_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
rxm->pkt_len = (uint32_t)(len[i] - hdr_size);
rxm->data_len = (uint16_t)(len[i] - hdr_size);
rxm->ol_flags = 0;
@@ -45,7 +45,7 @@ index e4bf9b7..e605c85 100644
if (hw->vlan_strip)
rte_vlan_strip(rxm);
-@@ -726,6 +727,7 @@ virtio_recv_mergeable_pkts(void *rx_queue,
+@@ -739,6 +740,7 @@ virtio_recv_mergeable_pkts(void *rx_queue,
rxm->pkt_len = (uint32_t)(len[0] - hdr_size);
rxm->data_len = (uint16_t)(len[0] - hdr_size);
rxm->ol_flags = 0;
@@ -66,5 +66,5 @@ index 4de5d89..c76b230 100644
vmxnet3_rx_offload(rcd, rxm);
--
-2.2.1
+1.9.1
diff --git a/dpdk/dpdk-2.2.0_patches/0011-enic-improve-Rx-performance.patch b/dpdk/dpdk-2.2.0_patches/0011-enic-improve-Rx-performance.patch
index 98824c57f9c..2aa4840dbc7 100644
--- a/dpdk/dpdk-2.2.0_patches/0011-enic-improve-Rx-performance.patch
+++ b/dpdk/dpdk-2.2.0_patches/0011-enic-improve-Rx-performance.patch
@@ -1,9 +1,8 @@
-commit 947d860c821f4248dcf2fc01e98671524973eeea
-Author: John Daley <johndale@cisco.com>
-Date: Fri Mar 4 13:09:00 2016 -0800
+From 057358356e7d05f07ab2df37c12b1cce37a3cca9 Mon Sep 17 00:00:00 2001
+From: John Daley <johndale@cisco.com>
+Date: Fri, 4 Mar 2016 13:09:00 -0800
+Subject: [PATCH 11/22] enic: improve Rx performance
- enic: improve Rx performance
-
This is a wholesale replacement of the Enic PMD receive path in order
to improve performance and code clarity. The changes are:
- Simplify and reduce code path length of receive function.
@@ -13,8 +12,19 @@ Date: Fri Mar 4 13:09:00 2016 -0800
- 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 <johndale@cisco.com>
+---
+ drivers/net/enic/Makefile | 1 +
+ drivers/net/enic/base/vnic_rq.c | 99 ++---------
+ drivers/net/enic/base/vnic_rq.h | 147 +---------------
+ drivers/net/enic/enic.h | 16 +-
+ drivers/net/enic/enic_ethdev.c | 27 ++-
+ drivers/net/enic/enic_main.c | 321 ++++++++++------------------------
+ drivers/net/enic/enic_res.h | 16 +-
+ drivers/net/enic/enic_rx.c | 370 ++++++++++++++++++++++++++++++++++++++++
+ 8 files changed, 511 insertions(+), 486 deletions(-)
+ create mode 100644 drivers/net/enic/enic_rx.c
diff --git a/drivers/net/enic/Makefile b/drivers/net/enic/Makefile
index f0ee093..f316274 100644
@@ -1334,3 +1344,6 @@ index 0000000..945a60f
+
+ return nb_rx;
+}
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch b/dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch
index 181ca912f32..218a42f6ba3 100644
--- a/dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch
+++ b/dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch
@@ -1,17 +1,19 @@
-commit aba31298526865f5db99eaa54b63eb39dc95b74f
-Author: John Daley <johndale@cisco.com>
-Date: Tue Mar 8 10:49:07 2016 -0800
+From a31a1dbdf5e1ff46d04f50fea02e83453b84652c Mon Sep 17 00:00:00 2001
+From: John Daley <johndale@cisco.com>
+Date: Tue, 8 Mar 2016 10:49:07 -0800
+Subject: [PATCH 12/22] enic: fix last packet not being sent
- enic: fix last packet not being sent
-
The last packet of the tx burst function array was not being
emitted until the subsequent call. The nic descriptor index
was being set to the current tx descriptor instead of one past
the descriptor as required by the nic.
-
+
Fixes: d739ba4c6abf ("enic: improve Tx packet rate")
-
+
Signed-off-by: John Daley <johndale@cisco.com>
+---
+ 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.h
index e3ea574..b019109 100644
@@ -32,3 +34,6 @@ index e3ea574..b019109 100644
}
#endif /* _ENIC_VNIC_WQ_H_ */
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0013-enic-add-missing-newline-to-print-statements.patch b/dpdk/dpdk-2.2.0_patches/0013-enic-add-missing-newline-to-print-statements.patch
index e95327d2268..97a424f145c 100644
--- a/dpdk/dpdk-2.2.0_patches/0013-enic-add-missing-newline-to-print-statements.patch
+++ b/dpdk/dpdk-2.2.0_patches/0013-enic-add-missing-newline-to-print-statements.patch
@@ -1,15 +1,17 @@
-commit bba57df3861c644e98c5e8f79e62f6ca5074cb40
-Author: Nelson Escobar <neescoba@cisco.com>
-Date: Thu Mar 17 15:48:13 2016 -0700
+From a1ed99bc24f88f061d75eed0db84dc6355855dd2 Mon Sep 17 00:00:00 2001
+From: Nelson Escobar <neescoba@cisco.com>
+Date: Thu, 17 Mar 2016 15:48:13 -0700
+Subject: [PATCH 13/22] enic: add missing newline to print statements
- enic: add missing newline to print statements
-
Add the missing '\n' character to the end of a few print statements.
-
+
Fixes: fefed3d1e62c ("enic: new driver")
-
+
Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Acked-by: John Daley <johndale@cisco.com>
+---
+ 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 9fff020..e30672c 100644
@@ -40,3 +42,6 @@ index 9fff020..e30672c 100644
__func__, name);
return NULL;
}
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0014-vmxnet3-support-jumbo-frames.patch b/dpdk/dpdk-2.2.0_patches/0014-vmxnet3-support-jumbo-frames.patch
index ed7b3165391..cae055eb9bf 100644
--- a/dpdk/dpdk-2.2.0_patches/0014-vmxnet3-support-jumbo-frames.patch
+++ b/dpdk/dpdk-2.2.0_patches/0014-vmxnet3-support-jumbo-frames.patch
@@ -1,7 +1,7 @@
-From f582f39372766a24d9bdbdc3a2a3334de88a70f1 Mon Sep 17 00:00:00 2001
+From fef2b892245d5a2f3c68d2e03a6c5f2a40205cf7 Mon Sep 17 00:00:00 2001
From: Steve Shin <jonshin@cisco.com>
Date: Wed, 23 Mar 2016 09:54:54 -0700
-Subject: [PATCH] vmxnet3: support jumbo frames
+Subject: [PATCH 14/22] vmxnet3: support jumbo frames
---
drivers/net/vmxnet3/vmxnet3_ethdev.c | 3 +-
@@ -44,7 +44,7 @@ index 612487e..b1582f8 100644
bool stopped;
uint16_t queue_id; /**< Device RX queue index. */
diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c
-index 4de5d89..9f68ec6 100644
+index c76b230..59b6db8 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -547,7 +547,6 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
@@ -106,9 +106,9 @@ index 4de5d89..9f68ec6 100644
rxq->stats.drop_total++;
rxq->stats.drop_err++;
-@@ -641,9 +619,49 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
- rxm->ol_flags = 0;
+@@ -642,9 +620,49 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
rxm->vlan_tci = 0;
+ rxm->packet_type = RTE_PTYPE_UNKNOWN;
- vmxnet3_rx_offload(rcd, rxm);
+ /*
@@ -158,7 +158,7 @@ index 4de5d89..9f68ec6 100644
rcd_done:
rxq->cmd_ring[ring_idx].next2comp = idx;
VMXNET3_INC_RING_IDX_ONLY(rxq->cmd_ring[ring_idx].next2comp, rxq->cmd_ring[ring_idx].size);
-@@ -944,6 +962,7 @@ vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev)
+@@ -945,6 +963,7 @@ vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev)
}
}
rxq->stopped = FALSE;
diff --git a/dpdk/dpdk-2.2.0_patches/0015-enic-fix-crash-when-allocating-too-many-queues.patch b/dpdk/dpdk-2.2.0_patches/0015-enic-fix-crash-when-allocating-too-many-queues.patch
index f8e661fc831..2c0e65d3bbb 100644
--- a/dpdk/dpdk-2.2.0_patches/0015-enic-fix-crash-when-allocating-too-many-queues.patch
+++ b/dpdk/dpdk-2.2.0_patches/0015-enic-fix-crash-when-allocating-too-many-queues.patch
@@ -1,19 +1,21 @@
-commit ddf2da3ecec97a316838f40fe13e217afafc6252
-Author: Nelson Escobar <neescoba@cisco.com>
-Date: Thu Mar 17 15:49:58 2016 -0700
+From 7a7fa2891df4ec4af0c34f3bbd203e1376e83951 Mon Sep 17 00:00:00 2001
+From: Nelson Escobar <neescoba@cisco.com>
+Date: Thu, 17 Mar 2016 15:49:58 -0700
+Subject: [PATCH 15/22] enic: fix crash when allocating too many queues
- enic: fix crash when allocating too many queues
-
Add checks to make sure we don't try to allocate more tx or rx queues
than we support.
-
+
Fixes: fefed3d1e62c ("enic: new driver")
-
+
Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
+---
+ drivers/net/enic/enic_ethdev.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
-index bab0f7d..4969476 100644
+index 6f2ada5..6c3c734 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -174,6 +174,13 @@ static int enicpmd_dev_tx_queue_setup(struct rte_eth_dev *eth_dev,
@@ -44,3 +46,6 @@ index bab0f7d..4969476 100644
eth_dev->data->rx_queues[queue_idx] = (void *)&enic->rq[queue_idx];
ret = enic_alloc_rq(enic, queue_idx, socket_id, mp, nb_desc);
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0016-enic-fix-mbuf-flags-on-Rx.patch b/dpdk/dpdk-2.2.0_patches/0016-enic-fix-mbuf-flags-on-Rx.patch
index e8f74db5bf6..895d5715490 100644
--- a/dpdk/dpdk-2.2.0_patches/0016-enic-fix-mbuf-flags-on-Rx.patch
+++ b/dpdk/dpdk-2.2.0_patches/0016-enic-fix-mbuf-flags-on-Rx.patch
@@ -1,15 +1,17 @@
-commit 3253bbc79c8a1eddf791d9ec11bcea4a004d258e
-Author: John Daley <johndale@cisco.com>
-Date: Thu Mar 17 15:57:05 2016 -0700
+From 3ffb9431d6ba34dbcffab5cff4c060d5dca167e1 Mon Sep 17 00:00:00 2001
+From: John Daley <johndale@cisco.com>
+Date: Thu, 17 Mar 2016 15:57:05 -0700
+Subject: [PATCH 16/22] enic: fix mbuf flags on Rx
- enic: fix mbuf flags on Rx
-
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 <johndale@cisco.com>
+---
+ drivers/net/enic/enic_rx.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/enic/enic_rx.c b/drivers/net/enic/enic_rx.c
index 945a60f..59ebaa4 100644
@@ -36,3 +38,6 @@ index 945a60f..59ebaa4 100644
/* prefetch mbuf data for caller */
rte_packet_prefetch(RTE_PTR_ADD(rxmb->buf_addr,
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0017-enic-fix-error-packets-handling.patch b/dpdk/dpdk-2.2.0_patches/0017-enic-fix-error-packets-handling.patch
index 058d5eb4cc5..28c05e889a9 100644
--- a/dpdk/dpdk-2.2.0_patches/0017-enic-fix-error-packets-handling.patch
+++ b/dpdk/dpdk-2.2.0_patches/0017-enic-fix-error-packets-handling.patch
@@ -1,24 +1,26 @@
-commit 5776c30293bbbdb3e332c868fbccf99b2026fba0
-Author: John Daley <johndale@cisco.com>
-Date: Thu Mar 17 15:57:06 2016 -0700
+From 678e5952cf49bb66c2d697581a70dc8c7d703e8f Mon Sep 17 00:00:00 2001
+From: John Daley <johndale@cisco.com>
+Date: Thu, 17 Mar 2016 15:57:06 -0700
+Subject: [PATCH 17/22] enic: fix error packets handling
- enic: fix error packets handling
-
If the packet_error bit in the completion descriptor is set, the
remainder of the descriptor and data are invalid. PKT_RX_MAC_ERR
was set in the mbuf->ol_flags if packet_error was set and used
later to indicate an error packet. But since PKT_RX_MAC_ERR is
defined as 0, mbuf flags and packet types and length were being
misinterpreted.
-
+
Make the function enic_cq_rx_to_pkt_err_flags() return true for error
packets and use the return value instead of mbuf->ol_flags to indicate
error packets. Also remove warning for error packets and rely on
rx_error stats.
-
+
Fixes: 947d860c821f ("enic: improve Rx performance")
-
+
Signed-off-by: John Daley <johndale@cisco.com>
+---
+ 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
@@ -110,3 +112,6 @@ index 59ebaa4..817a891 100644
/* prefetch mbuf data for caller */
rte_packet_prefetch(RTE_PTR_ADD(rxmb->buf_addr,
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0018-enic-remove-packet-error-conditional.patch b/dpdk/dpdk-2.2.0_patches/0018-enic-remove-packet-error-conditional.patch
index d3084c84c9e..3f29f6ea999 100644
--- a/dpdk/dpdk-2.2.0_patches/0018-enic-remove-packet-error-conditional.patch
+++ b/dpdk/dpdk-2.2.0_patches/0018-enic-remove-packet-error-conditional.patch
@@ -1,12 +1,14 @@
-commit 50765c820e98a4434efbc0a58df4b9d78afb7a5f
-Author: John Daley <johndale@cisco.com>
-Date: Thu Mar 17 15:57:07 2016 -0700
+From 2fa6a45ff9f9fb3108b09403e32393416bd0a732 Mon Sep 17 00:00:00 2001
+From: John Daley <johndale@cisco.com>
+Date: Thu, 17 Mar 2016 15:57:07 -0700
+Subject: [PATCH 18/22] enic: remove packet error conditional
- enic: remove packet error conditional
-
small cleanup to remove conditional.
-
+
Signed-off-by: John Daley <johndale@cisco.com>
+---
+ 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
@@ -51,3 +53,6 @@ index 817a891..232987a 100644
/* prefetch mbuf data for caller */
rte_packet_prefetch(RTE_PTR_ADD(rxmb->buf_addr,
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0019-enic-update-maintainers.patch b/dpdk/dpdk-2.2.0_patches/0019-enic-update-maintainers.patch
index 8beae3b2944..7415177215c 100644
--- a/dpdk/dpdk-2.2.0_patches/0019-enic-update-maintainers.patch
+++ b/dpdk/dpdk-2.2.0_patches/0019-enic-update-maintainers.patch
@@ -1,19 +1,22 @@
-commit 57524648749fb7dc1daf3af3213dab472ee432de
-Author: John Daley <johndale@cisco.com>
-Date: Fri Mar 18 11:27:07 2016 -0700
+From 8ad252ab40b8f95db8413220146d54bf8a7d7be8 Mon Sep 17 00:00:00 2001
+From: John Daley <johndale@cisco.com>
+Date: Fri, 18 Mar 2016 11:27:07 -0700
+Subject: [PATCH 19/22] enic: update maintainers
- enic: update maintainers
-
Change maintainers for ENIC PMD and fix pointer to enic
documentation in MAINTAINERS.
-
+
Signed-off-by: John Daley <johndale@cisco.com>
+---
+ MAINTAINERS | 3 ++-
+ doc/guides/nics/enic.rst | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
-index 6ed54dd..e848ffa 100644
+index b90aeea..f5b8bb4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -276,8 +276,9 @@ F: doc/guides/nics/cxgbe.rst
+@@ -264,8 +264,9 @@ F: doc/guides/nics/cxgbe.rst
Cisco enic
M: John Daley <johndale@cisco.com>
@@ -34,3 +37,6 @@ index 2a228fd..e67c3db 100644
- John Daley <johndale@cisco.com>
-- Sujith Sankar <ssujith@cisco.com>
+- Nelson Escobar <neescoba@cisco.com>
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0020-enic-fix-Rx-descriptor-limit.patch b/dpdk/dpdk-2.2.0_patches/0020-enic-fix-Rx-descriptor-limit.patch
index f2fb1245482..db2ac64612c 100644
--- a/dpdk/dpdk-2.2.0_patches/0020-enic-fix-Rx-descriptor-limit.patch
+++ b/dpdk/dpdk-2.2.0_patches/0020-enic-fix-Rx-descriptor-limit.patch
@@ -1,20 +1,22 @@
-commit 65ca78fdf9a684743bfca278cf1fcfea4603931d
-Author: Nelson Escobar <neescoba@cisco.com>
-Date: Fri Mar 18 11:33:34 2016 -0700
+From ce6badc60736f5e78a295f30fe84c3e40ad0c330 Mon Sep 17 00:00:00 2001
+From: Nelson Escobar <neescoba@cisco.com>
+Date: Fri, 18 Mar 2016 11:33:34 -0700
+Subject: [PATCH 20/22] enic: fix Rx descriptor limit
- enic: fix Rx descriptor limit
-
On initialization, the rq descriptor count was set to the limit
of the vic. When the requested number of rx descriptors was
less than this count, enic_alloc_rq() was incorrectly setting
the count to the lower value. This results in later calls to
enic_alloc_rq() incorrectly using the lower value as the adapter
limit.
-
+
Fixes: fefed3d1e62c ("enic: new driver")
-
+
Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
+---
+ 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 e30672c..2f79cf0 100644
@@ -59,3 +61,6 @@ index e30672c..2f79cf0 100644
RTE_CACHE_LINE_SIZE, rq->socket_id);
if (rq->mbuf_ring != NULL)
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-gt-queue-size.patch b/dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-queue-size.patch
index 11e54e13fe4..154e6f1e7ef 100644
--- a/dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-gt-queue-size.patch
+++ b/dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-queue-size.patch
@@ -1,26 +1,30 @@
-commit 67c4432ec364ce21f5059ba0696a9d0f3393356c
-Author: John Daley <johndale@cisco.com>
-Date: Thu Mar 24 14:00:39 2016 -0700
+From e89ea2a038987102d9eb0a7ea217d7a301b484cb Mon Sep 17 00:00:00 2001
+From: John Daley <johndale@cisco.com>
+Date: Thu, 24 Mar 2016 14:00:39 -0700
+Subject: [PATCH 21/22] enic: fix TX hang when number of packets > queue
+ size
- enic: fix TX hang when number of packets > queue size
-
If the nb_pkts parameter to rte_eth_tx_burst() was greater than
the TX descriptor count, a completion was not being requested
from the NIC, so descriptors would not be released back to the
host causing a lock-up.
-
+
Introduce a limit of how many TX descriptors can be used in a single
call to the enic PMD burst TX function before requesting a completion.
-
+
Fixes: d739ba4c6abf ("enic: improve Tx packet rate")
-
+
Signed-off-by: John Daley <johndale@cisco.com>
+---
+ drivers/net/enic/enic_ethdev.c | 20 ++++++++++++++++----
+ drivers/net/enic/enic_res.h | 1 +
+ 2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
-index 4969476..6bea940 100644
+index 6c3c734..61bb83c 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
-@@ -523,7 +523,7 @@ static void enicpmd_remove_mac_addr(struct rte_eth_dev *eth_dev, __rte_unused ui
+@@ -510,7 +510,7 @@ static void enicpmd_remove_mac_addr(struct rte_eth_dev *eth_dev, __rte_unused ui
static uint16_t enicpmd_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
{
@@ -29,7 +33,7 @@ index 4969476..6bea940 100644
unsigned int frags;
unsigned int pkt_len;
unsigned int seg_len;
-@@ -535,6 +535,7 @@ static uint16_t enicpmd_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -522,6 +522,7 @@ static uint16_t enicpmd_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
unsigned short vlan_id;
unsigned short ol_flags;
uint8_t last_seg, eop;
@@ -37,7 +41,7 @@ index 4969476..6bea940 100644
for (index = 0; index < nb_pkts; index++) {
tx_pkt = *tx_pkts++;
-@@ -550,6 +551,7 @@ static uint16_t enicpmd_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -537,6 +538,7 @@ static uint16_t enicpmd_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
return index;
}
}
@@ -45,7 +49,7 @@ index 4969476..6bea940 100644
pkt_len = tx_pkt->pkt_len;
vlan_id = tx_pkt->vlan_tci;
ol_flags = tx_pkt->ol_flags;
-@@ -559,9 +561,19 @@ static uint16_t enicpmd_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -546,9 +548,19 @@ static uint16_t enicpmd_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
next_tx_pkt = tx_pkt->next;
seg_len = tx_pkt->data_len;
inc_len += seg_len;
@@ -80,3 +84,6 @@ index 33f2e84..00fa71d 100644
#define ENIC_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 1 : 0)
+--
+1.9.1
+
diff --git a/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch b/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch
index 9cb56d2d499..3e03c8968fa 100644
--- a/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch
+++ b/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch
@@ -1,25 +1,27 @@
-commit 65bcf215aae2e0b9935557e237af054ad0860bad
-Author: Nelson Escobar <neescoba@cisco.com>
-Date: Tue Mar 22 13:42:08 2016 -0700
+From a2f08a919c72af29c56b937e6c92eb104037fed5 Mon Sep 17 00:00:00 2001
+From: Nelson Escobar <neescoba@cisco.com>
+Date: Tue, 22 Mar 2016 13:42:08 -0700
+Subject: [PATCH 22/22] bonding: fix bond link detect in non-interrupt mode
- bonding: fix bond link detect in non-interrupt mode
-
Stopping then re-starting a bond interface containing slaves that
used polling for link detection caused the bond to think all slave
links were down and inactive.
-
+
Move the start of the polling for link from slave_add() to
bond_ethdev_start() and in bond_ethdev_stop() make sure we clear
the last_link_status of the slaves.
-
+
Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Signed-off-by: John Daley <johndale@cisco.com>
+---
+ drivers/net/bonding/rte_eth_bond_pmd.c | 27 +++++++++++++++++----------
+ 1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index fb26d35..f0960c6 100644
+index b1373c6..d32c6f5 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -1454,18 +1454,11 @@ slave_add(struct bond_dev_private *internals,
+@@ -1447,18 +1447,11 @@ slave_add(struct bond_dev_private *internals,
slave_details->port_id = slave_eth_dev->data->port_id;
slave_details->last_link_status = 0;
@@ -41,7 +43,7 @@ index fb26d35..f0960c6 100644
}
slave_details->link_status_wait_to_complete = 0;
-@@ -1550,6 +1543,18 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
+@@ -1543,6 +1536,18 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
eth_dev->data->port_id, internals->slaves[i].port_id);
return -1;
}
@@ -60,7 +62,7 @@ index fb26d35..f0960c6 100644
}
if (internals->user_defined_primary_port)
-@@ -1622,6 +1627,8 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
+@@ -1615,6 +1620,8 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
internals->active_slave_count = 0;
internals->link_status_polling_enabled = 0;
@@ -69,3 +71,6 @@ index fb26d35..f0960c6 100644
eth_dev->data->dev_link.link_status = 0;
eth_dev->data->dev_started = 0;
+--
+1.9.1
+
href='#n1536'>1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347