patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Yuanhan Liu <yliu@fridaylinux.org>
To: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Cc: Akhil Goyal <akhil.goyal@nxp.com>,
	Radu Nicolau <radu.nicolau@intel.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'examples/ipsec-secgw: fix usage of incorrect port' has been queued to LTS release 17.11.1
Date: Wed, 24 Jan 2018 23:33:25 +0800	[thread overview]
Message-ID: <1516808026-25523-137-git-send-email-yliu@fridaylinux.org> (raw)
In-Reply-To: <1516808026-25523-1-git-send-email-yliu@fridaylinux.org>

Hi,

FYI, your patch has been queued to LTS release 17.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 01/26/18. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 24c54aaf0970b969bddea44485d6ea7180e37dee Mon Sep 17 00:00:00 2001
From: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Date: Tue, 12 Dec 2017 08:32:25 +0000
Subject: [PATCH] examples/ipsec-secgw: fix usage of incorrect port

[ upstream commit 3de3a0418c35deb9a0dd657701b6a22fb6dcb4db ]

When security offload is enabled, the packet should be forwarded on the
port configured in the SA. Security session will be configured on that
port only, and sending the packet on other ports could result in
unencrypted packets being sent out.

This would have performance improvements too, as the per packet LPM
lookup would be avoided for IPsec packets, in inline mode.

Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload")

Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
---
 doc/guides/sample_app_ug/ipsec_secgw.rst |  10 ++-
 examples/ipsec-secgw/ipsec-secgw.c       | 101 ++++++++++++++++++++++++++-----
 2 files changed, 96 insertions(+), 15 deletions(-)

diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index d6cfdbf..ae18acd 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -61,6 +61,12 @@ In case of complete protocol offload, the processing of headers(ESP and outer
 IP header) is done by the hardware and the application does not need to
 add/remove them during outbound/inbound processing.
 
+For inline offloaded outbound traffic, the application will not do the LPM
+lookup for routing, as the port on which the packet has to be forwarded will be
+part of the SA. Security parameters will be configured on that port only, and
+sending the packet on other ports could result in unencrypted packets being
+sent out.
+
 The Path for IPsec Inbound traffic is:
 
 *  Read packets from the port.
@@ -543,7 +549,9 @@ where each options means:
  ``<port_id>``
 
  * Port/device ID of the ethernet/crypto accelerator for which the SA is
-   configured. This option is used when *type* is NOT *no-offload*
+   configured. For *inline-crypto-offload* and *inline-protocol-offload*, this
+   port will be used for routing. The routing table will not be referred in
+   this case.
 
  * Optional: No, if *type* is not *no-offload*
 
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index c98454a..2a406ab 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -585,31 +585,81 @@ process_pkts_outbound_nosp(struct ipsec_ctx *ipsec_ctx,
 		traffic->ip6.num = nb_pkts_out;
 }
 
+static inline int32_t
+get_hop_for_offload_pkt(struct rte_mbuf *pkt, int is_ipv6)
+{
+	struct ipsec_mbuf_metadata *priv;
+	struct ipsec_sa *sa;
+
+	priv = get_priv(pkt);
+
+	sa = priv->sa;
+	if (unlikely(sa == NULL)) {
+		RTE_LOG(ERR, IPSEC, "SA not saved in private data\n");
+		goto fail;
+	}
+
+	if (is_ipv6)
+		return sa->portid;
+
+	/* else */
+	return (sa->portid | RTE_LPM_LOOKUP_SUCCESS);
+
+fail:
+	if (is_ipv6)
+		return -1;
+
+	/* else */
+	return 0;
+}
+
 static inline void
 route4_pkts(struct rt_ctx *rt_ctx, struct rte_mbuf *pkts[], uint8_t nb_pkts)
 {
 	uint32_t hop[MAX_PKT_BURST * 2];
 	uint32_t dst_ip[MAX_PKT_BURST * 2];
+	int32_t pkt_hop = 0;
 	uint16_t i, offset;
+	uint16_t lpm_pkts = 0;
 
 	if (nb_pkts == 0)
 		return;
 
+	/* Need to do an LPM lookup for non-inline packets. Inline packets will
+	 * have port ID in the SA
+	 */
+
 	for (i = 0; i < nb_pkts; i++) {
-		offset = offsetof(struct ip, ip_dst);
-		dst_ip[i] = *rte_pktmbuf_mtod_offset(pkts[i],
-				uint32_t *, offset);
-		dst_ip[i] = rte_be_to_cpu_32(dst_ip[i]);
+		if (!(pkts[i]->ol_flags & PKT_TX_SEC_OFFLOAD)) {
+			/* Security offload not enabled. So an LPM lookup is
+			 * required to get the hop
+			 */
+			offset = offsetof(struct ip, ip_dst);
+			dst_ip[lpm_pkts] = *rte_pktmbuf_mtod_offset(pkts[i],
+					uint32_t *, offset);
+			dst_ip[lpm_pkts] = rte_be_to_cpu_32(dst_ip[lpm_pkts]);
+			lpm_pkts++;
+		}
 	}
 
-	rte_lpm_lookup_bulk((struct rte_lpm *)rt_ctx, dst_ip, hop, nb_pkts);
+	rte_lpm_lookup_bulk((struct rte_lpm *)rt_ctx, dst_ip, hop, lpm_pkts);
+
+	lpm_pkts = 0;
 
 	for (i = 0; i < nb_pkts; i++) {
-		if ((hop[i] & RTE_LPM_LOOKUP_SUCCESS) == 0) {
+		if (pkts[i]->ol_flags & PKT_TX_SEC_OFFLOAD) {
+			/* Read hop from the SA */
+			pkt_hop = get_hop_for_offload_pkt(pkts[i], 0);
+		} else {
+			/* Need to use hop returned by lookup */
+			pkt_hop = hop[lpm_pkts++];
+		}
+
+		if ((pkt_hop & RTE_LPM_LOOKUP_SUCCESS) == 0) {
 			rte_pktmbuf_free(pkts[i]);
 			continue;
 		}
-		send_single_packet(pkts[i], hop[i] & 0xff);
+		send_single_packet(pkts[i], pkt_hop & 0xff);
 	}
 }
 
@@ -619,26 +669,49 @@ route6_pkts(struct rt_ctx *rt_ctx, struct rte_mbuf *pkts[], uint8_t nb_pkts)
 	int32_t hop[MAX_PKT_BURST * 2];
 	uint8_t dst_ip[MAX_PKT_BURST * 2][16];
 	uint8_t *ip6_dst;
+	int32_t pkt_hop = 0;
 	uint16_t i, offset;
+	uint16_t lpm_pkts = 0;
 
 	if (nb_pkts == 0)
 		return;
 
+	/* Need to do an LPM lookup for non-inline packets. Inline packets will
+	 * have port ID in the SA
+	 */
+
 	for (i = 0; i < nb_pkts; i++) {
-		offset = offsetof(struct ip6_hdr, ip6_dst);
-		ip6_dst = rte_pktmbuf_mtod_offset(pkts[i], uint8_t *, offset);
-		memcpy(&dst_ip[i][0], ip6_dst, 16);
+		if (!(pkts[i]->ol_flags & PKT_TX_SEC_OFFLOAD)) {
+			/* Security offload not enabled. So an LPM lookup is
+			 * required to get the hop
+			 */
+			offset = offsetof(struct ip6_hdr, ip6_dst);
+			ip6_dst = rte_pktmbuf_mtod_offset(pkts[i], uint8_t *,
+					offset);
+			memcpy(&dst_ip[lpm_pkts][0], ip6_dst, 16);
+			lpm_pkts++;
+		}
 	}
 
-	rte_lpm6_lookup_bulk_func((struct rte_lpm6 *)rt_ctx, dst_ip,
-			hop, nb_pkts);
+	rte_lpm6_lookup_bulk_func((struct rte_lpm6 *)rt_ctx, dst_ip, hop,
+			lpm_pkts);
+
+	lpm_pkts = 0;
 
 	for (i = 0; i < nb_pkts; i++) {
-		if (hop[i] == -1) {
+		if (pkts[i]->ol_flags & PKT_TX_SEC_OFFLOAD) {
+			/* Read hop from the SA */
+			pkt_hop = get_hop_for_offload_pkt(pkts[i], 1);
+		} else {
+			/* Need to use hop returned by lookup */
+			pkt_hop = hop[lpm_pkts++];
+		}
+
+		if (pkt_hop == -1) {
 			rte_pktmbuf_free(pkts[i]);
 			continue;
 		}
-		send_single_packet(pkts[i], hop[i] & 0xff);
+		send_single_packet(pkts[i], pkt_hop & 0xff);
 	}
 }
 
-- 
2.7.4

  parent reply	other threads:[~2018-01-24 15:42 UTC|newest]

Thread overview: 161+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-24 15:31 [dpdk-stable] patch 'kni: fix build with kernel 4.15' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'app/testpmd: remove xenvirt again' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'mk: remove TILE-Gx machine type' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'bus/dpaa: fix build when assert enabled' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'app/testpmd: fix port id allocation' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'app/testpmd: fix crash of txonly with multiple segments' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'kni: fix build dependency' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'service: fix number mapped cores count' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'service: fix lcore role after delete' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'service: fix service core launch' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'bus/pci: fix interrupt handler type' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'memzone: fix leak on allocation error' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'malloc: protect stats with lock' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'malloc: fix end for bounded elements' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'vfio: fix enabled check on error' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'pmdinfogen: fix cross compilation for ARM big endian' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'lpm: fix ARM big endian build' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'bus/dpaa: " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/i40e: " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/ixgbe: " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'mempool/octeontx: fix improper memory barrier' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'mempool: fix first memory area notification' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'mempool/octeontx: fix memory area registration' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'app/testpmd: fix port configuration print' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'app/testpmd: fix flowgen forwarding offload flags' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'examples/l3fwd-power: fix Rx without interrupt' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'examples/l3fwd-power: fix frequency detection' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'timer: fix reset on service cores' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/mlx5: cleanup allocation of ethtool stats' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/bonding: fix bonding in 8023ad mode' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/nfp: fix MTU settings' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/nfp: fix jumbo " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/nfp: fix CRC strip check behaviour' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/thunderx: fix multi segment Tx function return' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/mlx5: fix Tx checksum offloads' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/mlx4: fix unnecessary include' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/szedata2: fix check of mmap return value' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'bus/fslmc: fix the cplusplus macro closure' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'drivers: change the deprecated memseg physaddr to IOVA' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/mlx4: revert workaround for broken Verbs' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/mlx5: fix flow type for allmulti rules' " Yuanhan Liu
2018-02-13 11:56   ` Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/mlx4: fix Tx packet drop application report' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/bonding: fix activated slave in 8023ad mode' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/qede: fix to enable LRO over tunnels' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/qede: fix to reject config with no Rx queue' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/sfc: stop periodic DMA if MAC stats upload fails' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/sfc: fix multicast address list copy memory leak' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/sfc: fix DMA memory leak after kvarg processing failure' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'ethdev: fix missing imissed counter in xstats' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/sfc: fix main MAC address handling' " Yuanhan Liu
2018-01-24 15:31 ` [dpdk-stable] patch 'net/mlx5: fix VLAN configuration after port stop' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix Memory Region registration' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix overflow of Memory Region cache' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix RSS key configuration' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix HW checksum offload for outer IP' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix un-supported RSS hash fields use' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix VLAN offload setting' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/fm10k: fix logical port delete' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/ixgbe: fix wrong PBA setting' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/igb: fix Tx queue number assignment' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix VLAN offload setting issue' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix FDIR input set conflict' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/ixgbe: fix tunnel filter fail problem' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: add FDIR NVGRE parameter check' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix setting of MAC address on i40evf' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'vhost: fix crash' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'vhost: fix dequeue zero copy with virtio1' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/virtio: fix incorrect cast' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/virtio: fix vector Rx flushing' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/virtio: fix typo in LRO support' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'examples/vhost: fix sending ARP packet to self' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'event/octeontx: fix Rx adapter port id mapping' " Yuanhan Liu
2018-01-26 16:00   ` Yuanhan Liu
2018-01-29  8:56     ` Pavan Nikhilesh
2018-01-24 15:32 ` [dpdk-stable] patch 'net/sfc: fix label name to be consistent' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/sfc: do not hold management event queue lock while MCDI' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/sfc: fix incorrect bitwise ORing of L3/L4 packet types' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/ixgbe: fix parsing FDIR NVGRE issue' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix FDIR rule confiliction " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: exclude LLDP packet count' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/ixgbe: fix the failure of number of Tx queue check' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix VSI MAC filter on primary address change' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix overwriting bit-fields in SW Rx queue' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/dpaa: fix uninitialized and unused variables' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/dpaa: fix the mbuf packet type if zero' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/dpaa: fix FW version code' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bnxt: fix double increment of idx during Tx ring alloc' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bnxt: parse checksum offload flags' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bnxt: fix group info usage' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bnxt: fix check for ether type' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bnxt: fix duplicate filter pattern creation error' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bnxt: fix duplicate pattern for 5tuple filter' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bnxt: free the aggregation ring' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/bonding: fix setting slave MAC addresses' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'ethdev: fix link autonegotiation value' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/enic: fix L4 Rx ptype comparison' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/pcap: fix the NUMA id display in logs' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/failsafe: fix Rx safe check compiler hint' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/tap: remove unused kernel version definitions' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mrvl: fix multiple probe' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mrvl: fix HIF objects allocation' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mrvl: fix oversize bpool handling' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mrvl: fix shadow queue tail and size calculations' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mrvl: keep shadow Txqs inside PMD Txq' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/ixgbe: fix max queue number for VF' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix setting MAC address of " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix port segmentation fault when restart' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/i40e: fix VF reset stats crash' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix deadlock of link status alarm' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix missing attribute size for drop action' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'net/mlx5: fix calculation of flow ID flag' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'vhost: fix error code check when creating thread' " Yuanhan Liu
2018-01-24 15:32 ` [dpdk-stable] patch 'examples/vhost: fix startup check' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/i40e: fix ISO C in exported header' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'flow_classify: " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'member: " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'lib: fix missing includes in exported headers' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'igb_uio: allow multi-process access' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'pdump: fix error check when creating/canceling thread' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'app/testpmd: fix invalid Rx queue number setting' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'app/testpmd: fix invalid Tx " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'app/procinfo: add compilation option in config' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'test: register test as failed if setup failed' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'test/table: fix uninitialized parameter' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'test/memzone: fix wrong test' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'test/memzone: fix NULL freeing' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'test/memzone: fix freeing test' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'mbuf: fix performance of freeing with non atomic refcnt' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'mempool/octeontx: fix natural alignment being optimized out' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'member: fix memory leak on error' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'eventdev: set error code in port link/unlink functions' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'test/eventdev: use CPU event type' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'event/sw: fix queue memory leak and multi-link bug' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'eventdev: fix doxygen comments' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'bus/pci: forbid IOVA mode if IOMMU address width too small' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'doc: fix lists of supported crypto algorithms' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'doc: fix format in OpenSSL installation guide' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'test/crypto: fix missing include' " Yuanhan Liu
2018-01-24 15:33 ` Yuanhan Liu [this message]
2018-01-24 15:33 ` [dpdk-stable] patch 'security: fix device operation type' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'crypto: fix pedantic compilation' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'security: " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'security: fix enum start value' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'cryptodev: add missing CPU flag string' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'cryptodev: fix function prototype' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix corner case for SPI value' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix missing ingress flow attribute' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net: fix ESP header byte ordering definition' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix SPI byte order in flow item' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/qede: replace config option with run-time arg' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/i40e: fix flag for MAC address write' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/i40e: fix packet type for X722' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/mlx5: fix IPv6 header fields' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/sfc: fix initialization of flow structure' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/sfc: fix flow RSS check in error handling' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'vhost: fix mbuf free' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'vhost: protect active rings from async ring changes' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/failsafe: fix invalid free' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/i40e: fix flow director Rx resource defect' " Yuanhan Liu
2018-01-24 15:33 ` [dpdk-stable] patch 'net/mlx5: fix memory region lookup' " Yuanhan Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516808026-25523-137-git-send-email-yliu@fridaylinux.org \
    --to=yliu@fridaylinux.org \
    --cc=akhil.goyal@nxp.com \
    --cc=anoob.joseph@caviumnetworks.com \
    --cc=radu.nicolau@intel.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).