Fix DPDK patch files so git am works smoothly

Change-Id: Ic2a6e6f1ceea81f2e34f3db370682569327b44ad
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
diff --git a/dpdk/README b/dpdk/README
new file mode 100644
index 0000000..95154dc
--- /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 9c65330..04c1fb3 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 @@
  		/* 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 @@
  
  		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 @@
  		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 98824c5..2aa4840 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 @@
     - 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 @@
 +
 +	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 181ca91..218a42f 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 @@
  }
  
  #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 e95327d..97a424f 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 @@
  			__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 ed7b316..cae055e 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 @@
  	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 @@
  			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 @@
  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 f8e661f..2c0e65d 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 @@
  	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 e8f74db..895d571 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 @@
  
  		/* 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 058d5eb..28c05e8 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 @@
  
  		/* 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 d3084c8..3f29f6e 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 @@
  
  		/* 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 8beae3b..7415177 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 @@
  - 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 f2fb124..db2ac64 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 @@
  			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
similarity index 77%
rename from dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-gt-queue-size.patch
rename to dpdk/dpdk-2.2.0_patches/0021-enic-fix-TX-hang-when-number-of-packets-queue-size.patch
index 11e54e1..154e6f1 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 @@
  	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 @@
  
  	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 @@
  		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 @@
  
  #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 9cb56d2..3e03c89 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 @@
  	}
  
  	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 @@
  	}
  
  	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 @@
  
  	eth_dev->data->dev_link.link_status = 0;
  	eth_dev->data->dev_started = 0;
+-- 
+1.9.1
+