From 0acd8ed3330a629658e3864d78a6bd4b78de321e Mon Sep 17 00:00:00 2001 From: Xueming Li Date: Thu, 26 Oct 2017 16:29:23 +0800 Subject: [PATCH] examples/multi_process: fix received message length Simple_mp example receives message size less than 64 chars while send side accepts chars less than 128, this leads to different result when sending text length larger than 64. This patch uses same buffer length on both message pool and command line. Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: Xueming Li --- examples/multi_process/simple_mp/main.c | 4 ++-- examples/multi_process/simple_mp/mp_commands.c | 2 +- examples/multi_process/simple_mp/mp_commands.h | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/multi_process/simple_mp/main.c b/examples/multi_process/simple_mp/main.c index 2843d94e92..53b87c5c90 100644 --- a/examples/multi_process/simple_mp/main.c +++ b/examples/multi_process/simple_mp/main.c @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include "mp_commands.h" @@ -76,7 +77,6 @@ static const char *_MSG_POOL = "MSG_POOL"; static const char *_SEC_2_PRI = "SEC_2_PRI"; static const char *_PRI_2_SEC = "PRI_2_SEC"; -const unsigned string_size = 64; struct rte_ring *send_ring, *recv_ring; struct rte_mempool *message_pool; @@ -121,7 +121,7 @@ main(int argc, char **argv) send_ring = rte_ring_create(_PRI_2_SEC, ring_size, rte_socket_id(), flags); recv_ring = rte_ring_create(_SEC_2_PRI, ring_size, rte_socket_id(), flags); message_pool = rte_mempool_create(_MSG_POOL, pool_size, - string_size, pool_cache, priv_data_sz, + STR_TOKEN_SIZE, pool_cache, priv_data_sz, NULL, NULL, NULL, NULL, rte_socket_id(), flags); } else { diff --git a/examples/multi_process/simple_mp/mp_commands.c b/examples/multi_process/simple_mp/mp_commands.c index 8da244bb5c..cde3abd404 100644 --- a/examples/multi_process/simple_mp/mp_commands.c +++ b/examples/multi_process/simple_mp/mp_commands.c @@ -78,7 +78,7 @@ static void cmd_send_parsed(void *parsed_result, if (rte_mempool_get(message_pool, &msg) < 0) rte_panic("Failed to get message buffer\n"); - snprintf((char *)msg, string_size, "%s", res->message); + snprintf((char *)msg, STR_TOKEN_SIZE, "%s", res->message); if (rte_ring_enqueue(send_ring, msg) < 0) { printf("Failed to send message - message discarded\n"); rte_mempool_put(message_pool, msg); diff --git a/examples/multi_process/simple_mp/mp_commands.h b/examples/multi_process/simple_mp/mp_commands.h index 7e9a4ab22d..452b36456f 100644 --- a/examples/multi_process/simple_mp/mp_commands.h +++ b/examples/multi_process/simple_mp/mp_commands.h @@ -34,7 +34,6 @@ #ifndef _SIMPLE_MP_COMMANDS_H_ #define _SIMPLE_MP_COMMANDS_H_ -extern const unsigned string_size; extern struct rte_ring *send_ring; extern struct rte_mempool *message_pool; extern volatile int quit; -- 2.20.1