From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail04.ics.ntt-tx.co.jp (mail05.ics.ntt-tx.co.jp [210.232.35.69]) by dpdk.org (Postfix) with ESMTP id 76A10288C for ; Fri, 27 Jul 2018 02:33:19 +0200 (CEST) Received: from gwchk03.silk.ntt-tx.co.jp (gwchk03.silk.ntt-tx.co.jp [10.107.0.111]) by mail04.ics.ntt-tx.co.jp (unknown) with ESMTP id w6R0XGAT013230; Fri, 27 Jul 2018 09:33:16 +0900 Received: (from root@localhost) by gwchk03.silk.ntt-tx.co.jp (unknown) id w6R0XGsC008715; Fri, 27 Jul 2018 09:33:16 +0900 Received: from gwchk.silk.ntt-tx.co.jp [10.107.0.110] by gwchk03.silk.ntt-tx.co.jp with ESMTP id KAA08306; Fri, 27 Jul 2018 09:32:07 +0900 Received: from imss03.silk.ntt-tx.co.jp (localhost [127.0.0.1]) by imss03.silk.ntt-tx.co.jp (unknown) with ESMTP id w6R0W7fs009244; Fri, 27 Jul 2018 09:32:07 +0900 Received: from mgate02.silk.ntt-tx.co.jp (smtp02.silk.ntt-tx.co.jp [10.107.0.37]) by imss03.silk.ntt-tx.co.jp (unknown) with ESMTP id w6R0W7ii009239; Fri, 27 Jul 2018 09:32:07 +0900 Message-Id: <201807270032.w6R0W7ii009239@imss03.silk.ntt-tx.co.jp> Received: from localhost by mgate02.silk.ntt-tx.co.jp (unknown) id w6R0W6np001872 ; Fri, 27 Jul 2018 09:32:07 +0900 From: x-fn-spp@sl.ntt-tx.co.jp To: ferruh.yigit@intel.com, ogawa.yasufumi@lab.ntt.co.jp Cc: spp@dpdk.org Date: Fri, 27 Jul 2018 09:32:06 +0900 X-Mailer: git-send-email 2.18.0 In-Reply-To: <201807190223.w6J2N99b017386@imss03.silk.ntt-tx.co.jp> References: <201807190223.w6J2N99b017386@imss03.silk.ntt-tx.co.jp> X-TM-AS-MML: No Subject: [spp] [PATCH v3 2/2] spp_vf: change to not use flush and cancel commnad X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2018 00:33:21 -0000 From: Hideyuki Yamashita It is bothering to run flush every time after changing configrations. User does not need to run flush if spp_vf executes it for accepting command by itself. Cancel command is also not needed for this change. This patch is to stop support for flush and cancel command by following changes. - Send an error if it receives flush or cancel command. - Call spp_flush() if it receives component, port or classifier_mac command. - Remove functions for cancel command. Signed-off-by: Hideyuki Yamashita Signed-off-by: Naoki Takada --- src/vf/command_dec.c | 4 ---- src/vf/command_dec.h | 6 ------ src/vf/command_proc.c | 25 +++++++++++++++---------- src/vf/spp_vf.c | 20 -------------------- src/vf/spp_vf.h | 5 ----- 5 files changed, 15 insertions(+), 45 deletions(-) diff --git a/src/vf/command_dec.c b/src/vf/command_dec.c index 2c7debc..74b0c1d 100644 --- a/src/vf/command_dec.c +++ b/src/vf/command_dec.c @@ -642,7 +642,6 @@ static struct decode_parameter_list parameter_list[][SPP_CMD_MAX_PARAMETERS] = { }, DECODE_PARAMETER_LIST_EMPTY, }, - { DECODE_PARAMETER_LIST_EMPTY }, /* flush */ { DECODE_PARAMETER_LIST_EMPTY }, /* _get_client_id */ { DECODE_PARAMETER_LIST_EMPTY }, /* status */ { DECODE_PARAMETER_LIST_EMPTY }, /* exit */ @@ -709,7 +708,6 @@ static struct decode_parameter_list parameter_list[][SPP_CMD_MAX_PARAMETERS] = { }, DECODE_PARAMETER_LIST_EMPTY, }, - { DECODE_PARAMETER_LIST_EMPTY }, /* cancel */ { DECODE_PARAMETER_LIST_EMPTY }, /* termination */ }; @@ -755,7 +753,6 @@ static struct decode_command_list command_list[] = { /* classifier_table(mac) */ { "classifier_table", 6, 6, decode_command_parameter_in_list }, /* classifier_table(vlan) */ - { "flush", 1, 1, NULL }, /* flush */ { "_get_client_id", 1, 1, NULL }, /* _get_client_id */ { "status", 1, 1, NULL }, /* status */ { "exit", 1, 1, NULL }, /* exit */ @@ -763,7 +760,6 @@ static struct decode_command_list command_list[] = { /* component */ { "port", 5, 8, decode_command_parameter_in_list }, /* port */ - { "cancel", 1, 1, NULL }, /* cancel */ { "", 0, 0, NULL } /* termination */ }; diff --git a/src/vf/command_dec.h b/src/vf/command_dec.h index e7cbc8b..93444cb 100644 --- a/src/vf/command_dec.h +++ b/src/vf/command_dec.h @@ -50,9 +50,6 @@ enum spp_command_type { /** classifier_table command(VLAN) */ SPP_CMDTYPE_CLASSIFIER_TABLE_VLAN, - /** flush command */ - SPP_CMDTYPE_FLUSH, - /** get_client_id command */ SPP_CMDTYPE_CLIENT_ID, @@ -67,9 +64,6 @@ enum spp_command_type { /** port command */ SPP_CMDTYPE_PORT, - - /** cancel command */ - SPP_CMDTYPE_CANCEL, }; /** "classifier_table" command specific parameters */ diff --git a/src/vf/command_proc.c b/src/vf/command_proc.c index e13ae2c..0cda68e 100644 --- a/src/vf/command_proc.c +++ b/src/vf/command_proc.c @@ -218,11 +218,11 @@ execute_command(const struct spp_command *command) command->spec.classifier_table.vid, command->spec.classifier_table.mac, &command->spec.classifier_table.port); - break; - - case SPP_CMDTYPE_FLUSH: - RTE_LOG(INFO, SPP_COMMAND_PROC, "Execute flush command.\n"); - ret = spp_flush(); + if (ret == 0) { + RTE_LOG(INFO, SPP_COMMAND_PROC, + "Execute flush.\n"); + ret = spp_flush(); + } break; case SPP_CMDTYPE_COMPONENT: @@ -232,6 +232,11 @@ execute_command(const struct spp_command *command) command->spec.component.name, command->spec.component.core, command->spec.component.type); + if (ret == 0) { + RTE_LOG(INFO, SPP_COMMAND_PROC, + "Execute flush.\n"); + ret = spp_flush(); + } break; case SPP_CMDTYPE_PORT: @@ -244,11 +249,11 @@ execute_command(const struct spp_command *command) command->spec.port.rxtx, command->spec.port.name, &command->spec.port.ability); - break; - - case SPP_CMDTYPE_CANCEL: - RTE_LOG(INFO, SPP_COMMAND_PROC, "Execute cancel command.\n"); - spp_cancel(); + if (ret == 0) { + RTE_LOG(INFO, SPP_COMMAND_PROC, + "Execute flush.\n"); + ret = spp_flush(); + } break; default: diff --git a/src/vf/spp_vf.c b/src/vf/spp_vf.c index 4d0d278..2a77ec6 100644 --- a/src/vf/spp_vf.c +++ b/src/vf/spp_vf.c @@ -664,19 +664,6 @@ backup_mng_info(struct cancel_backup_info *backup) memset(g_change_component, 0x00, sizeof(g_change_component)); } -/* Cancel update of management information */ -static void -cancel_mng_info(struct cancel_backup_info *backup) -{ - dump_all_mng_info(backup->core, backup->component, &backup->interface); - copy_mng_info(g_core_info, g_component_info, &g_iface_info, - backup->core, backup->component, &backup->interface, - COPY_MNG_FLG_ALLCOPY); - dump_all_mng_info(g_core_info, g_component_info, &g_iface_info); - memset(g_change_core, 0x00, sizeof(g_change_core)); - memset(g_change_component, 0x00, sizeof(g_change_component)); -} - /** * Initialize g_iface_info * @@ -1635,13 +1622,6 @@ spp_flush(void) return ret; } -/* Cancel data that is not flushing */ -void -spp_cancel(void) -{ - cancel_mng_info(&g_backup_info); -} - /* Iterate core information */ int spp_iterate_core_info(struct spp_iterate_core_params *params) diff --git a/src/vf/spp_vf.h b/src/vf/spp_vf.h index adcfafe..3491879 100644 --- a/src/vf/spp_vf.h +++ b/src/vf/spp_vf.h @@ -267,11 +267,6 @@ int spp_update_port( */ int spp_flush(void); -/** - * Cancel data that is not flushing - */ -void spp_cancel(void); - struct spp_iterate_core_params; /** definition of iterated core element procedure function */ typedef int (*spp_iterate_core_element_proc)( -- 2.18.0