From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from tama500.ecl.ntt.co.jp (tama500.ecl.ntt.co.jp [129.60.39.148]) by dpdk.org (Postfix) with ESMTP id E67592965 for ; Wed, 18 Jul 2018 07:06:08 +0200 (CEST) Received: from vc2.ecl.ntt.co.jp (vc2.ecl.ntt.co.jp [129.60.86.154]) by tama500.ecl.ntt.co.jp (8.13.8/8.13.8) with ESMTP id w6I566na015950; Wed, 18 Jul 2018 14:06:07 +0900 Received: from vc2.ecl.ntt.co.jp (localhost [127.0.0.1]) by vc2.ecl.ntt.co.jp (Postfix) with ESMTP id E4BEC638F0C; Wed, 18 Jul 2018 14:06:06 +0900 (JST) Received: from jcms-pop21.ecl.ntt.co.jp (jcms-pop21.ecl.ntt.co.jp [129.60.87.134]) by vc2.ecl.ntt.co.jp (Postfix) with ESMTP id CF87263858F; Wed, 18 Jul 2018 14:06:06 +0900 (JST) Received: from [IPv6:::1] (watercress.nslab.ecl.ntt.co.jp [129.60.13.73]) by jcms-pop21.ecl.ntt.co.jp (Postfix) with ESMTPSA id C03EB400A5A; Wed, 18 Jul 2018 14:06:06 +0900 (JST) References: <1531784603-1761-1-git-send-email-x-fn-spp@sl.ntt-tx.co.jp> <201807162343.w6GNhNud014054@imss03.silk.ntt-tx.co.jp> From: Yasufumi Ogawa Message-ID: Date: Wed, 18 Jul 2018 14:04:22 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <201807162343.w6GNhNud014054@imss03.silk.ntt-tx.co.jp> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-CC-Mail-RelayStamp: 1 To: x-fn-spp@sl.ntt-tx.co.jp, ferruh.yigit@intel.com Cc: spp@dpdk.org X-TM-AS-MML: disable Subject: Re: [spp] [PATCH 1/2] spp_vf: remove flush command and cancel command 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: Wed, 18 Jul 2018 05:06:09 -0000 On 2018/07/17 8:43, x-fn-spp@sl.ntt-tx.co.jp wrote: > From: Hideyuki Yamashita > > This patch removes flush command and cancel command. > * call spp_flush() internally when component/port/classifier_mac > command is accepted Hi Hideyuki, I think this update is a little confusing because the meaning of "removes flush command" is unclear. spp_flush() is not removed but executed if ret is 0. I assume that you are going to remove flush command from SPP controller and spp_flush() is still remained in spp_vf. I think you had better to describe exactly what is your change, and why you remove flush and cancel command in this case. Log message "Execute flush command.\n" is also not appropriate because this command is removed in this change. > * send error when receive flush/cancel command No error is sent in this update. Thanks > * remove cancel related functions > > 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..398d9f9 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 command.\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 command.\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 command.\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)( > -- Yasufumi Ogawa NTT Network Service Systems Labs