From: ogawa.yasufumi@lab.ntt.co.jp
To: spp@dpdk.org, ferruh.yigit@intel.com, ogawa.yasufumi@lab.ntt.co.jp
Subject: [spp] [PATCH 04/11] shared/sec: rename struct for command response
Date: Fri, 31 May 2019 12:35:58 +0900 [thread overview]
Message-ID: <1559273765-26130-5-git-send-email-ogawa.yasufumi@lab.ntt.co.jp> (raw)
In-Reply-To: <1559273765-26130-1-git-send-email-ogawa.yasufumi@lab.ntt.co.jp>
From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
This update is to rename scruct `command_response_list` to
`cmd_response` because it is not a list actually and redundant. Some of
comments are also revised to improve maintainability.
Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
.../secondary/spp_worker_th/cmd_runner.c | 52 +++++++++----------
1 file changed, 24 insertions(+), 28 deletions(-)
diff --git a/src/shared/secondary/spp_worker_th/cmd_runner.c b/src/shared/secondary/spp_worker_th/cmd_runner.c
index 4874adc..a7005c3 100644
--- a/src/shared/secondary/spp_worker_th/cmd_runner.c
+++ b/src/shared/secondary/spp_worker_th/cmd_runner.c
@@ -26,8 +26,6 @@
#define CMD_REQ_BUF_INIT_SIZE 2048
#define CMD_RES_BUF_INIT_SIZE 2048
-#define COMMAND_RESP_LIST_EMPTY { "", NULL }
-
/* TODO(yasufum) revise later `JSON_*`. */
#define JSON_COMMA ", "
/* TODO(yasufum) confirm why using "" for the alternative of comma? */
@@ -43,19 +41,19 @@ enum cmd_res_codes {
CMD_INVALID,
};
-/* command execution result information */
struct cmd_result {
int code; /* Response code. */
char result[SPPWK_NAME_BUFSZ]; /* Response msg in short. */
char err_msg[CMD_ERR_MSG_LEN]; /* Used only if cmd is failed. */
};
-/* command response list control structure */
-struct command_response_list {
- /* Tag name */
+/**
+ * Contains command response nad operator func for. It is used as an array of
+ * this struct.
+ */
+/* TODO(yasufum) add comment describes the purpose of this struct is used. */
+struct cmd_response {
char tag_name[SPPWK_NAME_BUFSZ];
-
- /* Pointer to handling function */
int (*func)(const char *name, char **output, void *tmp);
};
@@ -1331,10 +1329,11 @@ append_classifier_table_value(const char *name, char **output,
return ret;
}
#endif /* SPP_VF_MODULE */
+
/* append string of command response list for JSON format */
static int
append_response_list_value(char **output,
- struct command_response_list *list,
+ struct cmd_response *responses,
void *tmp)
{
int ret = SPP_RET_NG;
@@ -1348,14 +1347,14 @@ append_response_list_value(char **output,
return SPP_RET_NG;
}
- for (i = 0; list[i].tag_name[0] != '\0'; i++) {
+ for (i = 0; responses[i].tag_name[0] != '\0'; i++) {
tmp_buff[0] = '\0';
- ret = list[i].func(list[i].tag_name, &tmp_buff, tmp);
+ ret = responses[i].func(responses[i].tag_name, &tmp_buff, tmp);
if (unlikely(ret < SPP_RET_OK)) {
spp_strbuf_free(tmp_buff);
RTE_LOG(ERR, SPP_COMMAND_PROC,
"Failed to get reply string. "
- "(tag = %s)\n", list[i].tag_name);
+ "(tag = %s)\n", responses[i].tag_name);
return SPP_RET_NG;
}
@@ -1369,7 +1368,7 @@ append_response_list_value(char **output,
RTE_LOG(ERR, SPP_COMMAND_PROC,
"Failed to add commas. "
"(tag = %s)\n",
- list[i].tag_name);
+ responses[i].tag_name);
return SPP_RET_NG;
}
}
@@ -1381,7 +1380,7 @@ append_response_list_value(char **output,
RTE_LOG(ERR, SPP_COMMAND_PROC,
"Failed to add reply string. "
"(tag = %s)\n",
- list[i].tag_name);
+ responses[i].tag_name);
return SPP_RET_NG;
}
}
@@ -1390,14 +1389,11 @@ append_response_list_value(char **output,
return SPP_RET_OK;
}
-/* termination constant of command response list */
-#define COMMAND_RESP_TAG_LIST_EMPTY { "", NULL }
-
/* command response result string list */
-struct command_response_list response_result_list[] = {
- { "result", append_result_value },
+struct cmd_response response_result_list[] = {
+ { "result", append_result_value },
{ "error_details", append_error_details_value },
- COMMAND_RESP_TAG_LIST_EMPTY
+ { "", NULL }
};
/**
@@ -1406,17 +1402,17 @@ struct command_response_list response_result_list[] = {
* response.
*/
/* command response status information string list */
-struct command_response_list response_info_list[] = {
- { "client-id", append_client_id_value },
- { "phy", append_interface_value },
- { "vhost", append_interface_value },
- { "ring", append_interface_value },
- { "master-lcore", append_master_lcore_value },
- { "core", append_core_value },
+struct cmd_response response_info_list[] = {
+ { "client-id", append_client_id_value },
+ { "phy", append_interface_value },
+ { "vhost", append_interface_value },
+ { "ring", append_interface_value },
+ { "master-lcore", append_master_lcore_value },
+ { "core", append_core_value },
#ifdef SPP_VF_MODULE
{ "classifier_table", append_classifier_table_value },
#endif /* SPP_VF_MODULE */
- COMMAND_RESP_TAG_LIST_EMPTY
+ { "", NULL }
};
/* append a list of command results for JSON format. */
--
2.17.1
next prev parent reply other threads:[~2019-05-31 3:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-31 3:35 [spp] [PATCH 00/11] Refactor functions for handling commands ogawa.yasufumi
2019-05-31 3:35 ` [spp] [PATCH 01/11] shared/sec: rename functions of sppwk_cmd_runner ogawa.yasufumi
2019-05-31 3:35 ` [spp] [PATCH 02/11] shared/sec: revise enum for cmd response ogawa.yasufumi
2019-05-31 3:35 ` [spp] [PATCH 03/11] shared/sec: refactor passing err in cmd_runner ogawa.yasufumi
2019-05-31 3:35 ` ogawa.yasufumi [this message]
2019-05-31 3:35 ` [spp] [PATCH 05/11] shared/sec: refactor funcs for managing port info ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 06/11] shared/sec: rename util functions in cmd_runner ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 07/11] shared/sec: rename func for getting component ID ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 08/11] shared/sec: refactor func for updating cls table ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 09/11] shared/sec: rename func for executing command ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 10/11] shared/sec: add helpers for logging cmd parser ogawa.yasufumi
2019-05-31 3:36 ` [spp] [PATCH 11/11] shared/sec: rename func for updating port ogawa.yasufumi
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=1559273765-26130-5-git-send-email-ogawa.yasufumi@lab.ntt.co.jp \
--to=ogawa.yasufumi@lab.ntt.co.jp \
--cc=ferruh.yigit@intel.com \
--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).