DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data
@ 2015-09-11 13:35 roy.fan.zhang
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 1/4] librte_port: " roy.fan.zhang
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: roy.fan.zhang @ 2015-09-11 13:35 UTC (permalink / raw)
  To: dev

From: Fan Zhang <roy.fan.zhang@intel.com>

This patchset links to ABI change announced for librte_port. Macros to
access the packet meta-data stored within the packet buffer has been
adjusted to cover the packet mbuf structure.

Fan Zhang (4):
  librte_port: modify macros to access packet meta-data
  app/test: modify table and pipeline test
  app/test_pipeline: modify pipeline test
  librte_port: modify release notes and deprecation notice

 app/test-pipeline/main.h              |  2 ++
 app/test-pipeline/pipeline_hash.c     | 34 ++++++++++++++-------------
 app/test-pipeline/pipeline_lpm.c      |  2 +-
 app/test-pipeline/pipeline_lpm_ipv6.c |  2 +-
 app/test/test_table.h                 |  8 +++++--
 app/test/test_table_combined.c        | 28 +++++++++++-----------
 app/test/test_table_pipeline.c        |  3 ++-
 app/test/test_table_tables.c          | 44 ++++++++++++++++++-----------------
 doc/guides/rel_notes/deprecation.rst  |  5 ----
 doc/guides/rel_notes/release_2_2.rst  |  4 +++-
 lib/librte_port/Makefile              |  2 +-
 lib/librte_port/rte_port.h            |  2 +-
 12 files changed, 72 insertions(+), 64 deletions(-)

--
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH 1/4] librte_port: modify macros to access packet meta-data
  2015-09-11 13:35 [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data roy.fan.zhang
@ 2015-09-11 13:35 ` roy.fan.zhang
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test roy.fan.zhang
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: roy.fan.zhang @ 2015-09-11 13:35 UTC (permalink / raw)
  To: dev

From: Fan Zhang <roy.fan.zhang@intel.com>

This patch relates to ABI change proposed for librte_port. Macros to
access the packet meta-data stored within the packet buffer has been
adjusted to cover the packet mbuf structure.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 lib/librte_port/rte_port.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_port/rte_port.h b/lib/librte_port/rte_port.h
index 396c7e9..00b97a9 100644
--- a/lib/librte_port/rte_port.h
+++ b/lib/librte_port/rte_port.h
@@ -55,7 +55,7 @@ extern "C" {
  * just beyond the end of the mbuf data structure returned by a port
  */
 #define RTE_MBUF_METADATA_UINT8_PTR(mbuf, offset)          \
-	(&((uint8_t *) &(mbuf)[1])[offset])
+	(&((uint8_t *)(mbuf))[offset])
 #define RTE_MBUF_METADATA_UINT16_PTR(mbuf, offset)         \
 	((uint16_t *) RTE_MBUF_METADATA_UINT8_PTR(mbuf, offset))
 #define RTE_MBUF_METADATA_UINT32_PTR(mbuf, offset)         \
-- 
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test
  2015-09-11 13:35 [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data roy.fan.zhang
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 1/4] librte_port: " roy.fan.zhang
@ 2015-09-11 13:35 ` roy.fan.zhang
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 3/4] app/test_pipeline: modify " roy.fan.zhang
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: roy.fan.zhang @ 2015-09-11 13:35 UTC (permalink / raw)
  To: dev

From: Fan Zhang <roy.fan.zhang@intel.com>

Test_table has been modified to work on updated macros to access meta-data
stored in the mbuf structure.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 app/test/test_table.h          |  8 ++++++--
 app/test/test_table_combined.c | 28 +++++++++++++--------------
 app/test/test_table_pipeline.c |  3 ++-
 app/test/test_table_tables.c   | 44 ++++++++++++++++++++++--------------------
 4 files changed, 45 insertions(+), 38 deletions(-)

diff --git a/app/test/test_table.h b/app/test/test_table.h
index accc6f8..2077893 100644
--- a/app/test/test_table.h
+++ b/app/test/test_table.h
@@ -78,6 +78,8 @@
 #define MP_FLAGS            0
 
 /* Macros */
+#define APP_METADATA_OFFSET(offset) (sizeof(struct rte_mbuf) + (offset))
+
 #define RING_ENQUEUE(ring, value) do {					\
 	struct rte_mbuf *m;						\
 	uint32_t *k32, *signature;					\
@@ -86,8 +88,10 @@
 	m = rte_pktmbuf_alloc(pool);					\
 	if (m == NULL)							\
 		return -1;						\
-	signature = RTE_MBUF_METADATA_UINT32_PTR(m, 0);			\
-	key = RTE_MBUF_METADATA_UINT8_PTR(m, 32);			\
+	signature = RTE_MBUF_METADATA_UINT32_PTR(m,			\
+			APP_METADATA_OFFSET(0));		\
+	key = RTE_MBUF_METADATA_UINT8_PTR(m,			\
+			APP_METADATA_OFFSET(32));		\
 	k32 = (uint32_t *) key;						\
 	k32[0] = (value);						\
 	*signature = pipeline_test_hash(key, 0, 0);			\
diff --git a/app/test/test_table_combined.c b/app/test/test_table_combined.c
index dd09da5..5da005b 100644
--- a/app/test/test_table_combined.c
+++ b/app/test/test_table_combined.c
@@ -295,7 +295,7 @@ test_table_lpm_combined(void)
 	struct rte_table_lpm_params lpm_params = {
 		.n_rules = 1 << 16,
 		.entry_unique_size = 8,
-		.offset = 0,
+		.offset = APP_METADATA_OFFSET(0),
 	};
 
 	struct rte_table_lpm_key lpm_key = {
@@ -355,7 +355,7 @@ test_table_lpm_ipv6_combined(void)
 		.n_rules = 1 << 16,
 		.number_tbl8s = 1 << 13,
 		.entry_unique_size = 8,
-		.offset = 32,
+		.offset = APP_METADATA_OFFSET(32),
 	};
 
 	struct rte_table_lpm_ipv6_key lpm_ipv6_key = {
@@ -417,8 +417,8 @@ test_table_hash8lru(void)
 		.n_entries = 1<<24,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 0,
-		.key_offset = 32,
+		.signature_offset = APP_METADATA_OFFSET(0),
+		.key_offset = APP_METADATA_OFFSET(32),
 	};
 
 	uint8_t key8lru[8];
@@ -475,8 +475,8 @@ test_table_hash16lru(void)
 		.n_entries = 1<<16,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 0,
-		.key_offset = 32,
+		.signature_offset = APP_METADATA_OFFSET(0),
+		.key_offset = APP_METADATA_OFFSET(32),
 	};
 
 	uint8_t key16lru[16];
@@ -533,8 +533,8 @@ test_table_hash32lru(void)
 		.n_entries = 1<<16,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 0,
-		.key_offset = 32,
+		.signature_offset = APP_METADATA_OFFSET(0),
+		.key_offset = APP_METADATA_OFFSET(32),
 	};
 
 	uint8_t key32lru[32];
@@ -592,8 +592,8 @@ test_table_hash8ext(void)
 		.n_entries_ext = 1<<15,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 0,
-		.key_offset = 32,
+		.signature_offset = APP_METADATA_OFFSET(0),
+		.key_offset = APP_METADATA_OFFSET(32),
 	};
 
 	uint8_t key8ext[8];
@@ -658,8 +658,8 @@ test_table_hash16ext(void)
 		.n_entries_ext = 1<<15,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 0,
-		.key_offset = 32,
+		.signature_offset = APP_METADATA_OFFSET(0),
+		.key_offset = APP_METADATA_OFFSET(32),
 	};
 
 	uint8_t key16ext[16];
@@ -724,8 +724,8 @@ test_table_hash32ext(void)
 		.n_entries_ext = 1<<15,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 0,
-		.key_offset = 32,
+		.signature_offset = APP_METADATA_OFFSET(0),
+		.key_offset = APP_METADATA_OFFSET(32),
 	};
 
 	uint8_t key32ext[32];
diff --git a/app/test/test_table_pipeline.c b/app/test/test_table_pipeline.c
index a0a9e04..ff07cda 100644
--- a/app/test/test_table_pipeline.c
+++ b/app/test/test_table_pipeline.c
@@ -457,7 +457,8 @@ test_pipeline_single_filter(int test_type, int expected_count)
 				rte_panic("Failed to alloc mbuf from pool\n");
 				return -1;
 			}
-			key = RTE_MBUF_METADATA_UINT8_PTR(m, 32);
+			key = RTE_MBUF_METADATA_UINT8_PTR(m,
+					APP_METADATA_OFFSET(32));
 
 			k32 = (uint32_t *) key;
 			k32[0] = 0xadadadad >> (j % 2);
diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
index 566964b..581316e 100644
--- a/app/test/test_table_tables.c
+++ b/app/test/test_table_tables.c
@@ -52,8 +52,10 @@ table_test table_tests[] = {
 	uint32_t *k32, *signature;					\
 	uint8_t *key;							\
 	mbuf = rte_pktmbuf_alloc(pool);					\
-	signature = RTE_MBUF_METADATA_UINT32_PTR(mbuf, 0);		\
-	key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, 32);			\
+	signature = RTE_MBUF_METADATA_UINT32_PTR(mbuf,			\
+			APP_METADATA_OFFSET(0));			\
+	key = RTE_MBUF_METADATA_UINT8_PTR(mbuf,			\
+			APP_METADATA_OFFSET(32));			\
 	memset(key, 0, 32);						\
 	k32 = (uint32_t *) key;						\
 	k32[0] = (value);						\
@@ -206,7 +208,7 @@ test_table_array(void)
 	/* Initialize params and create tables */
 	struct rte_table_array_params array_params = {
 		.n_entries = 7,
-		.offset = 1
+		.offset = APP_METADATA_OFFSET(1)
 	};
 
 	table = rte_table_array_ops.f_create(NULL, 0, 1);
@@ -226,13 +228,13 @@ test_table_array(void)
 		return -3;
 
 	array_params.n_entries = 1 << 24;
-	array_params.offset = 1;
+	array_params.offset = APP_METADATA_OFFSET(1);
 
 	table = rte_table_array_ops.f_create(&array_params, 0, 1);
 	if (table == NULL)
 		return -4;
 
-	array_params.offset = 32;
+	array_params.offset = APP_METADATA_OFFSET(32);
 
 	table = rte_table_array_ops.f_create(&array_params, 0, 1);
 	if (table == NULL)
@@ -324,7 +326,7 @@ test_table_lpm(void)
 	struct rte_table_lpm_params lpm_params = {
 		.n_rules = 1 << 24,
 		.entry_unique_size = entry_size,
-		.offset = 1
+		.offset = APP_METADATA_OFFSET(1)
 	};
 
 	table = rte_table_lpm_ops.f_create(NULL, 0, entry_size);
@@ -338,7 +340,7 @@ test_table_lpm(void)
 		return -2;
 
 	lpm_params.n_rules = 1 << 24;
-	lpm_params.offset = 32;
+	lpm_params.offset = APP_METADATA_OFFSET(32);
 	lpm_params.entry_unique_size = 0;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
@@ -481,7 +483,7 @@ test_table_lpm_ipv6(void)
 		.n_rules = 1 << 24,
 		.number_tbl8s = 1 << 21,
 		.entry_unique_size = entry_size,
-		.offset = 32
+		.offset = APP_METADATA_OFFSET(32)
 	};
 
 	table = rte_table_lpm_ipv6_ops.f_create(NULL, 0, entry_size);
@@ -512,7 +514,7 @@ test_table_lpm_ipv6(void)
 		return -2;
 
 	lpm_params.entry_unique_size = entry_size;
-	lpm_params.offset = 32;
+	lpm_params.offset = APP_METADATA_OFFSET(32);
 
 	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
 	if (table == NULL)
@@ -650,8 +652,8 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
 		.n_entries = 1 << 10,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 1,
-		.key_offset = 32
+		.signature_offset = APP_METADATA_OFFSET(1),
+		.key_offset = APP_METADATA_OFFSET(32)
 	};
 
 	hash_params.n_entries = 0;
@@ -661,20 +663,20 @@ test_table_hash_lru_generic(struct rte_table_ops *ops)
 		return -1;
 
 	hash_params.n_entries = 1 << 10;
-	hash_params.signature_offset = 1;
+	hash_params.signature_offset = APP_METADATA_OFFSET(1);
 
 	table = ops->f_create(&hash_params, 0, 1);
 	if (table == NULL)
 		return -2;
 
-	hash_params.signature_offset = 0;
-	hash_params.key_offset = 1;
+	hash_params.signature_offset = APP_METADATA_OFFSET(0);
+	hash_params.key_offset = APP_METADATA_OFFSET(1);
 
 	table = ops->f_create(&hash_params, 0, 1);
 	if (table == NULL)
 		return -3;
 
-	hash_params.key_offset = 32;
+	hash_params.key_offset = APP_METADATA_OFFSET(32);
 	hash_params.f_hash = NULL;
 
 	table = ops->f_create(&hash_params, 0, 1);
@@ -765,8 +767,8 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
 		.n_entries_ext = 1 << 4,
 		.f_hash = pipeline_test_hash,
 		.seed = 0,
-		.signature_offset = 1,
-		.key_offset = 32
+		.signature_offset = APP_METADATA_OFFSET(1),
+		.key_offset = APP_METADATA_OFFSET(32)
 	};
 
 	hash_params.n_entries = 0;
@@ -782,19 +784,19 @@ test_table_hash_ext_generic(struct rte_table_ops *ops)
 		return -2;
 
 	hash_params.n_entries_ext = 1 << 4;
-	hash_params.signature_offset = 1;
+	hash_params.signature_offset = APP_METADATA_OFFSET(1);
 	table = ops->f_create(&hash_params, 0, 1);
 	if (table == NULL)
 		return -2;
 
-	hash_params.signature_offset = 0;
-	hash_params.key_offset = 1;
+	hash_params.signature_offset = APP_METADATA_OFFSET(0);
+	hash_params.key_offset = APP_METADATA_OFFSET(1);
 
 	table = ops->f_create(&hash_params, 0, 1);
 	if (table == NULL)
 		return -3;
 
-	hash_params.key_offset = 32;
+	hash_params.key_offset = APP_METADATA_OFFSET(32);
 	hash_params.f_hash = NULL;
 
 	table = ops->f_create(&hash_params, 0, 1);
-- 
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH 3/4] app/test_pipeline: modify pipeline test
  2015-09-11 13:35 [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data roy.fan.zhang
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 1/4] librte_port: " roy.fan.zhang
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test roy.fan.zhang
@ 2015-09-11 13:35 ` roy.fan.zhang
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 4/4] librte_port: modify release notes and deprecation notice roy.fan.zhang
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: roy.fan.zhang @ 2015-09-11 13:35 UTC (permalink / raw)
  To: dev

From: Fan Zhang <roy.fan.zhang@intel.com>

Test_pipeline has been modified to work on updated macros to access
meta-data stored in the mbuf structure.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 app/test-pipeline/main.h              |  2 ++
 app/test-pipeline/pipeline_hash.c     | 34 ++++++++++++++++++----------------
 app/test-pipeline/pipeline_lpm.c      |  2 +-
 app/test-pipeline/pipeline_lpm_ipv6.c |  2 +-
 4 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/app/test-pipeline/main.h b/app/test-pipeline/main.h
index 0c90fc3..8dcd459 100644
--- a/app/test-pipeline/main.h
+++ b/app/test-pipeline/main.h
@@ -137,4 +137,6 @@ void app_main_loop_tx(void);
 #define APP_FLUSH 0x3FF
 #endif
 
+#define APP_METADATA_OFFSET(offset) (sizeof(struct rte_mbuf) + (offset))
+
 #endif /* _MAIN_H_ */
diff --git a/app/test-pipeline/pipeline_hash.c b/app/test-pipeline/pipeline_hash.c
index 548615f..5e4e17f 100644
--- a/app/test-pipeline/pipeline_hash.c
+++ b/app/test-pipeline/pipeline_hash.c
@@ -163,8 +163,8 @@ app_main_loop_worker_pipeline_hash(void) {
 			.n_buckets_ext = 1 << 21,
 			.f_hash = test_hash,
 			.seed = 0,
-			.signature_offset = 0,
-			.key_offset = 32,
+			.signature_offset = APP_METADATA_OFFSET(0),
+			.key_offset = APP_METADATA_OFFSET(32),
 		};
 
 		struct rte_pipeline_table_params table_params = {
@@ -214,8 +214,8 @@ app_main_loop_worker_pipeline_hash(void) {
 		struct rte_table_hash_key8_ext_params table_hash_params = {
 			.n_entries = 1 << 24,
 			.n_entries_ext = 1 << 23,
-			.signature_offset = 0,
-			.key_offset = 32,
+			.signature_offset = APP_METADATA_OFFSET(0),
+			.key_offset = APP_METADATA_OFFSET(32),
 			.f_hash = test_hash,
 			.seed = 0,
 		};
@@ -238,8 +238,8 @@ app_main_loop_worker_pipeline_hash(void) {
 	{
 		struct rte_table_hash_key8_lru_params table_hash_params = {
 			.n_entries = 1 << 24,
-			.signature_offset = 0,
-			.key_offset = 32,
+			.signature_offset = APP_METADATA_OFFSET(0),
+			.key_offset = APP_METADATA_OFFSET(32),
 			.f_hash = test_hash,
 			.seed = 0,
 		};
@@ -263,8 +263,8 @@ app_main_loop_worker_pipeline_hash(void) {
 		struct rte_table_hash_key16_ext_params table_hash_params = {
 			.n_entries = 1 << 24,
 			.n_entries_ext = 1 << 23,
-			.signature_offset = 0,
-			.key_offset = 32,
+			.signature_offset = APP_METADATA_OFFSET(0),
+			.key_offset = APP_METADATA_OFFSET(32),
 			.f_hash = test_hash,
 			.seed = 0,
 		};
@@ -287,8 +287,8 @@ app_main_loop_worker_pipeline_hash(void) {
 	{
 		struct rte_table_hash_key16_lru_params table_hash_params = {
 			.n_entries = 1 << 24,
-			.signature_offset = 0,
-			.key_offset = 32,
+			.signature_offset = APP_METADATA_OFFSET(0),
+			.key_offset = APP_METADATA_OFFSET(32),
 			.f_hash = test_hash,
 			.seed = 0,
 		};
@@ -312,8 +312,8 @@ app_main_loop_worker_pipeline_hash(void) {
 		struct rte_table_hash_key32_ext_params table_hash_params = {
 			.n_entries = 1 << 24,
 			.n_entries_ext = 1 << 23,
-			.signature_offset = 0,
-			.key_offset = 32,
+			.signature_offset = APP_METADATA_OFFSET(0),
+			.key_offset = APP_METADATA_OFFSET(32),
 			.f_hash = test_hash,
 			.seed = 0,
 		};
@@ -337,8 +337,8 @@ app_main_loop_worker_pipeline_hash(void) {
 	{
 		struct rte_table_hash_key32_lru_params table_hash_params = {
 			.n_entries = 1 << 24,
-			.signature_offset = 0,
-			.key_offset = 32,
+			.signature_offset = APP_METADATA_OFFSET(0),
+			.key_offset = APP_METADATA_OFFSET(32),
 			.f_hash = test_hash,
 			.seed = 0,
 		};
@@ -456,8 +456,10 @@ app_main_loop_rx_metadata(void) {
 
 			m = app.mbuf_rx.array[j];
 			m_data = rte_pktmbuf_mtod(m, uint8_t *);
-			signature = RTE_MBUF_METADATA_UINT32_PTR(m, 0);
-			key = RTE_MBUF_METADATA_UINT8_PTR(m, 32);
+			signature = RTE_MBUF_METADATA_UINT32_PTR(m,
+					APP_METADATA_OFFSET(0));
+			key = RTE_MBUF_METADATA_UINT8_PTR(m,
+					APP_METADATA_OFFSET(32));
 
 			if (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {
 				ip_hdr = (struct ipv4_hdr *)
diff --git a/app/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
index b1a2c13..e098f8b 100644
--- a/app/test-pipeline/pipeline_lpm.c
+++ b/app/test-pipeline/pipeline_lpm.c
@@ -115,7 +115,7 @@ app_main_loop_worker_pipeline_lpm(void) {
 			.n_rules = 1 << 24,
 			.entry_unique_size =
 				sizeof(struct rte_pipeline_table_entry),
-			.offset = 32,
+			.offset = APP_METADATA_OFFSET(32),
 		};
 
 		struct rte_pipeline_table_params table_params = {
diff --git a/app/test-pipeline/pipeline_lpm_ipv6.c b/app/test-pipeline/pipeline_lpm_ipv6.c
index 3f24a2d..a5cd3a4 100644
--- a/app/test-pipeline/pipeline_lpm_ipv6.c
+++ b/app/test-pipeline/pipeline_lpm_ipv6.c
@@ -117,7 +117,7 @@ app_main_loop_worker_pipeline_lpm_ipv6(void) {
 			.number_tbl8s = 1 << 21,
 			.entry_unique_size =
 				sizeof(struct rte_pipeline_table_entry),
-			.offset = 32,
+			.offset = APP_METADATA_OFFSET(32),
 		};
 
 		struct rte_pipeline_table_params table_params = {
-- 
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH 4/4] librte_port: modify release notes and deprecation notice
  2015-09-11 13:35 [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data roy.fan.zhang
                   ` (2 preceding siblings ...)
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 3/4] app/test_pipeline: modify " roy.fan.zhang
@ 2015-09-11 13:35 ` roy.fan.zhang
  2015-10-19 14:21   ` Thomas Monjalon
  2015-09-11 13:40 ` [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data Dumitrescu, Cristian
       [not found] ` <6444334.trQLVujQca@xps13>
  5 siblings, 1 reply; 10+ messages in thread
From: roy.fan.zhang @ 2015-09-11 13:35 UTC (permalink / raw)
  To: dev

From: Fan Zhang <roy.fan.zhang@intel.com>

The LIBABIVER number is incremented. The release notes
is updated and the deprecation announce is removed.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 doc/guides/rel_notes/deprecation.rst | 5 -----
 doc/guides/rel_notes/release_2_2.rst | 4 +++-
 lib/librte_port/Makefile             | 2 +-
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index fffad80..d08ba63 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -52,11 +52,6 @@ Deprecation Notices
   the value of macros CFG_NAME_LEN and CFG_NAME_VAL will be increased.
   Most likely, the new values will be 64 and 256, respectively.
 
-* librte_port: Macros to access the packet meta-data stored within the
-  packet buffer will be adjusted to cover the packet mbuf structure as well,
-  as currently they are able to access any packet buffer location except the
-  packet mbuf structure.
-
 * librte_table LPM: A new parameter to hold the table name will be added to
   the LPM table parameter structure.
 
diff --git a/doc/guides/rel_notes/release_2_2.rst b/doc/guides/rel_notes/release_2_2.rst
index 682f468..4d945db 100644
--- a/doc/guides/rel_notes/release_2_2.rst
+++ b/doc/guides/rel_notes/release_2_2.rst
@@ -47,6 +47,8 @@ ABI Changes
 
 * The LPM structure is changed. The deprecated field mem_location is removed.
 
+* librte_port: Macros to access the packet meta-data stored within the packet
+  buffer has been adjusted to cover the packet mbuf structure.
 
 Shared Library Versions
 -----------------------
@@ -74,7 +76,7 @@ The libraries prepended with a plus sign were incremented in this version.
      librte_pipeline.so.1
      librte_pmd_bond.so.1
    + librte_pmd_ring.so.2
-     librte_port.so.1
+     librte_port.so.2
      librte_power.so.1
      librte_reorder.so.1
      librte_ring.so.1
diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile
index ddbb383..410053e 100644
--- a/lib/librte_port/Makefile
+++ b/lib/librte_port/Makefile
@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
 
 EXPORT_MAP := rte_port_version.map
 
-LIBABIVER := 1
+LIBABIVER := 2
 
 #
 # all source are stored in SRCS-y
-- 
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data
  2015-09-11 13:35 [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data roy.fan.zhang
                   ` (3 preceding siblings ...)
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 4/4] librte_port: modify release notes and deprecation notice roy.fan.zhang
@ 2015-09-11 13:40 ` Dumitrescu, Cristian
  2015-10-19 15:02   ` Thomas Monjalon
       [not found] ` <6444334.trQLVujQca@xps13>
  5 siblings, 1 reply; 10+ messages in thread
From: Dumitrescu, Cristian @ 2015-09-11 13:40 UTC (permalink / raw)
  To: Zhang, Roy Fan, dev



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of
> roy.fan.zhang@intel.com
> Sent: Friday, September 11, 2015 4:36 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet
> meta-data
> 
> From: Fan Zhang <roy.fan.zhang@intel.com>
> 
> This patchset links to ABI change announced for librte_port. Macros to
> access the packet meta-data stored within the packet buffer has been
> adjusted to cover the packet mbuf structure.
> 

Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 4/4] librte_port: modify release notes and deprecation notice
  2015-09-11 13:35 ` [dpdk-dev] [PATCH 4/4] librte_port: modify release notes and deprecation notice roy.fan.zhang
@ 2015-10-19 14:21   ` Thomas Monjalon
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Monjalon @ 2015-10-19 14:21 UTC (permalink / raw)
  To: roy.fan.zhang; +Cc: dev

2015-09-11 14:35, roy.fan.zhang@intel.com:
> @@ -74,7 +76,7 @@ The libraries prepended with a plus sign were incremented in this version.
>       librte_pipeline.so.1
>       librte_pmd_bond.so.1
>     + librte_pmd_ring.so.2
> -     librte_port.so.1
> +     librte_port.so.2

The updated library must be prepended with a plus sign.
Will be fixed before squashing with path 1 and pushing.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data
  2015-09-11 13:40 ` [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data Dumitrescu, Cristian
@ 2015-10-19 15:02   ` Thomas Monjalon
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Monjalon @ 2015-10-19 15:02 UTC (permalink / raw)
  To: Zhang, Roy Fan; +Cc: dev

> > From: Fan Zhang <roy.fan.zhang@intel.com>
> > 
> > This patchset links to ABI change announced for librte_port. Macros to
> > access the packet meta-data stored within the packet buffer has been
> > adjusted to cover the packet mbuf structure.
> 
> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

Applied in 1 commit (such change must be atomic), thanks

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data
       [not found] ` <6444334.trQLVujQca@xps13>
@ 2015-10-20 14:56   ` Dumitrescu, Cristian
  0 siblings, 0 replies; 10+ messages in thread
From: Dumitrescu, Cristian @ 2015-10-20 14:56 UTC (permalink / raw)
  To: Thomas Monjalon, Zhang, Roy Fan; +Cc: dev



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Monday, October 19, 2015 6:00 PM
> To: Zhang, Roy Fan <roy.fan.zhang@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access
> packet meta-data
> 
> 2015-09-11 14:35, roy.fan.zhang@intel.com:
> >  app/test-pipeline/main.h              |  2 ++
> >  app/test-pipeline/pipeline_hash.c     | 34 ++++++++++++++-------------
> >  app/test-pipeline/pipeline_lpm.c      |  2 +-
> >  app/test-pipeline/pipeline_lpm_ipv6.c |  2 +-
> >  app/test/test_table.h                 |  8 +++++--
> >  app/test/test_table_combined.c        | 28 +++++++++++-----------
> >  app/test/test_table_pipeline.c        |  3 ++-
> >  app/test/test_table_tables.c          | 44 ++++++++++++++++++---------------
> --
> >  doc/guides/rel_notes/deprecation.rst  |  5 ----
> >  doc/guides/rel_notes/release_2_2.rst  |  4 +++-
> >  lib/librte_port/Makefile              |  2 +-
> >  lib/librte_port/rte_port.h            |  2 +-
> 
> examples/ip_pipeline does not need to be updated?

No, examples/ip_pipeline does not need to be updated here, so no issues with this patch.

Only apps that define a hardcoded structure for the app metadata need update (app/test, app/test-pipeline), ip_pipeline reads metadata offsets from config file, so it's OK (as current simple config file does not have any offsets).

Thanks,
Cristian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test
  2015-09-08 10:11 [dpdk-dev] [PATCH 0/4] librte_table: add name parameter to lpm table Jasvinder Singh
@ 2015-09-08 10:11 ` Jasvinder Singh
  0 siblings, 0 replies; 10+ messages in thread
From: Jasvinder Singh @ 2015-09-08 10:11 UTC (permalink / raw)
  To: dev

LPM table and test-pipeline has been modified to include
name parameter of the lpm table.

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
---
 app/test-pipeline/pipeline_lpm.c      |   1 +
 app/test-pipeline/pipeline_lpm_ipv6.c |   1 +
 app/test/test_table_combined.c        |   2 +
 app/test/test_table_tables.c          | 102 ++++++++++++++++++++--------------
 4 files changed, 63 insertions(+), 43 deletions(-)

diff --git a/app/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
index b1a2c13..c03799c 100644
--- a/app/test-pipeline/pipeline_lpm.c
+++ b/app/test-pipeline/pipeline_lpm.c
@@ -112,6 +112,7 @@ app_main_loop_worker_pipeline_lpm(void) {
 	/* Table configuration */
 	{
 		struct rte_table_lpm_params table_lpm_params = {
+			.name = "LPM",
 			.n_rules = 1 << 24,
 			.entry_unique_size =
 				sizeof(struct rte_pipeline_table_entry),
diff --git a/app/test-pipeline/pipeline_lpm_ipv6.c b/app/test-pipeline/pipeline_lpm_ipv6.c
index 3f24a2d..02b7a9c 100644
--- a/app/test-pipeline/pipeline_lpm_ipv6.c
+++ b/app/test-pipeline/pipeline_lpm_ipv6.c
@@ -113,6 +113,7 @@ app_main_loop_worker_pipeline_lpm_ipv6(void) {
 	/* Table configuration */
 	{
 		struct rte_table_lpm_ipv6_params table_lpm_ipv6_params = {
+			.name = "LPM",
 			.n_rules = 1 << 24,
 			.number_tbl8s = 1 << 21,
 			.entry_unique_size =
diff --git a/app/test/test_table_combined.c b/app/test/test_table_combined.c
index dd09da5..f5c7c9b 100644
--- a/app/test/test_table_combined.c
+++ b/app/test/test_table_combined.c
@@ -293,6 +293,7 @@ test_table_lpm_combined(void)
 
 	/* Traffic flow */
 	struct rte_table_lpm_params lpm_params = {
+		.name = "LPM",
 		.n_rules = 1 << 16,
 		.entry_unique_size = 8,
 		.offset = 0,
@@ -352,6 +353,7 @@ test_table_lpm_ipv6_combined(void)
 
 	/* Traffic flow */
 	struct rte_table_lpm_ipv6_params lpm_ipv6_params = {
+		.name = "LPM",
 		.n_rules = 1 << 16,
 		.number_tbl8s = 1 << 13,
 		.entry_unique_size = 8,
diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
index 566964b..9d75fbf 100644
--- a/app/test/test_table_tables.c
+++ b/app/test/test_table_tables.c
@@ -322,6 +322,7 @@ test_table_lpm(void)
 
 	/* Initialize params and create tables */
 	struct rte_table_lpm_params lpm_params = {
+		.name = "LPM",
 		.n_rules = 1 << 24,
 		.entry_unique_size = entry_size,
 		.offset = 1
@@ -331,40 +332,47 @@ test_table_lpm(void)
 	if (table != NULL)
 		return -1;
 
-	lpm_params.n_rules = 0;
+	lpm_params.name = NULL;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
 		return -2;
 
+	lpm_params.name = "LPM";
+	lpm_params.n_rules = 0;
+
+	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
+	if (table != NULL)
+		return -3;
+
 	lpm_params.n_rules = 1 << 24;
 	lpm_params.offset = 32;
 	lpm_params.entry_unique_size = 0;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -3;
+		return -4;
 
 	lpm_params.entry_unique_size = entry_size + 1;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -4;
+		return -5;
 
 	lpm_params.entry_unique_size = entry_size;
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, entry_size);
 	if (table == NULL)
-		return -5;
+		return -6;
 
 	/* Free */
 	status = rte_table_lpm_ops.f_free(table);
 	if (status < 0)
-		return -6;
+		return -7;
 
 	status = rte_table_lpm_ops.f_free(NULL);
 	if (status == 0)
-		return -7;
+		return -8;
 
 	/* Add */
 	struct rte_table_lpm_key lpm_key;
@@ -372,75 +380,75 @@ test_table_lpm(void)
 
 	table = rte_table_lpm_ops.f_create(&lpm_params, 0, 1);
 	if (table == NULL)
-		return -8;
+		return -9;
 
 	status = rte_table_lpm_ops.f_add(NULL, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -9;
+		return -10;
 
 	status = rte_table_lpm_ops.f_add(table, NULL, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -10;
+		return -11;
 
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, NULL, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -11;
+		return -12;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -12;
+		return -13;
 
 	lpm_key.depth = 33;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -13;
+		return -14;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status != 0)
-		return -14;
+		return -15;
 
 	/* Delete */
 	status = rte_table_lpm_ops.f_delete(NULL, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -15;
+		return -16;
 
 	status = rte_table_lpm_ops.f_delete(table, NULL, &key_found, NULL);
 	if (status == 0)
-		return -16;
+		return -17;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -17;
+		return -18;
 
 	lpm_key.depth = 33;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status == 0)
-		return -18;
+		return -19;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status != 0)
-		return -19;
+		return -20;
 
 	status = rte_table_lpm_ops.f_delete(table, &lpm_key, &key_found, NULL);
 	if (status != 0)
-		return -20;
+		return -21;
 
 	/* Traffic flow */
 	entry = 'A';
 	status = rte_table_lpm_ops.f_add(table, &lpm_key, &entry, &key_found,
 		&entry_ptr);
 	if (status < 0)
-		return -21;
+		return -22;
 
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
 		if (i % 2 == 0) {
@@ -452,7 +460,7 @@ test_table_lpm(void)
 	rte_table_lpm_ops.f_lookup(table, mbufs, -1,
 		&result_mask, (void **)entries);
 	if (result_mask != expected_mask)
-		return -22;
+		return -23;
 
 	/* Free resources */
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
@@ -478,6 +486,7 @@ test_table_lpm_ipv6(void)
 
 	/* Initialize params and create tables */
 	struct rte_table_lpm_ipv6_params lpm_params = {
+		.name = "LPM",
 		.n_rules = 1 << 24,
 		.number_tbl8s = 1 << 21,
 		.entry_unique_size = entry_size,
@@ -488,44 +497,51 @@ test_table_lpm_ipv6(void)
 	if (table != NULL)
 		return -1;
 
-	lpm_params.n_rules = 0;
+	lpm_params.name = NULL;
 
 	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
 		return -2;
 
+	lpm_params.name = "LPM";
+	lpm_params.n_rules = 0;
+
+	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
+	if (table != NULL)
+		return -3;
+
 	lpm_params.n_rules = 1 << 24;
 	lpm_params.number_tbl8s = 0;
 	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -2;
+		return -4;
 
 	lpm_params.number_tbl8s = 1 << 21;
 	lpm_params.entry_unique_size = 0;
 	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -2;
+		return -5;
 
 	lpm_params.entry_unique_size = entry_size + 1;
 	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
 	if (table != NULL)
-		return -2;
+		return -6;
 
 	lpm_params.entry_unique_size = entry_size;
 	lpm_params.offset = 32;
 
 	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
 	if (table == NULL)
-		return -3;
+		return -7;
 
 	/* Free */
 	status = rte_table_lpm_ipv6_ops.f_free(table);
 	if (status < 0)
-		return -4;
+		return -8;
 
 	status = rte_table_lpm_ipv6_ops.f_free(NULL);
 	if (status == 0)
-		return -5;
+		return -9;
 
 	/* Add */
 	struct rte_table_lpm_ipv6_key lpm_key;
@@ -537,80 +553,80 @@ test_table_lpm_ipv6(void)
 
 	table = rte_table_lpm_ipv6_ops.f_create(&lpm_params, 0, entry_size);
 	if (table == NULL)
-		return -6;
+		return -10;
 
 	status = rte_table_lpm_ipv6_ops.f_add(NULL, &lpm_key, &entry,
 		&key_found, &entry_ptr);
 	if (status == 0)
-		return -7;
+		return -11;
 
 	status = rte_table_lpm_ipv6_ops.f_add(table, NULL, &entry, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -8;
+		return -12;
 
 	status = rte_table_lpm_ipv6_ops.f_add(table, &lpm_key, NULL, &key_found,
 		&entry_ptr);
 	if (status == 0)
-		return -9;
+		return -13;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ipv6_ops.f_add(table, &lpm_key, &entry,
 		&key_found, &entry_ptr);
 	if (status == 0)
-		return -10;
+		return -14;
 
 	lpm_key.depth = 129;
 	status = rte_table_lpm_ipv6_ops.f_add(table, &lpm_key, &entry,
 		&key_found, &entry_ptr);
 	if (status == 0)
-		return -11;
+		return -15;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ipv6_ops.f_add(table, &lpm_key, &entry,
 		&key_found, &entry_ptr);
 	if (status != 0)
-		return -12;
+		return -16;
 
 	/* Delete */
 	status = rte_table_lpm_ipv6_ops.f_delete(NULL, &lpm_key, &key_found,
 		NULL);
 	if (status == 0)
-		return -13;
+		return -17;
 
 	status = rte_table_lpm_ipv6_ops.f_delete(table, NULL, &key_found, NULL);
 	if (status == 0)
-		return -14;
+		return -18;
 
 	lpm_key.depth = 0;
 	status = rte_table_lpm_ipv6_ops.f_delete(table, &lpm_key, &key_found,
 		NULL);
 	if (status == 0)
-		return -15;
+		return -19;
 
 	lpm_key.depth = 129;
 	status = rte_table_lpm_ipv6_ops.f_delete(table, &lpm_key, &key_found,
 		NULL);
 	if (status == 0)
-		return -16;
+		return -20;
 
 	lpm_key.depth = 16;
 	status = rte_table_lpm_ipv6_ops.f_delete(table, &lpm_key, &key_found,
 		NULL);
 	if (status != 0)
-		return -17;
+		return -21;
 
 	status = rte_table_lpm_ipv6_ops.f_delete(table, &lpm_key, &key_found,
 		NULL);
 	if (status != 0)
-		return -18;
+		return -22;
 
 	/* Traffic flow */
 	entry = 'A';
 	status = rte_table_lpm_ipv6_ops.f_add(table, &lpm_key, &entry,
 		&key_found, &entry_ptr);
 	if (status < 0)
-		return -19;
+		return -23;
 
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
 		if (i % 2 == 0) {
@@ -622,7 +638,7 @@ test_table_lpm_ipv6(void)
 	rte_table_lpm_ipv6_ops.f_lookup(table, mbufs, -1,
 		&result_mask, (void **)entries);
 	if (result_mask != expected_mask)
-		return -20;
+		return -24;
 
 	/* Free resources */
 	for (i = 0; i < RTE_PORT_IN_BURST_SIZE_MAX; i++)
-- 
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-10-20 14:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-11 13:35 [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data roy.fan.zhang
2015-09-11 13:35 ` [dpdk-dev] [PATCH 1/4] librte_port: " roy.fan.zhang
2015-09-11 13:35 ` [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test roy.fan.zhang
2015-09-11 13:35 ` [dpdk-dev] [PATCH 3/4] app/test_pipeline: modify " roy.fan.zhang
2015-09-11 13:35 ` [dpdk-dev] [PATCH 4/4] librte_port: modify release notes and deprecation notice roy.fan.zhang
2015-10-19 14:21   ` Thomas Monjalon
2015-09-11 13:40 ` [dpdk-dev] [PATCH 0/4]librte_port: modify macros to access packet meta-data Dumitrescu, Cristian
2015-10-19 15:02   ` Thomas Monjalon
     [not found] ` <6444334.trQLVujQca@xps13>
2015-10-20 14:56   ` Dumitrescu, Cristian
  -- strict thread matches above, loose matches on Subject: below --
2015-09-08 10:11 [dpdk-dev] [PATCH 0/4] librte_table: add name parameter to lpm table Jasvinder Singh
2015-09-08 10:11 ` [dpdk-dev] [PATCH 2/4] app/test: modify table and pipeline test Jasvinder Singh

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).