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 8DDB5A046B for ; Mon, 24 Jun 2019 12:41:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 867161BED0; Mon, 24 Jun 2019 12:41:32 +0200 (CEST) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by dpdk.org (Postfix) with ESMTP id 3BA181BED0 for ; Mon, 24 Jun 2019 12:41:31 +0200 (CEST) Received: by mail-pg1-f195.google.com with SMTP id w10so6883494pgj.7 for ; Mon, 24 Jun 2019 03:41:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=Cax01KtQ5d7RXhx4CzpRzz80n42zTsgdQGz0X7wH/tA=; b=BWKB6b7TPA+Hywy44bfzvjnQjmao9BXYNrsum+TgBfOdix3WprJu+VNfrfyMFj6HWa deqv/15p7QTG4BPGD5ObFMogMrgG4FQoLjeY4RtmHhq6Mgrq19Tl/oEK7ERhVL4Z72cT A64oauSH6jqeXG+KJXjbefzOLLmftMWF0vhgSGP+5emTqhLE1xivCeLHruFrb2In60pf JAIlmTytxo3XQPGmPkjGw7jikxazg3LbMQCIr4d7fVLbiBNcmqwhtDsHXSgKkMgBEwxm XclQ7gSfy/QkIEBijKY0rm5jyjUPua77A7Itr1fGLtMcmYlW+ymhJq2MjEiEee68mzTO rpXQ== 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; bh=Cax01KtQ5d7RXhx4CzpRzz80n42zTsgdQGz0X7wH/tA=; b=fIb9w5Skm1lwmdIJqYi4qxlMSzKiUYpdLObCdwE15PRtnTBZcbQ3ceeDFbXZlV+U3t qowAU/B7rOnw784k66usXGITXVjrc3VM62oDDsRcyvOpjH9QjHjDfsSvfiPjaaw0NbKw b00zlTqbJ17Gm/AruW6km7ZOIoagcPOiJMFqoi3wS515zmilDIhO1M9r608ykMBd6zMl SHyV719QWRkPPXJKqVX/ziuBGKaAUo4wxGD3KMFsg6Uvx6CItm4CPuzejAOAc49V4tED 03UrkpSrngNfGnpehFGukQ8p8Lm/FySicrcrpW8amMfqHedKnVkopLG2hQ5C5W3ffWUm 8QFg== X-Gm-Message-State: APjAAAWYXaabHo1QoCxPcJHrsRbNyp744KZ6f+VPVwLF1LGXZ4D7mFyF 6hZj9Ua40KPqjJNZscH+smTeqBQB X-Google-Smtp-Source: APXvYqx0DAo0glSa3nRKRZd6rVD3GrH6oMh+R9MqhEQefnF/FFSbV9HIdRRlgRM+1UIMLYYiQVSnaQ== X-Received: by 2002:a17:90a:9382:: with SMTP id q2mr24167744pjo.131.1561372890168; Mon, 24 Jun 2019 03:41:30 -0700 (PDT) Received: from localhost.localdomain ([192.47.164.146]) by smtp.gmail.com with ESMTPSA id p65sm12236232pfp.58.2019.06.24.03.41.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Jun 2019 03:41:29 -0700 (PDT) From: yasufum.o@gmail.com To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Date: Mon, 24 Jun 2019 19:41:26 +0900 Message-Id: <20190624104126.24763-1-yasufum.o@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [spp] [PATCH] shared/sec: remove function spp_vf_add_vhost_pmd 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 Spp_vf and spp_mirror use spp_vf_add_vhost_pmd() for assigning vhost port, but this feature is the same as add_vhost_pmd(). This update is to remove former one. For this update, remove `vhost_client` which is a member of struct `startup_param` and no longer needed. Signed-off-by: Yasufumi Ogawa --- src/mirror/spp_mirror.c | 5 +- src/shared/secondary/add_port.c | 28 +++- src/shared/secondary/add_port.h | 1 + .../secondary/spp_worker_th/cmd_utils.c | 127 +----------------- .../secondary/spp_worker_th/cmd_utils.h | 9 -- src/vf/spp_vf.c | 5 +- 6 files changed, 33 insertions(+), 142 deletions(-) diff --git a/src/mirror/spp_mirror.c b/src/mirror/spp_mirror.c index 892a3a8..aad74a9 100644 --- a/src/mirror/spp_mirror.c +++ b/src/mirror/spp_mirror.c @@ -11,6 +11,7 @@ #include "spp_mirror.h" #include "shared/common.h" +#include "shared/secondary/add_port.h" #include "shared/secondary/return_codes.h" #include "shared/secondary/utils.h" #include "shared/secondary/spp_worker_th/mirror_deps.h" @@ -194,7 +195,7 @@ parse_app_args(int argc, char *argv[]) proc_flg = 1; break; case SPP_LONGOPT_RETVAL_VHOST_CLIENT: - g_startup_param.vhost_client = 1; + g_enable_vhost_cli = 1; break; case 's': if (parse_app_server(optarg, g_startup_param.server_ip, @@ -224,7 +225,7 @@ parse_app_args(int argc, char *argv[]) g_startup_param.wk_proc_type, g_startup_param.server_ip, g_startup_param.server_port, - g_startup_param.vhost_client); + g_enable_vhost_cli); return SPP_RET_OK; } diff --git a/src/shared/secondary/add_port.c b/src/shared/secondary/add_port.c index 6924583..e0de36f 100644 --- a/src/shared/secondary/add_port.c +++ b/src/shared/secondary/add_port.c @@ -165,36 +165,52 @@ add_vhost_pmd(int index) sprintf(devargs, "%s,iface=%s,queues=%d,client=%d", name, iface, nr_queues, g_enable_vhost_cli); - RTE_LOG(DEBUG, SHARED, "devargs for vhost: '%s'\n", devargs); + RTE_LOG(DEBUG, SHARED, "Devargs for vhost: '%s'.\n", devargs); ret = dev_attach_by_devargs(devargs, &vhost_port_id); - if (ret < 0) + if (ret < 0) { + RTE_LOG(ERR, SHARED, "Cannot attach: %s.\n", devargs); return ret; + } ret = rte_eth_dev_configure(vhost_port_id, nr_queues, nr_queues, &port_conf); - if (ret < 0) + if (ret < 0) { + RTE_LOG(ERR, SHARED, "Failed to dev configure.\n"); return ret; + } /* Allocate and set up 1 RX queue per Ethernet port. */ for (q = 0; q < nr_queues; q++) { ret = rte_eth_rx_queue_setup(vhost_port_id, q, NR_DESCS, rte_eth_dev_socket_id(vhost_port_id), NULL, mp); - if (ret < 0) + if (ret < 0) { + RTE_LOG(ERR, SHARED, + "Failed to setup RX queue, " + "port: %d, queue: %d.\n", + vhost_port_id, q); return ret; + } } /* Allocate and set up 1 TX queue per Ethernet port. */ for (q = 0; q < nr_queues; q++) { ret = rte_eth_tx_queue_setup(vhost_port_id, q, NR_DESCS, rte_eth_dev_socket_id(vhost_port_id), NULL); - if (ret < 0) + if (ret < 0) { + RTE_LOG(ERR, SHARED, + "Failed to setup TX queue, " + "port: %d, queue: %d.\n", + vhost_port_id, q); return ret; + } } /* Start the Ethernet port. */ ret = rte_eth_dev_start(vhost_port_id); - if (ret < 0) + if (ret < 0) { + RTE_LOG(ERR, SHARED, "Failed to start vhost.\n"); return ret; + } RTE_LOG(DEBUG, SHARED, "vhost port id %d\n", vhost_port_id); diff --git a/src/shared/secondary/add_port.h b/src/shared/secondary/add_port.h index 7012940..943d0d6 100644 --- a/src/shared/secondary/add_port.h +++ b/src/shared/secondary/add_port.h @@ -20,6 +20,7 @@ #define RTE_LOGTYPE_SHARED RTE_LOGTYPE_USER1 +/* TODO(yasufum) remove it after --vhost-client is retrieved from a func. */ extern int g_enable_vhost_cli; /** diff --git a/src/shared/secondary/spp_worker_th/cmd_utils.c b/src/shared/secondary/spp_worker_th/cmd_utils.c index d21c23a..f24d1a6 100644 --- a/src/shared/secondary/spp_worker_th/cmd_utils.c +++ b/src/shared/secondary/spp_worker_th/cmd_utils.c @@ -11,9 +11,10 @@ #include #include -#include "shared/secondary/return_codes.h" #include "cmd_utils.h" #include "spp_port.h" +#include "shared/secondary/add_port.h" +#include "shared/secondary/return_codes.h" #ifdef SPP_VF_MODULE #include "vf_deps.h" @@ -70,125 +71,6 @@ log_hexdumped(const char *obj_name, const void *obj_addr, const size_t size) } } -/* generation of the ring port */ -int -spp_vf_add_ring_pmd(int ring_id) -{ - struct rte_ring *ring; - int ring_port_id; - uint16_t port_id = PORT_RESET; - char dev_name[RTE_ETH_NAME_MAX_LEN]; - - /* Lookup ring of given id */ - ring = rte_ring_lookup(get_rx_queue_name(ring_id)); - if (unlikely(ring == NULL)) { - RTE_LOG(ERR, APP, - "Cannot get RX ring - is server process running?\n"); - return SPP_RET_NG; - } - - /* Create ring pmd */ - snprintf(dev_name, RTE_ETH_NAME_MAX_LEN - 1, "net_ring_%s", ring->name); - /* check whether a port already exists. */ - ring_port_id = rte_eth_dev_get_port_by_name(dev_name, &port_id); - if (port_id == PORT_RESET) { - ring_port_id = rte_eth_from_ring(ring); - if (ring_port_id < 0) { - RTE_LOG(ERR, APP, "Cannot create eth dev with " - "rte_eth_from_ring()\n"); - return SPP_RET_NG; - } - } else { - ring_port_id = port_id; - rte_eth_dev_start(ring_port_id); - } - RTE_LOG(INFO, APP, "ring port add. (no = %d / port = %d)\n", - ring_id, ring_port_id); - return ring_port_id; -} - -/* generation of the vhost port */ -int -spp_vf_add_vhost_pmd(int index, int client) -{ - struct rte_eth_conf port_conf = { - .rxmode = { .max_rx_pkt_len = ETHER_MAX_LEN } - }; - struct rte_mempool *mp; - uint16_t vhost_port_id; - int nr_queues = 1; - const char *name; - char devargs[64]; - char *iface; - uint16_t q; - int ret; -#define NR_DESCS 128 - - mp = rte_mempool_lookup(PKTMBUF_POOL_NAME); - if (unlikely(mp == NULL)) { - RTE_LOG(ERR, APP, "Cannot get mempool for mbufs. " - "(name = %s)\n", PKTMBUF_POOL_NAME); - return SPP_RET_NG; - } - - /* eth_vhost0 index 0 iface /tmp/sock0 on numa 0 */ - name = get_vhost_backend_name(index); - iface = get_vhost_iface_name(index); - - sprintf(devargs, "%s,iface=%s,queues=%d,client=%d", - name, iface, nr_queues, client); - ret = dev_attach_by_devargs(devargs, &vhost_port_id); - if (unlikely(ret < 0)) { - RTE_LOG(ERR, APP, "spp_rte_eth_dev_attach error. " - "(ret = %d)\n", ret); - return ret; - } - - ret = rte_eth_dev_configure(vhost_port_id, nr_queues, nr_queues, - &port_conf); - if (unlikely(ret < 0)) { - RTE_LOG(ERR, APP, "rte_eth_dev_configure error. " - "(ret = %d)\n", ret); - return ret; - } - - /* Allocate and set up 1 RX queue per Ethernet port. */ - for (q = 0; q < nr_queues; q++) { - ret = rte_eth_rx_queue_setup(vhost_port_id, q, NR_DESCS, - rte_eth_dev_socket_id(vhost_port_id), NULL, mp); - if (unlikely(ret < 0)) { - RTE_LOG(ERR, APP, - "rte_eth_rx_queue_setup error. (ret = %d)\n", - ret); - return ret; - } - } - - /* Allocate and set up 1 TX queue per Ethernet port. */ - for (q = 0; q < nr_queues; q++) { - ret = rte_eth_tx_queue_setup(vhost_port_id, q, NR_DESCS, - rte_eth_dev_socket_id(vhost_port_id), NULL); - if (unlikely(ret < 0)) { - RTE_LOG(ERR, APP, - "rte_eth_tx_queue_setup error. (ret = %d)\n", - ret); - return ret; - } - } - - /* Start the Ethernet port. */ - ret = rte_eth_dev_start(vhost_port_id); - if (unlikely(ret < 0)) { - RTE_LOG(ERR, APP, "rte_eth_dev_start error. (ret = %d)\n", - ret); - return ret; - } - - RTE_LOG(INFO, APP, "vhost port add. (no = %d / port = %d)\n", - index, vhost_port_id); - return vhost_port_id; -} - /* Get core status */ enum sppwk_lcore_status spp_get_core_status(unsigned int lcore_id) @@ -606,7 +488,7 @@ del_vhost_sockfile(struct sppwk_port_info *vhost) int cnt; /* Do not remove for if it is running in vhost-client mode. */ - if (g_mng_data.p_startup_param->vhost_client != 0) + if (g_enable_vhost_cli != 0) return; for (cnt = 0; cnt < RTE_MAX_ETHPORTS; cnt++) { @@ -830,8 +712,7 @@ update_port_info(void) for (cnt = 0; cnt < RTE_MAX_ETHPORTS; cnt++) { port = &p_iface_info->vhost[cnt]; if ((port->iface_type != UNDEF) && (port->ethdev_port_id < 0)) { - ret = spp_vf_add_vhost_pmd(port->iface_no, - g_mng_data.p_startup_param->vhost_client); + ret = add_vhost_pmd(port->iface_no); if (ret < 0) return SPP_RET_NG; port->ethdev_port_id = ret; diff --git a/src/shared/secondary/spp_worker_th/cmd_utils.h b/src/shared/secondary/spp_worker_th/cmd_utils.h index 7139865..f3e2303 100644 --- a/src/shared/secondary/spp_worker_th/cmd_utils.h +++ b/src/shared/secondary/spp_worker_th/cmd_utils.h @@ -204,7 +204,6 @@ struct startup_param { int client_id; /* Client ID */ char server_ip[INET_ADDRSTRLEN]; /* IP address of spp-ctl */ int server_port; /* Port Number of spp-ctl */ - int vhost_client; /* Flag for --vhost-client option */ enum sppwk_proc_type wk_proc_type; }; @@ -300,14 +299,6 @@ struct spp_iterate_classifier_table_params { void log_hexdumped(const char *obj_name, const void *obj_addr, const size_t size); -/** - * Add ring pmd for owned proccess or thread. - * - * @param[in] ring_id added ring id. - * @return ring port ID, or -1 if failed. - */ -int spp_vf_add_ring_pmd(int ring_id); - /** * Add ring pmd for owned proccess or thread. * diff --git a/src/vf/spp_vf.c b/src/vf/spp_vf.c index bc8db5c..4513a0c 100644 --- a/src/vf/spp_vf.c +++ b/src/vf/spp_vf.c @@ -11,6 +11,7 @@ #include "classifier_mac.h" #include "forwarder.h" #include "shared/secondary/return_codes.h" +#include "shared/secondary/add_port.h" #include "shared/secondary/spp_worker_th/cmd_runner.h" #include "shared/secondary/spp_worker_th/cmd_parser.h" #include "shared/secondary/spp_worker_th/spp_port.h" @@ -150,7 +151,7 @@ parse_app_args(int argc, char *argv[]) proc_flg = 1; break; case SPP_LONGOPT_RETVAL_VHOST_CLIENT: - g_startup_param.vhost_client = 1; + g_enable_vhost_cli = 1; break; case 's': if (parse_app_server(optarg, g_startup_param.server_ip, @@ -180,7 +181,7 @@ parse_app_args(int argc, char *argv[]) g_startup_param.wk_proc_type, g_startup_param.server_ip, g_startup_param.server_port, - g_startup_param.vhost_client); + g_enable_vhost_cli); return SPP_RET_OK; } -- 2.17.1