[dpdk-dev] [PATCH] app: fix for lpm in ip_pipeline

Michal Jastrzebski michalx.k.jastrzebski at intel.com
Thu Mar 17 09:47:25 CET 2016


From: Michal Kobylinski <michalx.kobylinski at intel.com>

Updated ip_pipeline app is using new changes from LPM library 
(Increased number of next hops and added new config structure 
for LPM IPv4).

Fixes: 7164439d017d ("lpm: add a new config structure for IPv4")

Signed-off-by: Michal Kobylinski <michalx.kobylinski at intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
---
 app/test-pipeline/pipeline_lpm.c                    | 6 ++++++
 examples/ip_pipeline/pipeline/pipeline_routing_be.c | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/app/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
index 916abd4..ecea6b3 100644
--- a/app/test-pipeline/pipeline_lpm.c
+++ b/app/test-pipeline/pipeline_lpm.c
@@ -47,6 +47,10 @@
 
 #include "main.h"
 
+#ifndef PIPELINE_LPM_TABLE_NUMBER_TABLE8s
+#define PIPELINE_LPM_TABLE_NUMBER_TABLE8s 256
+#endif
+
 void
 app_main_loop_worker_pipeline_lpm(void) {
 	struct rte_pipeline_params pipeline_params = {
@@ -113,6 +117,8 @@ app_main_loop_worker_pipeline_lpm(void) {
 		struct rte_table_lpm_params table_lpm_params = {
 			.name = "LPM",
 			.n_rules = 1 << 24,
+			.number_tbl8s = PIPELINE_LPM_TABLE_NUMBER_TABLE8s,
+			.flags = 0,
 			.entry_unique_size =
 				sizeof(struct rte_pipeline_table_entry),
 			.offset = APP_METADATA_OFFSET(32),
diff --git a/examples/ip_pipeline/pipeline/pipeline_routing_be.c b/examples/ip_pipeline/pipeline/pipeline_routing_be.c
index 8342b7b..431c636 100644
--- a/examples/ip_pipeline/pipeline/pipeline_routing_be.c
+++ b/examples/ip_pipeline/pipeline/pipeline_routing_be.c
@@ -67,6 +67,10 @@
 
 #define MAC_SRC_DEFAULT 0x112233445566
 
+#ifndef PIPELINE_ROUTING_LPM_TABLE_NUMBER_TABLE8s
+#define PIPELINE_ROUTING_LPM_TABLE_NUMBER_TABLE8s 256
+#endif
+
 struct pipeline_routing {
 	struct pipeline p;
 	struct pipeline_routing_params params;
@@ -1284,6 +1288,8 @@ pipeline_routing_init(struct pipeline_params *params,
 		struct rte_table_lpm_params table_lpm_params = {
 			.name = p->name,
 			.n_rules = p_rt->params.n_routes,
+			.number_tbl8s = PIPELINE_ROUTING_LPM_TABLE_NUMBER_TABLE8s,
+			.flags = 0,
 			.entry_unique_size = sizeof(struct routing_table_entry),
 			.offset = p_rt->params.ip_hdr_offset +
 				__builtin_offsetof(struct ipv4_hdr, dst_addr),
-- 
1.9.1



More information about the dev mailing list