DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jianfeng Tan <jianfeng.tan@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 12/12] examples/l3fwd: add option to parse ptype
Date: Thu, 31 Dec 2015 14:53:19 +0800	[thread overview]
Message-ID: <1451544799-70776-13-git-send-email-jianfeng.tan@intel.com> (raw)
In-Reply-To: <1451544799-70776-1-git-send-email-jianfeng.tan@intel.com>

Firstly, use rte_eth_dev_get_ptype_info() API to check if device will
parse needed packet type. If not, specifying the newly added option,
--parse-ptype to do it in the callback softly.

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
---
 examples/l3fwd/main.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 5b0c2dd..ccbdce3 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -174,6 +174,7 @@ static __m128i val_eth[RTE_MAX_ETHPORTS];
 static uint32_t enabled_port_mask = 0;
 static int promiscuous_on = 0; /**< Ports set in promiscuous mode off by default. */
 static int numa_on = 1; /**< NUMA is enabled by default. */
+static int parse_ptype = 0; /**< parse packet type using rx callback */
 
 #if (APP_LOOKUP_METHOD == APP_LOOKUP_EXACT_MATCH)
 static int ipv6 = 0; /**< ipv6 is false by default. */
@@ -2022,6 +2023,7 @@ parse_eth_dest(const char *optarg)
 #define CMD_LINE_OPT_IPV6 "ipv6"
 #define CMD_LINE_OPT_ENABLE_JUMBO "enable-jumbo"
 #define CMD_LINE_OPT_HASH_ENTRY_NUM "hash-entry-num"
+#define CMD_LINE_OPT_PARSE_PTYPE "parse-ptype"
 
 /* Parse the argument given in the command line of the application */
 static int
@@ -2038,6 +2040,7 @@ parse_args(int argc, char **argv)
 		{CMD_LINE_OPT_IPV6, 0, 0, 0},
 		{CMD_LINE_OPT_ENABLE_JUMBO, 0, 0, 0},
 		{CMD_LINE_OPT_HASH_ENTRY_NUM, 1, 0, 0},
+		{CMD_LINE_OPT_PARSE_PTYPE, 0, 0, 0},
 		{NULL, 0, 0, 0}
 	};
 
@@ -2125,6 +2128,12 @@ parse_args(int argc, char **argv)
 				}
 			}
 #endif
+			if (!strncmp(lgopts[option_index].name, CMD_LINE_OPT_PARSE_PTYPE,
+				sizeof(CMD_LINE_OPT_PARSE_PTYPE))) {
+				printf("soft parse-ptype is enabled \n");
+				parse_ptype = 1;
+			}
+
 			break;
 
 		default:
@@ -2559,6 +2568,75 @@ check_all_ports_link_status(uint8_t port_num, uint32_t port_mask)
 	}
 }
 
+static int
+check_packet_type_ok(int portid)
+{
+	int i;
+	int ret;
+	uint32_t ptypes[RTE_PTYPE_L3_MAX_NUM];
+	int ptype_l3_ipv4 = 0, ptype_l3_ipv6 = 0;
+
+	ret = rte_eth_dev_get_ptype_info(portid, RTE_PTYPE_L3_MASK, ptypes);
+	for (i = 0; i < ret; ++i) {
+		if (ptypes[i] & RTE_PTYPE_L3_IPV4)
+			ptype_l3_ipv4 = 1;
+		if (ptypes[i] & RTE_PTYPE_L3_IPV6)
+			ptype_l3_ipv6 = 1;
+	}
+
+	if (ptype_l3_ipv4 == 0)
+		printf("port %d cannot parse RTE_PTYPE_L3_IPV4\n", portid);
+
+	if (ptype_l3_ipv6 == 0)
+		printf("port %d cannot parse RTE_PTYPE_L3_IPV6\n", portid);
+
+	if (ptype_l3_ipv4 || ptype_l3_ipv6)
+		return 1;
+
+	return 0;
+}
+static inline void
+parse_packet_type(struct rte_mbuf *m)
+{
+	struct ether_hdr *eth_hdr;
+	struct vlan_hdr *vlan_hdr;
+	uint32_t packet_type = 0;
+	uint16_t ethertype;
+
+	eth_hdr = rte_pktmbuf_mtod(m, struct ether_hdr *);
+	ethertype = rte_be_to_cpu_16(eth_hdr->ether_type);
+	if (ethertype == ETHER_TYPE_VLAN) {
+		vlan_hdr = (struct vlan_hdr *)(eth_hdr + 1);
+		ethertype = rte_be_to_cpu_16(vlan_hdr->eth_proto);
+	}
+	switch (ethertype) {
+	case ETHER_TYPE_IPv4:
+		packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
+		break;
+	case ETHER_TYPE_IPv6:
+		packet_type |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN;
+		break;
+	default:
+		break;
+	}
+
+	m->packet_type = packet_type;
+}
+
+static uint16_t
+cb_parse_packet_type(uint8_t port __rte_unused,
+		uint16_t queue __rte_unused,
+		struct rte_mbuf *pkts[],
+		uint16_t nb_pkts,
+		uint16_t max_pkts __rte_unused,
+		void *user_param __rte_unused)
+{
+	unsigned i;
+
+	for (i = 0; i < nb_pkts; ++i)
+		parse_packet_type(pkts[i]);
+}
+
 int
 main(int argc, char **argv)
 {
@@ -2672,6 +2750,11 @@ main(int argc, char **argv)
 				rte_exit(EXIT_FAILURE, "rte_eth_tx_queue_setup: err=%d, "
 					"port=%d\n", ret, portid);
 
+			if (!check_packet_type_ok(portid) && !parse_ptype)
+				rte_exit(EXIT_FAILURE,
+						"port %d cannot parse packet type, please add --%s\n",
+						portid, CMD_LINE_OPT_PARSE_PTYPE);
+
 			qconf = &lcore_conf[lcore_id];
 			qconf->tx_queue_id[portid] = queueid;
 			queueid++;
@@ -2705,6 +2788,9 @@ main(int argc, char **argv)
 			if (ret < 0)
 				rte_exit(EXIT_FAILURE, "rte_eth_rx_queue_setup: err=%d,"
 						"port=%d\n", ret, portid);
+			if (parse_ptype)
+				rte_eth_add_rx_callback(portid, queueid,
+						cb_parse_packet_type, NULL);
 		}
 	}
 
-- 
2.1.4

  parent reply	other threads:[~2015-12-31 13:53 UTC|newest]

Thread overview: 202+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-31  6:53 [dpdk-dev] [PATCH 00/12] Add API to get packet type info Jianfeng Tan
2015-12-31  6:53 ` [dpdk-dev] [PATCH 01/12] ethdev: add API to query what/if packet type is set Jianfeng Tan
2016-01-04 11:38   ` Adrien Mazarguil
2016-01-04 14:36     ` Ananyev, Konstantin
2016-01-05 16:14       ` Nélio Laranjeiro
2016-01-05 16:50         ` Ananyev, Konstantin
2016-01-06 10:00           ` Adrien Mazarguil
2016-01-06 14:29             ` Ananyev, Konstantin
2016-01-06 15:44               ` Adrien Mazarguil
2016-01-06 16:44                 ` Ananyev, Konstantin
2016-01-06 17:22                   ` Adrien Mazarguil
2016-01-07 10:24                     ` Ananyev, Konstantin
2016-01-07 13:32                       ` Adrien Mazarguil
2016-01-11  7:39                         ` Tan, Jianfeng
2016-01-11 10:26                           ` Ananyev, Konstantin
2015-12-31  6:53 ` [dpdk-dev] [PATCH 02/12] pmd/cxgbe: add dev_ptype_info_get implementation Jianfeng Tan
2016-01-06  7:11   ` Rahul Lakkireddy
2016-01-06  8:23     ` Tan, Jianfeng
2015-12-31  6:53 ` [dpdk-dev] [PATCH 03/12] pmd/e1000: " Jianfeng Tan
2015-12-31  6:53 ` [dpdk-dev] [PATCH 04/12] pmd/enic: " Jianfeng Tan
2015-12-31  6:53 ` [dpdk-dev] [PATCH 05/12] pmd/fm10k: " Jianfeng Tan
2015-12-31  6:53 ` [dpdk-dev] [PATCH 06/12] pmd/i40e: " Jianfeng Tan
2015-12-31  6:53 ` [dpdk-dev] [PATCH 07/12] pmd/ixgbe: " Jianfeng Tan
2016-01-04 18:12   ` Ananyev, Konstantin
2016-01-05  1:25     ` Tan, Jianfeng
2015-12-31  6:53 ` [dpdk-dev] [PATCH 08/12] pmd/mlx4: " Jianfeng Tan
2016-01-04 11:11   ` Adrien Mazarguil
2016-01-05  3:08     ` Tan, Jianfeng
2016-01-05 16:18       ` Adrien Mazarguil
2016-01-11  5:07         ` Tan, Jianfeng
2015-12-31  6:53 ` [dpdk-dev] [PATCH 09/12] pmd/mlx5: " Jianfeng Tan
2015-12-31  6:53 ` [dpdk-dev] [PATCH 10/12] pmd/nfp: " Jianfeng Tan
2015-12-31  6:53 ` [dpdk-dev] [PATCH 11/12] pmd/vmxnet3: " Jianfeng Tan
2015-12-31  6:53 ` Jianfeng Tan [this message]
2016-01-04 18:32   ` [dpdk-dev] [PATCH 12/12] examples/l3fwd: add option to parse ptype Ananyev, Konstantin
2016-01-05  2:44     ` Tan, Jianfeng
2016-01-05 16:49       ` Ananyev, Konstantin
2016-01-07  1:20         ` Tan, Jianfeng
2016-01-07  9:44           ` Ananyev, Konstantin
2016-01-13  1:52 ` [dpdk-dev] [PATCH 00/12] Add API to get packet type info Qiu, Michael
2016-01-15  5:45 ` [dpdk-dev] [PATCH v2 " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 01/12] ethdev: add API to query packet type filling info Jianfeng Tan
2016-01-15 13:58     ` Adrien Mazarguil
2016-01-15 15:11       ` Ananyev, Konstantin
2016-01-15 15:33         ` Adrien Mazarguil
2016-01-15 15:03     ` Ananyev, Konstantin
2016-02-25  6:53       ` Tan, Jianfeng
2016-02-25 11:17         ` Ananyev, Konstantin
2016-02-25 14:57           ` Tan, Jianfeng
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 02/12] pmd/cxgbe: add dev_ptype_info_get implementation Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 03/12] pmd/e1000: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 04/12] pmd/enic: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 05/12] pmd/fm10k: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 06/12] pmd/i40e: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 07/12] pmd/ixgbe: " Jianfeng Tan
2016-01-15 14:50     ` Ananyev, Konstantin
2016-02-25  6:43       ` Tan, Jianfeng
2016-02-25 11:10         ` Ananyev, Konstantin
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 08/12] pmd/mlx4: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 09/12] pmd/mlx5: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 10/12] pmd/nfp: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 11/12] pmd/vmxnet3: " Jianfeng Tan
2016-01-15  5:45   ` [dpdk-dev] [PATCH v2 12/12] examples/l3fwd: add option to parse ptype Jianfeng Tan
2016-01-15 14:47     ` Ananyev, Konstantin
2016-02-25 10:41       ` Tan, Jianfeng
2016-02-25 10:57         ` Ananyev, Konstantin
2016-02-23 17:31   ` [dpdk-dev] [PATCH v2 00/12] Add API to get packet type info Bruce Richardson
2016-02-25  7:53 ` [dpdk-dev] [PATCH v3 " Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 01/12] ethdev: add API to query packet type filling info Jianfeng Tan
2016-02-25 15:46     ` Ananyev, Konstantin
2016-02-25 16:36       ` Tan, Jianfeng
2016-02-25 17:16         ` Ananyev, Konstantin
2016-02-26  1:42           ` Tan, Jianfeng
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 02/12] pmd/cxgbe: add dev_ptype_info_get implementation Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 03/12] pmd/e1000: " Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 04/12] pmd/enic: " Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 05/12] pmd/fm10k: " Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 06/12] pmd/i40e: " Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 07/12] pmd/ixgbe: " Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 08/12] pmd/mlx4: " Jianfeng Tan
2016-02-25  7:53   ` [dpdk-dev] [PATCH v3 09/12] pmd/mlx5: " Jianfeng Tan
2016-02-25  7:54   ` [dpdk-dev] [PATCH v3 10/12] pmd/nfp: " Jianfeng Tan
2016-02-25  7:54   ` [dpdk-dev] [PATCH v3 11/12] pmd/vmxnet3: " Jianfeng Tan
2016-02-25  7:54   ` [dpdk-dev] [PATCH v3 12/12] examples/l3fwd: add option to parse ptype Jianfeng Tan
2016-02-26  0:04 ` [dpdk-dev] [PATCH v4 00/12] Add API to get packet type info Jianfeng Tan
2016-02-26  0:04   ` [dpdk-dev] [PATCH v4 01/12] ethdev: add API to query packet type filling info Jianfeng Tan
2016-02-26  0:09 ` [dpdk-dev] [PATCH v4 00/12] Add API to get packet type info Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 01/12] ethdev: add API to query packet type filling info Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 02/12] pmd/cxgbe: add dev_ptype_info_get implementation Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 03/12] pmd/e1000: " Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 04/12] pmd/enic: " Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 05/12] pmd/fm10k: " Jianfeng Tan
2016-03-02 20:11     ` Chen, Jing D
2016-03-03  6:03       ` Tan, Jianfeng
2016-03-03 15:47         ` Ananyev, Konstantin
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 06/12] pmd/i40e: " Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 07/12] pmd/ixgbe: " Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 08/12] pmd/mlx4: " Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 09/12] pmd/mlx5: " Jianfeng Tan
2016-02-26  8:26     ` Adrien Mazarguil
2016-02-26  8:36       ` Tan, Jianfeng
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 10/12] pmd/nfp: " Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 11/12] pmd/vmxnet3: " Jianfeng Tan
2016-02-26  0:09   ` [dpdk-dev] [PATCH v4 12/12] examples/l3fwd: add option to parse ptype Jianfeng Tan
2016-02-26 13:14     ` Ananyev, Konstantin
2016-02-26 14:21       ` Tan, Jianfeng
2016-02-26 14:27         ` Ananyev, Konstantin
2016-02-26  7:34 ` [dpdk-dev] [PATCH v5 00/11] Add API to get packet type info Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 01/11] ethdev: add API to query packet type filling info Jianfeng Tan
2016-02-29 11:34     ` Panu Matilainen
2016-02-29 16:41       ` Tan, Jianfeng
2016-03-01  6:29         ` Panu Matilainen
2016-03-01  7:59           ` Thomas Monjalon
2016-03-01  8:00           ` Tan, Jianfeng
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 02/11] pmd/cxgbe: add dev_ptype_info_get implementation Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 03/11] pmd/e1000: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 04/11] pmd/enic: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 05/11] pmd/fm10k: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 06/11] pmd/i40e: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 07/11] pmd/ixgbe: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 08/11] pmd/mlx4: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 09/11] pmd/mlx5: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 10/11] pmd/nfp: " Jianfeng Tan
2016-02-26  7:34   ` [dpdk-dev] [PATCH v5 11/11] pmd/vmxnet3: " Jianfeng Tan
2016-02-29 16:54   ` [dpdk-dev] [PATCH v5 00/11] Add API to get packet type info Ananyev, Konstantin
2016-02-29 17:01     ` Adrien Mazarguil
2016-02-29 20:30 ` [dpdk-dev] [PATCH v6 " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 01/11] ethdev: add API to query packet type filling info Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 02/11] pmd/cxgbe: add dev_ptype_info_get implementation Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 03/11] pmd/e1000: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 04/11] pmd/enic: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 05/11] pmd/fm10k: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 06/11] pmd/i40e: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 07/11] pmd/ixgbe: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 08/11] pmd/mlx4: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 09/11] pmd/mlx5: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 10/11] pmd/nfp: " Jianfeng Tan
2016-02-29 20:30   ` [dpdk-dev] [PATCH v6 11/11] pmd/vmxnet3: " Jianfeng Tan
2016-03-01  1:23 ` [dpdk-dev] [PATCH] examples/l3fwd: fix using packet type blindly Jianfeng Tan
2016-03-01 13:51   ` Ananyev, Konstantin
2016-03-01 14:17     ` Tan, Jianfeng
2016-03-01 14:30       ` Ananyev, Konstantin
2016-03-04  8:38   ` [dpdk-dev] [PATCH v2] " Jianfeng Tan
2016-03-07 18:51     ` Ananyev, Konstantin
2016-03-08 17:11       ` Tan, Jianfeng
2016-03-10  5:50   ` [dpdk-dev] [PATCH v3 0/2] " Jianfeng Tan
2016-03-10  5:50     ` [dpdk-dev] [PATCH v3 1/2] " Jianfeng Tan
2016-03-10  5:50     ` [dpdk-dev] [PATCH v3 2/2] config: enable vector driver by default Jianfeng Tan
2016-03-10 14:26     ` [dpdk-dev] [PATCH v3 0/2] examples/l3fwd: fix using packet type blindly Ananyev, Konstantin
2016-03-25  0:47   ` [dpdk-dev] [PATCH v4 0/3] packet type Jianfeng Tan
2016-03-25  0:47     ` [dpdk-dev] [PATCH v4 1/3] ethdev: refine API to query supported packet types Jianfeng Tan
2016-03-25  3:15       ` [dpdk-dev] [PATCH 0/2] ethdev: refine new API to query supported ptypes Jianfeng Tan
2016-03-25  3:15         ` [dpdk-dev] [PATCH 1/2] " Jianfeng Tan
2016-03-25  3:15         ` [dpdk-dev] [PATCH 2/2] doc: update which PMDs can parse packet type Jianfeng Tan
2016-03-25 14:21           ` Bruce Richardson
2016-03-25 16:10             ` Tan, Jianfeng
2016-04-01 15:55               ` Thomas Monjalon
2016-03-25 10:57         ` [dpdk-dev] [PATCH 0/2] ethdev: refine new API to query supported ptypes Ananyev, Konstantin
2016-04-06  3:51         ` [dpdk-dev] [PATCH v2] " Jianfeng Tan
2016-04-06 14:32           ` Thomas Monjalon
2016-03-25 10:01       ` [dpdk-dev] [PATCH v4 1/3] ethdev: refine API to query supported packet types Tan, Jianfeng
2016-03-25 10:13       ` Bruce Richardson
2016-03-25  0:47     ` [dpdk-dev] [PATCH v4 2/3] examples/l3fwd: fix using packet type blindly Jianfeng Tan
2016-03-25 18:24       ` Thomas Monjalon
2016-03-25  0:47     ` [dpdk-dev] [PATCH v4 3/3] config: enable vector driver by default Jianfeng Tan
2016-03-25 18:34     ` [dpdk-dev] [PATCH v4 0/3] packet type Thomas Monjalon
2016-03-09 19:31 ` [dpdk-dev] [PATCH v7 00/11] Add API to get packet type info Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 01/11] ethdev: add API to query packet type filling info Jianfeng Tan
2016-03-10 14:28     ` Bruce Richardson
2016-03-14  9:44     ` Thomas Monjalon
2016-03-14  9:48       ` Bruce Richardson
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 02/11] pmd/cxgbe: add dev_ptype_info_get implementation Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 03/11] pmd/e1000: " Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 04/11] pmd/enic: " Jianfeng Tan
2016-03-10 14:50     ` Bruce Richardson
2016-03-10 14:51       ` Bruce Richardson
2016-03-10 18:23         ` Tan, Jianfeng
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 05/11] pmd/fm10k: " Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 06/11] pmd/i40e: " Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 07/11] pmd/ixgbe: " Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 08/11] pmd/mlx4: " Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 09/11] pmd/mlx5: " Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 10/11] pmd/nfp: " Jianfeng Tan
2016-03-09 19:31   ` [dpdk-dev] [PATCH v7 11/11] pmd/vmxnet3: " Jianfeng Tan
2016-03-10 14:55   ` [dpdk-dev] [PATCH v7 00/11] Add API to get packet type info Bruce Richardson
2016-03-14  7:42 ` [dpdk-dev] [PATCH v8 00/11] Add API to get supported packet types Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 01/11] ethdev: add API to query " Jianfeng Tan
2016-03-14 17:14     ` Ferruh Yigit
2016-03-14 20:50       ` [dpdk-dev] [PATCH v9 " Jianfeng Tan
2016-03-18  9:17         ` Tan, Jianfeng
2016-03-15  1:42       ` [dpdk-dev] [PATCH v8 " Tan, Jianfeng
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 02/11] cxgbe: add dev_supported_ptypes_get implementation Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 03/11] e1000: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 04/11] enic: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 05/11] fm10k: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 06/11] i40e: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 07/11] ixgbe: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 08/11] mlx4: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 09/11] mlx5: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 10/11] nfp: " Jianfeng Tan
2016-03-14  7:42   ` [dpdk-dev] [PATCH v8 11/11] vmxnet3: " Jianfeng Tan
2016-03-18 16:21   ` [dpdk-dev] [PATCH v8 00/11] Add API to get supported packet types Bruce Richardson

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=1451544799-70776-13-git-send-email-jianfeng.tan@intel.com \
    --to=jianfeng.tan@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).