From: Helin Zhang <helin.zhang@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v6 05/18] ixgbe: replace bit mask based packet type with unified packet type
Date: Mon, 1 Jun 2015 15:33:52 +0800 [thread overview]
Message-ID: <1433144045-30847-6-git-send-email-helin.zhang@intel.com> (raw)
In-Reply-To: <1433144045-30847-1-git-send-email-helin.zhang@intel.com>
To unify packet type among all PMDs, bit masks of packet type for
'ol_flags' are replaced by unified packet type.
To avoid breaking ABI compatibility, all the changes would be
enabled by RTE_UNIFIED_PKT_TYPE, which is disabled by default.
Note that around 2.5% performance drop (64B) was observed of doing
4 ports (1 port per 82599 card) IO forwarding on the same SNB core.
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
drivers/net/ixgbe/ixgbe_rxtx.c | 163 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 163 insertions(+)
v2 changes:
* Used redefined packet types and enlarged packet_type field in mbuf.
v5 changes:
* Re-worded the commit logs.
v6 changes:
* Disabled the code changes for unified packet type by default, to
avoid breaking ABI compatibility.
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 4f9ab22..c4d9b02 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -855,6 +855,110 @@ end_of_tx:
* RX functions
*
**********************************************************************/
+#ifdef RTE_UNIFIED_PKT_TYPE
+#define IXGBE_PACKET_TYPE_IPV4 0X01
+#define IXGBE_PACKET_TYPE_IPV4_TCP 0X11
+#define IXGBE_PACKET_TYPE_IPV4_UDP 0X21
+#define IXGBE_PACKET_TYPE_IPV4_SCTP 0X41
+#define IXGBE_PACKET_TYPE_IPV4_EXT 0X03
+#define IXGBE_PACKET_TYPE_IPV4_EXT_SCTP 0X43
+#define IXGBE_PACKET_TYPE_IPV6 0X04
+#define IXGBE_PACKET_TYPE_IPV6_TCP 0X14
+#define IXGBE_PACKET_TYPE_IPV6_UDP 0X24
+#define IXGBE_PACKET_TYPE_IPV6_EXT 0X0C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_TCP 0X1C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_UDP 0X2C
+#define IXGBE_PACKET_TYPE_IPV4_IPV6 0X05
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_TCP 0X15
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_UDP 0X25
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT 0X0D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP 0X1D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_UDP 0X2D
+#define IXGBE_PACKET_TYPE_MAX 0X80
+#define IXGBE_PACKET_TYPE_MASK 0X7F
+#define IXGBE_PACKET_TYPE_SHIFT 0X04
+static inline uint32_t
+ixgbe_rxd_pkt_info_to_pkt_type(uint16_t pkt_info)
+{
+ static const uint32_t
+ ptype_table[IXGBE_PACKET_TYPE_MAX] __rte_cache_aligned = {
+ [IXGBE_PACKET_TYPE_IPV4] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4,
+ [IXGBE_PACKET_TYPE_IPV4_EXT] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4_EXT,
+ [IXGBE_PACKET_TYPE_IPV6] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV6,
+ [IXGBE_PACKET_TYPE_IPV4_IPV6] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+ RTE_PTYPE_INNER_L3_IPV6,
+ [IXGBE_PACKET_TYPE_IPV6_EXT] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV6_EXT,
+ [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+ RTE_PTYPE_INNER_L3_IPV6_EXT,
+ [IXGBE_PACKET_TYPE_IPV4_TCP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,
+ [IXGBE_PACKET_TYPE_IPV6_TCP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,
+ [IXGBE_PACKET_TYPE_IPV4_IPV6_TCP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+ RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
+ [IXGBE_PACKET_TYPE_IPV6_EXT_TCP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP,
+ [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+ RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
+ [IXGBE_PACKET_TYPE_IPV4_UDP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,
+ [IXGBE_PACKET_TYPE_IPV6_UDP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,
+ [IXGBE_PACKET_TYPE_IPV4_IPV6_UDP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+ RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
+ [IXGBE_PACKET_TYPE_IPV6_EXT_UDP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP,
+ [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_UDP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+ RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
+ [IXGBE_PACKET_TYPE_IPV4_SCTP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_SCTP,
+ [IXGBE_PACKET_TYPE_IPV4_EXT_SCTP] = RTE_PTYPE_L2_MAC |
+ RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_SCTP,
+ };
+ if (unlikely(pkt_info & IXGBE_RXDADV_PKTTYPE_ETQF))
+ return RTE_PTYPE_UNKNOWN;
+
+ pkt_info = (pkt_info >> IXGBE_PACKET_TYPE_SHIFT) &
+ IXGBE_PACKET_TYPE_MASK;
+
+ return ptype_table[pkt_info];
+}
+
+static inline uint64_t
+ixgbe_rxd_pkt_info_to_pkt_flags(uint16_t pkt_info)
+{
+ static uint64_t ip_rss_types_map[16] __rte_cache_aligned = {
+ 0, PKT_RX_RSS_HASH, PKT_RX_RSS_HASH, PKT_RX_RSS_HASH,
+ 0, PKT_RX_RSS_HASH, 0, PKT_RX_RSS_HASH,
+ PKT_RX_RSS_HASH, 0, 0, 0,
+ 0, 0, 0, PKT_RX_FDIR,
+ };
+#ifdef RTE_LIBRTE_IEEE1588
+ static uint64_t ip_pkt_etqf_map[8] = {
+ 0, 0, 0, PKT_RX_IEEE1588_PTP,
+ 0, 0, 0, 0,
+ };
+
+ if (likely(pkt_info & IXGBE_RXDADV_PKTTYPE_ETQF))
+ return ip_pkt_etqf_map[(pkt_info >> 4) & 0X07] |
+ ip_rss_types_map[pkt_info & 0XF];
+ else
+ return ip_rss_types_map[pkt_info & 0XF];
+#else
+ return ip_rss_types_map[pkt_info & 0XF];
+#endif
+}
+#else /* RTE_UNIFIED_PKT_TYPE */
static inline uint64_t
rx_desc_hlen_type_rss_to_pkt_flags(uint32_t hl_tp_rs)
{
@@ -890,6 +994,7 @@ rx_desc_hlen_type_rss_to_pkt_flags(uint32_t hl_tp_rs)
#endif
return pkt_flags | ip_rss_types_map[hl_tp_rs & 0xF];
}
+#endif /* RTE_UNIFIED_PKT_TYPE */
static inline uint64_t
rx_desc_status_to_pkt_flags(uint32_t rx_status)
@@ -945,7 +1050,13 @@ ixgbe_rx_scan_hw_ring(struct ixgbe_rx_queue *rxq)
struct rte_mbuf *mb;
uint16_t pkt_len;
uint64_t pkt_flags;
+#ifdef RTE_UNIFIED_PKT_TYPE
+ int nb_dd;
+ uint32_t s[LOOK_AHEAD];
+ uint16_t pkt_info[LOOK_AHEAD];
+#else
int s[LOOK_AHEAD], nb_dd;
+#endif /* RTE_UNIFIED_PKT_TYPE */
int i, j, nb_rx = 0;
@@ -968,6 +1079,12 @@ ixgbe_rx_scan_hw_ring(struct ixgbe_rx_queue *rxq)
for (j = LOOK_AHEAD-1; j >= 0; --j)
s[j] = rxdp[j].wb.upper.status_error;
+#ifdef RTE_UNIFIED_PKT_TYPE
+ for (j = LOOK_AHEAD-1; j >= 0; --j)
+ pkt_info[j] = rxdp[j].wb.lower.lo_dword.
+ hs_rss.pkt_info;
+#endif /* RTE_UNIFIED_PKT_TYPE */
+
/* Compute how many status bits were set */
nb_dd = 0;
for (j = 0; j < LOOK_AHEAD; ++j)
@@ -985,12 +1102,22 @@ ixgbe_rx_scan_hw_ring(struct ixgbe_rx_queue *rxq)
mb->vlan_tci = rte_le_to_cpu_16(rxdp[j].wb.upper.vlan);
/* convert descriptor fields to rte mbuf flags */
+#ifdef RTE_UNIFIED_PKT_TYPE
+ pkt_flags = rx_desc_status_to_pkt_flags(s[j]);
+ pkt_flags |= rx_desc_error_to_pkt_flags(s[j]);
+ pkt_flags |=
+ ixgbe_rxd_pkt_info_to_pkt_flags(pkt_info[j]);
+ mb->ol_flags = pkt_flags;
+ mb->packet_type =
+ ixgbe_rxd_pkt_info_to_pkt_type(pkt_info[j]);
+#else /* RTE_UNIFIED_PKT_TYPE */
pkt_flags = rx_desc_hlen_type_rss_to_pkt_flags(
rxdp[j].wb.lower.lo_dword.data);
/* reuse status field from scan list */
pkt_flags |= rx_desc_status_to_pkt_flags(s[j]);
pkt_flags |= rx_desc_error_to_pkt_flags(s[j]);
mb->ol_flags = pkt_flags;
+#endif /* RTE_UNIFIED_PKT_TYPE */
if (likely(pkt_flags & PKT_RX_RSS_HASH))
mb->hash.rss = rxdp[j].wb.lower.hi_dword.rss;
@@ -1207,7 +1334,11 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
union ixgbe_adv_rx_desc rxd;
uint64_t dma_addr;
uint32_t staterr;
+#ifdef RTE_UNIFIED_PKT_TYPE
+ uint32_t pkt_info;
+#else
uint32_t hlen_type_rss;
+#endif
uint16_t pkt_len;
uint16_t rx_id;
uint16_t nb_rx;
@@ -1325,6 +1456,19 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
rxm->data_len = pkt_len;
rxm->port = rxq->port_id;
+#ifdef RTE_UNIFIED_PKT_TYPE
+ pkt_info = rte_le_to_cpu_32(rxd.wb.lower.lo_dword.hs_rss.
+ pkt_info);
+ /* Only valid if PKT_RX_VLAN_PKT set in pkt_flags */
+ rxm->vlan_tci = rte_le_to_cpu_16(rxd.wb.upper.vlan);
+
+ pkt_flags = rx_desc_status_to_pkt_flags(staterr);
+ pkt_flags = pkt_flags | rx_desc_error_to_pkt_flags(staterr);
+ pkt_flags = pkt_flags |
+ ixgbe_rxd_pkt_info_to_pkt_flags(pkt_info);
+ rxm->ol_flags = pkt_flags;
+ rxm->packet_type = ixgbe_rxd_pkt_info_to_pkt_type(pkt_info);
+#else /* RTE_UNIFIED_PKT_TYPE */
hlen_type_rss = rte_le_to_cpu_32(rxd.wb.lower.lo_dword.data);
/* Only valid if PKT_RX_VLAN_PKT set in pkt_flags */
rxm->vlan_tci = rte_le_to_cpu_16(rxd.wb.upper.vlan);
@@ -1333,6 +1477,7 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
pkt_flags = pkt_flags | rx_desc_status_to_pkt_flags(staterr);
pkt_flags = pkt_flags | rx_desc_error_to_pkt_flags(staterr);
rxm->ol_flags = pkt_flags;
+#endif /* RTE_UNIFIED_PKT_TYPE */
if (likely(pkt_flags & PKT_RX_RSS_HASH))
rxm->hash.rss = rxd.wb.lower.hi_dword.rss;
@@ -1406,6 +1551,23 @@ ixgbe_fill_cluster_head_buf(
uint8_t port_id,
uint32_t staterr)
{
+#ifdef RTE_UNIFIED_PKT_TYPE
+ uint16_t pkt_info;
+ uint64_t pkt_flags;
+
+ head->port = port_id;
+
+ /* The vlan_tci field is only valid when PKT_RX_VLAN_PKT is
+ * set in the pkt_flags field.
+ */
+ head->vlan_tci = rte_le_to_cpu_16(desc->wb.upper.vlan);
+ pkt_info = rte_le_to_cpu_32(desc->wb.lower.lo_dword.hs_rss.pkt_info);
+ pkt_flags = rx_desc_status_to_pkt_flags(staterr);
+ pkt_flags |= rx_desc_error_to_pkt_flags(staterr);
+ pkt_flags |= ixgbe_rxd_pkt_info_to_pkt_flags(pkt_info);
+ head->ol_flags = pkt_flags;
+ head->packet_type = ixgbe_rxd_pkt_info_to_pkt_type(pkt_info);
+#else /* RTE_UNIFIED_PKT_TYPE */
uint32_t hlen_type_rss;
uint64_t pkt_flags;
@@ -1421,6 +1583,7 @@ ixgbe_fill_cluster_head_buf(
pkt_flags |= rx_desc_status_to_pkt_flags(staterr);
pkt_flags |= rx_desc_error_to_pkt_flags(staterr);
head->ol_flags = pkt_flags;
+#endif /* RTE_UNIFIED_PKT_TYPE */
if (likely(pkt_flags & PKT_RX_RSS_HASH))
head->hash.rss = rte_le_to_cpu_32(desc->wb.lower.hi_dword.rss);
--
1.9.3
next prev parent reply other threads:[~2015-06-01 7:34 UTC|newest]
Thread overview: 257+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1421637666-16872-1-git-send-email-helin.zhang@intel.com>
2015-01-29 3:15 ` [dpdk-dev] [PATCH 00/17] " Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 01/17] mbuf: add definitions of unified packet types Helin Zhang
2015-01-30 13:56 ` Olivier MATZ
2015-02-02 1:43 ` Zhang, Helin
[not found] ` <54CF5CF8.2090605@6wind.com>
2015-02-03 3:18 ` Zhang, Helin
2015-02-03 6:37 ` Zhang, Helin
2015-02-03 9:12 ` Olivier MATZ
2015-01-29 3:15 ` [dpdk-dev] [PATCH 02/17] e1000: support of unified packet type Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 03/17] ixgbe: " Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 04/17] " Helin Zhang
2015-01-29 23:30 ` Bruce Richardson
2015-01-29 23:52 ` Liang, Cunming
2015-01-30 3:39 ` Bruce Richardson
2015-01-30 6:09 ` Zhang, Helin
2015-01-29 3:15 ` [dpdk-dev] [PATCH 05/17] i40e: " Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 06/17] bond: " Helin Zhang
2015-02-11 15:01 ` Declan Doherty
2015-02-13 0:36 ` Zhang, Helin
2015-01-29 3:15 ` [dpdk-dev] [PATCH 07/17] enic: " Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 08/17] vmxnet3: " Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 09/17] app/test-pipeline: " Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 10/17] app/test-pmd: " Helin Zhang
2015-01-29 3:15 ` [dpdk-dev] [PATCH 11/17] app/test: " Helin Zhang
2015-01-29 3:16 ` [dpdk-dev] [PATCH 12/17] examples/ip_fragmentation: " Helin Zhang
2015-01-29 3:16 ` [dpdk-dev] [PATCH 13/17] examples/ip_reassembly: " Helin Zhang
2015-01-29 3:16 ` [dpdk-dev] [PATCH 14/17] examples/l3fwd-acl: " Helin Zhang
2015-01-29 3:16 ` [dpdk-dev] [PATCH 15/17] examples/l3fwd-power: " Helin Zhang
2015-01-29 3:16 ` [dpdk-dev] [PATCH 16/17] examples/l3fwd: " Helin Zhang
2015-01-29 3:16 ` [dpdk-dev] [PATCH 17/17] mbuf: remove old packet type bit masks for ol_flags Helin Zhang
2015-01-30 13:37 ` Olivier MATZ
2015-02-02 1:53 ` Zhang, Helin
2015-01-30 13:31 ` [dpdk-dev] [PATCH 00/17] unified packet type Olivier MATZ
2015-02-02 2:44 ` Zhang, Helin
[not found] ` <54CF617B.5010009@6wind.com>
[not found] ` <2601191342CEEE43887BDE71AB977258213E28EC@irsmsx105.ger.corp.intel.com>
2015-02-03 3:25 ` Zhang, Helin
2015-02-03 8:55 ` Olivier MATZ
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 00/15] " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 01/15] mbuf: add definitions of unified packet types Helin Zhang
2015-02-09 10:27 ` Bruce Richardson
2015-02-10 0:53 ` Zhang, Helin
2015-02-10 10:12 ` Bruce Richardson
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 02/15] e1000: support of unified packet type Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 03/15] ixgbe: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 04/15] ixgbe: support of unified packet type for vector Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 05/15] i40e: support of unified packet type Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 06/15] enic: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 07/15] vmxnet3: " Helin Zhang
2015-02-11 1:46 ` Yong Wang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 08/15] app/test-pipeline: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 09/15] app/test: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 10/15] examples/ip_fragmentation: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 11/15] examples/ip_reassembly: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 12/15] examples/l3fwd-acl: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 13/15] examples/l3fwd-power: " Helin Zhang
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 14/15] examples/l3fwd: " Helin Zhang
2015-02-16 17:04 ` Ananyev, Konstantin
2015-02-17 2:57 ` Zhang, Helin
2015-02-09 6:40 ` [dpdk-dev] [PATCH v2 15/15] mbuf: remove old packet type bit masks Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 00/16] unified packet type Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 01/16] mbuf: redefinition of packet_type in rte_mbuf Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 02/16] ixgbe: support of unified packet type for vector Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 03/16] mbuf: add definitions of unified packet types Helin Zhang
2015-02-17 9:01 ` Olivier MATZ
2015-02-20 14:26 ` Zhang, Helin
2015-02-24 9:09 ` Olivier MATZ
2015-02-24 13:38 ` Zhang, Helin
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 04/16] e1000: support of unified packet type Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 05/16] ixgbe: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 06/16] i40e: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 07/16] enic: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 08/16] vmxnet3: " Helin Zhang
2015-02-27 11:25 ` Thomas Monjalon
2015-02-27 12:26 ` Zhang, Helin
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 09/16] app/test-pipeline: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 10/16] app/testpmd: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 11/16] examples/ip_fragmentation: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 12/16] examples/ip_reassembly: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 13/16] examples/l3fwd-acl: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 14/16] examples/l3fwd-power: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 15/16] examples/l3fwd: " Helin Zhang
2015-02-17 6:59 ` [dpdk-dev] [PATCH v3 16/16] mbuf: remove old packet type bit masks Helin Zhang
2015-02-17 7:03 ` [dpdk-dev] [PATCH v3 00/16] unified packet type Liang, Cunming
2015-02-17 9:46 ` Ananyev, Konstantin
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 00/18] " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 01/18] mbuf: redefinition of packet_type in rte_mbuf Helin Zhang
2015-03-02 11:47 ` Chilikin, Andrey
2015-03-04 8:34 ` Zhang, Helin
2015-03-04 10:58 ` Chilikin, Andrey
2015-03-05 0:55 ` Zhang, Helin
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 02/18] ixgbe: support of unified packet type for vector Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 03/18] mbuf: add definitions of unified packet types Helin Zhang
2015-02-27 15:02 ` Olivier MATZ
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 04/18] e1000: support of unified packet type Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 05/18] ixgbe: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 06/18] i40e: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 07/18] enic: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 08/18] vmxnet3: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 09/18] fm10k: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 10/18] app/test-pipeline: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 11/18] app/testpmd: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 12/18] app/test: Remove useless code Helin Zhang
2015-02-27 16:01 ` Gajdzica, MaciejX T
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 13/18] examples/ip_fragmentation: support of unified packet type Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 14/18] examples/ip_reassembly: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 15/18] examples/l3fwd-acl: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 16/18] examples/l3fwd-power: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 17/18] examples/l3fwd: " Helin Zhang
2015-02-27 13:11 ` [dpdk-dev] [PATCH v4 18/18] mbuf: remove old packet type bit masks Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 00/18] unified packet type Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 01/18] mbuf: redefine packet_type in rte_mbuf Helin Zhang
2015-05-22 10:09 ` Neil Horman
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 02/18] ixgbe: support unified packet type in vectorized PMD Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 03/18] mbuf: add definitions of unified packet types Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 04/18] e1000: replace bit mask based packet type with unified packet type Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 05/18] ixgbe: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 06/18] i40e: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 07/18] enic: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 08/18] vmxnet3: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 09/18] fm10k: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 10/18] app/test-pipeline: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 11/18] app/testpmd: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 12/18] app/test: Remove useless code Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 13/18] examples/ip_fragmentation: replace bit mask based packet type with unified packet type Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 14/18] examples/ip_reassembly: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 15/18] examples/l3fwd-acl: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 16/18] examples/l3fwd-power: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 17/18] examples/l3fwd: " Helin Zhang
2015-05-22 8:44 ` [dpdk-dev] [PATCH v5 18/18] mbuf: remove old packet type bit masks Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 00/18] unified packet type Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 01/18] mbuf: redefine packet_type in rte_mbuf Helin Zhang
2015-06-01 8:14 ` Olivier MATZ
2015-06-02 13:27 ` O'Driscoll, Tim
2015-06-10 14:32 ` Olivier MATZ
2015-06-10 14:51 ` Zhang, Helin
2015-06-10 15:39 ` Ananyev, Konstantin
2015-06-12 3:22 ` Zhang, Helin
2015-06-10 16:14 ` Thomas Monjalon
2015-06-12 7:24 ` Panu Matilainen
2015-06-12 7:43 ` Zhang, Helin
2015-06-12 8:15 ` Panu Matilainen
2015-06-12 8:28 ` Zhang, Helin
2015-06-12 9:00 ` Panu Matilainen
2015-06-12 9:07 ` Bruce Richardson
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 02/18] ixgbe: support unified packet type in vectorized PMD Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 03/18] mbuf: add definitions of unified packet types Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 04/18] e1000: replace bit mask based packet type with unified packet type Helin Zhang
2015-06-01 7:33 ` Helin Zhang [this message]
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 06/18] i40e: " Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 07/18] enic: " Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 08/18] vmxnet3: " Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 09/18] fm10k: " Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 10/18] app/test-pipeline: " Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 11/18] app/testpmd: " Helin Zhang
2015-06-01 7:33 ` [dpdk-dev] [PATCH v6 12/18] app/test: Remove useless code Helin Zhang
2015-06-01 7:34 ` [dpdk-dev] [PATCH v6 13/18] examples/ip_fragmentation: replace bit mask based packet type with unified packet type Helin Zhang
2015-06-01 7:34 ` [dpdk-dev] [PATCH v6 14/18] examples/ip_reassembly: " Helin Zhang
2015-06-01 7:34 ` [dpdk-dev] [PATCH v6 15/18] examples/l3fwd-acl: " Helin Zhang
2015-06-01 7:34 ` [dpdk-dev] [PATCH v6 16/18] examples/l3fwd-power: " Helin Zhang
2015-06-01 7:34 ` [dpdk-dev] [PATCH v6 17/18] examples/l3fwd: " Helin Zhang
2015-06-01 7:34 ` [dpdk-dev] [PATCH v6 18/18] mbuf: remove old packet type bit masks Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 00/18] unified packet type Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 01/18] mbuf: redefine packet_type in rte_mbuf Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 02/18] ixgbe: support unified packet type in vectorized PMD Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 03/18] mbuf: add definitions of unified packet types Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 04/18] e1000: replace bit mask based packet type with unified packet type Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 05/18] ixgbe: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 06/18] i40e: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 07/18] enic: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 08/18] vmxnet3: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 09/18] fm10k: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 10/18] app/test-pipeline: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 11/18] app/testpmd: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 12/18] app/test: Remove useless code Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 13/18] examples/ip_fragmentation: replace bit mask based packet type with unified packet type Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 14/18] examples/ip_reassembly: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 15/18] examples/l3fwd-acl: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 16/18] examples/l3fwd-power: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 17/18] examples/l3fwd: " Helin Zhang
2015-06-19 8:14 ` [dpdk-dev] [PATCH v7 18/18] mbuf: remove old packet type bit masks Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 00/18] unified packet type Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 01/18] mbuf: redefine packet_type in rte_mbuf Helin Zhang
2015-07-02 9:03 ` Thomas Monjalon
2015-07-03 1:11 ` Zhang, Helin
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 02/18] ixgbe: support unified packet type in vectorized PMD Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 03/18] mbuf: add definitions of unified packet types Helin Zhang
2015-06-30 8:43 ` Olivier MATZ
2015-07-02 1:30 ` Zhang, Helin
2015-07-02 9:31 ` Olivier MATZ
2015-07-03 1:30 ` Zhang, Helin
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 04/18] e1000: replace bit mask based packet type with unified packet type Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 05/18] ixgbe: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 06/18] i40e: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 07/18] enic: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 08/18] vmxnet3: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 09/18] fm10k: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 10/18] app/test-pipeline: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 11/18] app/testpmd: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 12/18] app/test: Remove useless code Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 13/18] examples/ip_fragmentation: replace bit mask based packet type with unified packet type Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 14/18] examples/ip_reassembly: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 15/18] examples/l3fwd-acl: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 16/18] examples/l3fwd-power: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 17/18] examples/l3fwd: " Helin Zhang
2015-06-23 1:50 ` [dpdk-dev] [PATCH v8 18/18] mbuf: remove old packet type bit masks Helin Zhang
2015-06-23 16:13 ` [dpdk-dev] [PATCH v8 00/18] unified packet type Ananyev, Konstantin
2015-07-02 8:45 ` Liu, Yong
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 00/19] " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 01/19] mbuf: redefine packet_type in rte_mbuf Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 02/19] mbuf: add definitions of unified packet types Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 03/19] e1000: replace bit mask based packet type with unified packet type Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 04/19] ixgbe: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 05/19] i40e: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 06/19] enic: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 07/19] vmxnet3: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 08/19] fm10k: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 09/19] cxgbe: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 10/19] app/test-pipeline: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 11/19] app/testpmd: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 12/19] app/test: Remove useless code Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 13/19] examples/ip_fragmentation: replace bit mask based packet type with unified packet type Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 14/19] examples/ip_reassembly: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 15/19] examples/l3fwd-acl: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 16/19] examples/l3fwd-power: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 17/19] examples/l3fwd: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 18/19] examples/tep_termination: " Helin Zhang
2015-07-03 8:32 ` [dpdk-dev] [PATCH v9 19/19] mbuf: remove old packet type bit masks Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 00/19] unified packet type Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 01/19] mbuf: redefine packet_type in rte_mbuf Helin Zhang
2015-07-13 15:53 ` Thomas Monjalon
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 02/19] mbuf: add definitions of unified packet types Helin Zhang
2015-07-15 10:19 ` Olivier MATZ
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 03/19] e1000: replace bit mask based packet type with unified packet type Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 04/19] ixgbe: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 05/19] i40e: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 06/19] enic: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 07/19] vmxnet3: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 08/19] fm10k: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 09/19] cxgbe: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 10/19] app/test-pipeline: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 11/19] app/testpmd: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 12/19] app/test: Remove useless code Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 13/19] examples/ip_fragmentation: replace bit mask based packet type with unified packet type Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 14/19] examples/ip_reassembly: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 15/19] examples/l3fwd-acl: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 16/19] examples/l3fwd-power: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 17/19] examples/l3fwd: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 18/19] examples/tep_termination: " Helin Zhang
2015-07-09 16:31 ` [dpdk-dev] [PATCH v10 19/19] mbuf: remove old packet type bit masks Helin Zhang
2015-07-13 16:13 ` Thomas Monjalon
2015-07-13 16:25 ` Zhang, Helin
2015-07-13 16:27 ` Thomas Monjalon
2015-07-13 16:32 ` Zhang, Helin
2015-07-13 17:58 ` Zhang, Helin
2015-07-15 17:32 ` [dpdk-dev] [PATCH] mlx4: replace some offload flags with packet type Thomas Monjalon
2015-07-15 18:06 ` Zhang, Helin
2015-07-15 23:05 ` Thomas Monjalon
2015-07-15 23:00 ` [dpdk-dev] [PATCH v10 00/19] unified " Thomas Monjalon
2015-07-15 23:51 ` Zhang, Helin
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=1433144045-30847-6-git-send-email-helin.zhang@intel.com \
--to=helin.zhang@intel.com \
--cc=dev@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).