Soft Patch Panel
 help / color / mirror / Atom feed
From: x-fn-spp@sl.ntt-tx.co.jp
To: ferruh.yigit@intel.com, ogawa.yasufumi@lab.ntt.co.jp
Cc: spp@dpdk.org
Subject: [spp] [PATCH v3 2/2] spp_vf: change to not use flush and cancel commnad
Date: Fri, 27 Jul 2018 09:32:06 +0900	[thread overview]
Message-ID: <201807270032.w6R0W7ii009239@imss03.silk.ntt-tx.co.jp> (raw)
In-Reply-To: <201807190223.w6J2N99b017386@imss03.silk.ntt-tx.co.jp>

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

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 <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..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

  parent reply	other threads:[~2018-07-27  0:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-16 23:43 [spp] [PATCH 0/2] remove flush command and cancel command from vf x-fn-spp
2018-07-19  2:23 ` [spp] [PATCH v2 " x-fn-spp
2018-07-27  0:32   ` [spp] [PATCH v3 0/2] change to not use flush and cancel commnad x-fn-spp
2018-07-29 23:15     ` Yasufumi Ogawa
2018-08-22  9:34       ` Ferruh Yigit
2018-07-27  0:32   ` [spp] [PATCH v3 1/2] docs: remove description related to flush and cancel x-fn-spp
2018-07-27  0:32   ` x-fn-spp [this message]
2018-07-19  2:23 ` [spp] [PATCH v2 " x-fn-spp
2018-07-19  2:23 ` [spp] [PATCH v2 2/2] spp_vf: remove flush command and cancel command x-fn-spp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201807270032.w6R0W7ii009239@imss03.silk.ntt-tx.co.jp \
    --to=x-fn-spp@sl.ntt-tx.co.jp \
    --cc=ferruh.yigit@intel.com \
    --cc=ogawa.yasufumi@lab.ntt.co.jp \
    --cc=spp@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).