From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id C5CE3A046B for ; Mon, 24 Jun 2019 09:10:37 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BABD81BED2; Mon, 24 Jun 2019 09:10:37 +0200 (CEST) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 7D2521BED2 for ; Mon, 24 Jun 2019 09:10:36 +0200 (CEST) Received: by mail-pf1-f196.google.com with SMTP id p184so6960209pfp.7 for ; Mon, 24 Jun 2019 00:10:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=ngd34gyMp/RffRuHD76u6YQ3oorRz8W9EgsIAkCtGsQ=; b=otInfTfEdeUE/97xTbDDTOyjmkqhBIcBJ7P1RdYmaVBO56VCNYTnu6yPfn+f/UfNvW pZewYMi9KdbxO5JjGqFmrXlpiGob3lxpq6iv6Oj3vhs0qhDXehHHDK4tdWYWy3EOT5ye t2xwsuDpKPkBwAv8uf+EbvUZs8oLU7QIxJqFPZXBe2n30G2mzkFJG/E+9lSevb899Eif 1+BK2EFK6il6iIyRf2tqo2BEvOEVTvWZ/YqEWMk6fmntP11xwv/kNWuc1nqSFD3w64CV AU+c+G1w5L5D38uxS1tH2UFpQawTprbVx+ES2mMHhhLAIP+GMjEQgRKv3RgRi/2bI3kg cqmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=ngd34gyMp/RffRuHD76u6YQ3oorRz8W9EgsIAkCtGsQ=; b=mpRWuZE1PIKBX5+1x7Cimaefik2R2twGhBhU0XSQ7e6ZwKdCcyUwpaFDWjOIFWXfZu d58FqN9lLZAvMLqUYvSiFdAR1qLQLiAO0T6vFtHkhYqngIqeW8071H4MZY/rXJ6nuvVx OkE/O7YCyAQfiNymC/WjMS0p4SZW6WfxjVIgaEu15rtIehkJoB69Pv4zNBVep2fK76Fs J8+yaZV3vZlkll7bZfC93YbfX6357ho4M8J2smYmRbJkBAdC2YMu4hWvtSmmaXRho85c +yCI9gHmvvN/HbAFHWWw9103hB9jlISGHgZNHjyeZ8hzKpDyiKjEKIHdM2fOTzU5KbAm tT9w== X-Gm-Message-State: APjAAAUqT1BYA6IlmA1GurhnzuaOoWzd0YvC8/B2/h09IhTWBpOmuuAR BBjqaNNjHwjtqZouzG3UuTk3R/YB X-Google-Smtp-Source: APXvYqzA6Vqz4P469eiqxI0Bgeh0RPr5hJirUv2W4Hk2CEwabsrvVoNHS5jDnxgteNc/72tTEi5Ulg== X-Received: by 2002:a63:d24f:: with SMTP id t15mr28241638pgi.301.1561360235589; Mon, 24 Jun 2019 00:10:35 -0700 (PDT) Received: from localhost.localdomain ([192.47.164.146]) by smtp.gmail.com with ESMTPSA id 128sm10928965pfd.66.2019.06.24.00.10.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Jun 2019 00:10:35 -0700 (PDT) From: yasufum.o@gmail.com To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Date: Mon, 24 Jun 2019 16:10:25 +0900 Message-Id: <20190624071026.23286-2-yasufum.o@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190624071026.23286-1-yasufum.o@gmail.com> References: <20190624071026.23286-1-yasufum.o@gmail.com> Subject: [spp] [PATCH 1/2] shared/sec: move append_classifier_element_value 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: , Errors-To: spp-bounces@dpdk.org Sender: "spp" From: Yasufumi Ogawa This update is to move append_classifier_element_value() from shared dir to spp_vf's dir because this functions is for spp_vf. Signed-off-by: Yasufumi Ogawa --- .../spp_worker_th/cmd_res_formatter.c | 71 ------------------- .../spp_worker_th/cmd_res_formatter.h | 6 -- src/vf/vf_cmd_runner.c | 70 ++++++++++++++++++ 3 files changed, 70 insertions(+), 77 deletions(-) diff --git a/src/shared/secondary/spp_worker_th/cmd_res_formatter.c b/src/shared/secondary/spp_worker_th/cmd_res_formatter.c index f389939..a0c22d2 100644 --- a/src/shared/secondary/spp_worker_th/cmd_res_formatter.c +++ b/src/shared/secondary/spp_worker_th/cmd_res_formatter.c @@ -48,18 +48,6 @@ const char *PORT_ABILITY_STAT_LIST[] = { "", /* termination */ }; -/** - * List of classifier type. The order of items should be same as the order of - * enum `spp_classifier_type` defined in cmd_utils.h. - */ -/* TODO(yasufum) fix similar var in cmd_parser.c */ -const char *CLS_TYPE_A_LIST[] = { - "none", - "mac", - "vlan", - "", /* termination */ -}; - /* command response result string list */ struct cmd_response response_result_list[] = { { "result", append_result_value }, @@ -402,65 +390,6 @@ append_core_element_value( return ret; } -#ifdef SPP_VF_MODULE -/** - * Operator function called in iterator for getting each of entries of - * classifier table named as iterate_adding_mac_entry(). - */ -int -append_classifier_element_value( - struct spp_iterate_classifier_table_params *params, - enum spp_classifier_type type, - int vid, const char *mac, - const struct sppwk_port_idx *port) -{ - int ret = SPP_RET_NG; - char *buff, *tmp_buff; - char port_str[CMD_TAG_APPEND_SIZE]; - char value_str[STR_LEN_SHORT]; - buff = params->output; - tmp_buff = spp_strbuf_allocate(CMD_RES_BUF_INIT_SIZE); - if (unlikely(tmp_buff == NULL)) { - RTE_LOG(ERR, WK_CMD_RES_FMT, - /* TODO(yasufum) refactor no meaning err msg */ - "allocate error. (name = classifier_table)\n"); - return ret; - } - - spp_format_port_string(port_str, port->iface_type, port->iface_no); - - ret = append_json_str_value(&tmp_buff, "type", CLS_TYPE_A_LIST[type]); - if (unlikely(ret < SPP_RET_OK)) - return ret; - - memset(value_str, 0x00, STR_LEN_SHORT); - switch (type) { - case SPP_CLASSIFIER_TYPE_MAC: - sprintf(value_str, "%s", mac); - break; - case SPP_CLASSIFIER_TYPE_VLAN: - sprintf(value_str, "%d/%s", vid, mac); - break; - default: - /* not used */ - break; - } - - ret = append_json_str_value(&tmp_buff, "value", value_str); - if (unlikely(ret < 0)) - return ret; - - ret = append_json_str_value(&tmp_buff, "port", port_str); - if (unlikely(ret < SPP_RET_OK)) - return ret; - - ret = append_json_block_brackets(&buff, "", tmp_buff); - spp_strbuf_free(tmp_buff); - params->output = buff; - return ret; -} -#endif /* SPP_VF_MODULE */ - /* append string of command response list for JSON format */ int append_response_list_value(char **output, struct cmd_response *responses, diff --git a/src/shared/secondary/spp_worker_th/cmd_res_formatter.h b/src/shared/secondary/spp_worker_th/cmd_res_formatter.h index cf5f81b..6ae2c5d 100644 --- a/src/shared/secondary/spp_worker_th/cmd_res_formatter.h +++ b/src/shared/secondary/spp_worker_th/cmd_res_formatter.h @@ -56,12 +56,6 @@ int append_core_element_value(struct spp_iterate_core_params *params, const int num_rx, const struct sppwk_port_idx *rx_ports, const int num_tx, const struct sppwk_port_idx *tx_ports); -int append_classifier_element_value( - struct spp_iterate_classifier_table_params *params, - enum spp_classifier_type type, - int vid, const char *mac, - const struct sppwk_port_idx *port); - int append_response_list_value(char **output, struct cmd_response *responses, void *tmp); diff --git a/src/vf/vf_cmd_runner.c b/src/vf/vf_cmd_runner.c index c7d34a6..ecb36ff 100644 --- a/src/vf/vf_cmd_runner.c +++ b/src/vf/vf_cmd_runner.c @@ -14,6 +14,18 @@ #define RTE_LOGTYPE_VF_CMD_RUNNER RTE_LOGTYPE_USER1 +/** + * List of classifier type. The order of items should be same as the order of + * enum `spp_classifier_type` defined in cmd_utils.h. + */ +/* TODO(yasufum) fix similar var in cmd_parser.c */ +const char *CLS_TYPE_A_LIST[] = { + "none", + "mac", + "vlan", + "", /* termination */ +}; + /* Update classifier table with given action, add or del. */ static int update_cls_table(enum sppwk_action wk_action, @@ -536,7 +548,65 @@ update_comp_info(struct sppwk_comp_info *p_comp_info, int *p_change_comp) return SPP_RET_OK; } +/** + * Operator function called in iterator for getting each of entries of + * classifier table named as iterate_adding_mac_entry(). + */ +int +append_classifier_element_value( + struct spp_iterate_classifier_table_params *params, + enum spp_classifier_type type, + int vid, const char *mac, + const struct sppwk_port_idx *port) +{ + int ret = SPP_RET_NG; + char *buff, *tmp_buff; + char port_str[CMD_TAG_APPEND_SIZE]; + char value_str[STR_LEN_SHORT]; + buff = params->output; + tmp_buff = spp_strbuf_allocate(CMD_RES_BUF_INIT_SIZE); + if (unlikely(tmp_buff == NULL)) { + RTE_LOG(ERR, VF_CMD_RUNNER, + /* TODO(yasufum) refactor no meaning err msg */ + "allocate error. (name = classifier_table)\n"); + return ret; + } + + spp_format_port_string(port_str, port->iface_type, port->iface_no); + + ret = append_json_str_value(&tmp_buff, "type", CLS_TYPE_A_LIST[type]); + if (unlikely(ret < SPP_RET_OK)) + return ret; + + memset(value_str, 0x00, STR_LEN_SHORT); + switch (type) { + case SPP_CLASSIFIER_TYPE_MAC: + sprintf(value_str, "%s", mac); + break; + case SPP_CLASSIFIER_TYPE_VLAN: + sprintf(value_str, "%d/%s", vid, mac); + break; + default: + /* not used */ + break; + } + + ret = append_json_str_value(&tmp_buff, "value", value_str); + if (unlikely(ret < 0)) + return ret; + + ret = append_json_str_value(&tmp_buff, "port", port_str); + if (unlikely(ret < SPP_RET_OK)) + return ret; + + ret = append_json_block_brackets(&buff, "", tmp_buff); + spp_strbuf_free(tmp_buff); + params->output = buff; + return ret; +} + /* Get component type from string of its name. */ +/* TODO(yasufum) consider to create and move to vf_cmd_parser.c */ enum sppwk_worker_type get_comp_type_from_str(const char *type_str) { -- 2.17.1