[spp] [PATCH] spp_vf: fix initializing bug of forwarder

x-fn-spp at sl.ntt-tx.co.jp x-fn-spp at sl.ntt-tx.co.jp
Thu Aug 2 10:31:09 CEST 2018


From: Hideyuki Yamashita <yamashita.hideyuki at po.ntt-tx.co.jp>

clear_forward_info() always initializes path[0] of g_forward_info[id].
It is a bug and causes stopping forwarding accidentally if path[0] is
referenced by spp_forward().

This patch changes initializing as path[info->upd_index] instead of 0.
It also includes refactoring to be simple by using local vars.

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki at po.ntt-tx.co.jp>
Signed-off-by: Naoki Takada <takada.naoki at lab.ntt.co.jp>
---
 src/vf/spp_forward.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/vf/spp_forward.c b/src/vf/spp_forward.c
index 0a43608..ee1254c 100644
--- a/src/vf/spp_forward.c
+++ b/src/vf/spp_forward.c
@@ -51,9 +51,9 @@ spp_forward_init(void)
 
 /* Clear info for one element. */
 static void
-clear_forward_info(int id)
+clear_forward_info(struct forward_path *path)
 {
-	memset(&g_forward_info[id].path, 0x00, sizeof(struct forward_path));
+	memset(path, 0x00, sizeof(struct forward_path));
 }
 
 /* Update forward info */
@@ -84,7 +84,7 @@ spp_forward_update(struct spp_component_info *component)
 		return -1;
 	}
 
-	clear_forward_info(component->component_id);
+	clear_forward_info(path);
 
 	RTE_LOG(INFO, FORWARD,
 			"Component[%d] Start update component. (name = %s, type = %d)\n",
-- 
2.18.0



More information about the spp mailing list