Soft Patch Panel
 help / color / mirror / Atom feed
* [spp] [PATCH 1/2] spp_vf: remove flush command and cancel command
       [not found] <1531784603-1761-1-git-send-email-x-fn-spp@sl.ntt-tx.co.jp>
@ 2018-07-16 23:43 ` x-fn-spp
  2018-07-18  5:04   ` Yasufumi Ogawa
  2018-07-16 23:43 ` [spp] [PATCH 2/2] docs: remove description related to flush and cancel x-fn-spp
  1 sibling, 1 reply; 4+ messages in thread
From: x-fn-spp @ 2018-07-16 23:43 UTC (permalink / raw)
  To: ferruh.yigit, ogawa.yasufumi; +Cc: spp

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

This patch removes flush command and cancel command.
* call spp_flush() internally when component/port/classifier_mac
  command is accepted
* send error when receive flush/cancel command
* remove cancel related functions

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp>
Signed-off-by: Naoki Takada <takada.naoki@lab.ntt.co.jp>
---
 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)(
-- 
1.9.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [spp] [PATCH 2/2] docs: remove description related to flush and cancel
       [not found] <1531784603-1761-1-git-send-email-x-fn-spp@sl.ntt-tx.co.jp>
  2018-07-16 23:43 ` [spp] [PATCH 1/2] spp_vf: remove flush command and cancel command x-fn-spp
@ 2018-07-16 23:43 ` x-fn-spp
  1 sibling, 0 replies; 4+ messages in thread
From: x-fn-spp @ 2018-07-16 23:43 UTC (permalink / raw)
  To: ferruh.yigit, ogawa.yasufumi; +Cc: spp

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

This patche removes descriptions related to flush and cancel.
- remove from Use Cases(4.1.2,4.1.5)
- remove from SPP VF Commands(5.2.5,5.2.6)
- typo fix in Use Cases

Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp>
Signed-off-by: Naoki Takada <takada.naoki@lab.ntt.co.jp>
---
 docs/guides/spp_vf/commands/secondary.rst | 31 -------------------------------
 docs/guides/spp_vf/use_cases/usecase1.rst | 27 ++++-----------------------
 2 files changed, 4 insertions(+), 54 deletions(-)

diff --git a/docs/guides/spp_vf/commands/secondary.rst b/docs/guides/spp_vf/commands/secondary.rst
index 19e594c..58ccec5 100644
--- a/docs/guides/spp_vf/commands/secondary.rst
+++ b/docs/guides/spp_vf/commands/secondary.rst
@@ -251,34 +251,3 @@ This is an example to delete an entry with VLAN ID 101.
 .. code-block:: console
 
     spp > sec 0;classifier_table del vlan 101 52:54:00:01:00:01 ring:0
-
-
-flush
------
-
-.. note::
-    This command is only supported for spp_vf.
-
-Activate series of commands for a SPP VF secondary process
-(``component``, ``port`` or ``classifier`` command).
-
-You can cancel commands any time until
-before running ``cancel`` command.
-
-.. code-block:: console
-
-    spp > sec 1;flush
-
-
-cancel
-------
-
-.. note::
-    This command is only supported for spp_vf.
-
-Cancel all of commands for a SPP VF secondary process
-before running ``flush`` command.
-
-.. code-block:: console
-
-    spp > sec 1;cancel
diff --git a/docs/guides/spp_vf/use_cases/usecase1.rst b/docs/guides/spp_vf/use_cases/usecase1.rst
index 6a4f62f..5109518 100644
--- a/docs/guides/spp_vf/use_cases/usecase1.rst
+++ b/docs/guides/spp_vf/use_cases/usecase1.rst
@@ -243,19 +243,6 @@ Register entries to classifier_table for classifier2.
     Please verify that MAC address of target VM is specified in
     [MACADDRESS] parameter.
 
-Finally, activate all of settings by doign `flush` subcommand.
-
-.. code-block:: console
-
-    spp > sec 1;flush
-
-.. note::
-
-    Commands for SPP VF Controller are accepted but not activated until
-    user inputs ``flush`` subcommand.
-    You can cancel all of commands before doing ``flush``.
-
-
 Setup for VMs
 ~~~~~~~~~~~~~
 
@@ -337,8 +324,8 @@ for the first SSH login path.
 .. code-block:: console
 
     # Delete MAC address from Classifier
-    spp > sec 1;classifier_table del mac 51:54:00:12:34:56 ring:0
-    spp > sec 1;classifier_table del mac 51:54:00:12:34:58 ring:1
+    spp > sec 1;classifier_table del mac 52:54:00:12:34:56 ring:0
+    spp > sec 1;classifier_table del mac 52:54:00:12:34:58 ring:1
 
 .. code-block:: console
 
@@ -382,8 +369,8 @@ components.
 .. code-block:: console
 
     # Delete MAC address from Classifier
-    spp > sec 1;classifier_table del mac 51:54:00:12:34:57 ring:4
-    spp > sec 1;classifier_table del mac 51:54:00:12:34:59 ring:5
+    spp > sec 1;classifier_table del mac 52:54:00:12:34:57 ring:4
+    spp > sec 1;classifier_table del mac 52:54:00:12:34:59 ring:5
 
 .. code-block:: console
 
@@ -419,9 +406,3 @@ Then, stop components.
     spp > sec 1;component stop forwarder7
     spp > sec 1;component stop forwarder8
     spp > sec 1;component stop merger2
-
-Finally, run ``flush`` subcommand.
-
-.. code-block:: console
-
-    spp > sec 1;flush
-- 
1.9.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [spp] [PATCH 1/2] spp_vf: remove flush command and cancel command
  2018-07-16 23:43 ` [spp] [PATCH 1/2] spp_vf: remove flush command and cancel command x-fn-spp
@ 2018-07-18  5:04   ` Yasufumi Ogawa
  2018-07-18  8:19     ` [spp] [spp 03037] " Hideyuki Yamashita
  0 siblings, 1 reply; 4+ messages in thread
From: Yasufumi Ogawa @ 2018-07-18  5:04 UTC (permalink / raw)
  To: x-fn-spp, ferruh.yigit; +Cc: spp

On 2018/07/17 8:43, x-fn-spp@sl.ntt-tx.co.jp wrote:
> From: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp>
> 
> 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 <yamashita.hideyuki@po.ntt-tx.co.jp>
> Signed-off-by: Naoki Takada <takada.naoki@lab.ntt.co.jp>
> ---
>   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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [spp] [spp 03037] Re: [PATCH 1/2] spp_vf: remove flush command and cancel command
  2018-07-18  5:04   ` Yasufumi Ogawa
@ 2018-07-18  8:19     ` Hideyuki Yamashita
  0 siblings, 0 replies; 4+ messages in thread
From: Hideyuki Yamashita @ 2018-07-18  8:19 UTC (permalink / raw)
  To: Yasufumi Ogawa; +Cc: x-fn-spp, ferruh.yigit, spp

Hello Yasufumi-san,

Thanks for your comments.
Please see inline.
> On 2018/07/17 8:43, x-fn-spp@sl.ntt-tx.co.jp wrote:
> > From: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp>
> >
> > 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.
What you are saying is absolutely correct.

Flush function itself still remains even after this change applied.
What I changed is stop accepting flush command from user.

My intention of deleting flush command from SPP controller is to
increase usability.
Currently, user have to type flush each time he/she wants to reflect
change to SPP. But it is kind of bother. 
After this change, user does not have to type "flush" because 
flush function is called internally at the end of
classifier/component/port command procedure.

> Log message "Execute flush command.\n" is also not appropriate because this command is removed in this change.
I will change Log message "Execute flush.\n" instead of "Execute flush
command \n" following your instruction.

> > * send error when receive flush/cancel command
> No error is sent in this update.
Sorry for my poor explanation.
But by deleting flush/cancel related functions from command_proc.c,
when spp_vf receive those command, it assumes it received "Unknown
command" and it returns error(this route is existing one).

I will send revised patch set later (maybe tommorrow).


BR,
Hideyuki
NTT TechnoCross
> Thanks
> > * remove cancel related functions >
> > Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp>
> > Signed-off-by: Naoki Takada <takada.naoki@lab.ntt.co.jp>
> > ---
> >   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
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-07-18  8:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1531784603-1761-1-git-send-email-x-fn-spp@sl.ntt-tx.co.jp>
2018-07-16 23:43 ` [spp] [PATCH 1/2] spp_vf: remove flush command and cancel command x-fn-spp
2018-07-18  5:04   ` Yasufumi Ogawa
2018-07-18  8:19     ` [spp] [spp 03037] " Hideyuki Yamashita
2018-07-16 23:43 ` [spp] [PATCH 2/2] docs: remove description related to flush and cancel x-fn-spp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).