From patchwork Tue Apr 23 16:48:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53006 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 68EC81B3B7; Tue, 23 Apr 2019 18:48:24 +0200 (CEST) Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by dpdk.org (Postfix) with ESMTP id DA2E81B3A8 for ; Tue, 23 Apr 2019 18:48:21 +0200 (CEST) Received: by mail-pl1-f195.google.com with SMTP id o7so5561100pll.13 for ; Tue, 23 Apr 2019 09:48:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Idsor3QgEThF7cW+Rj13b0aHmkE5qeQvQi5qfSiIfYo=; b=UjF0Q+oD7b9GZBIEN6djCbK/+Bbg78YR/u3L6s8Z/ugLb6yzRWRrzu77pA3iKROIZ8 RQ+g+mIG5SVABRjWY855GKmakEjSmItME5QgVYUJTk57lKbPtkdyZawU+kQacr/uX7/l ArxngsVyUcgZVA2bfNA4OZhUQdZKeMNJWVEqc9Yo5NqbNbWB26V76+klk4I+nCAQIRyg 1MxruOvhqawFv9lMAL/fIfgV0HlHCL/mSClwXDyqCdQhQY47w+NEQBuObPwr9LtC5oUG df0YbBsH7AYoLXk4o+S2aRfxL0eYK27BbhQEIGl/V3BLy+t1maW+JXJORFVzpeW4nV1Q ax+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Idsor3QgEThF7cW+Rj13b0aHmkE5qeQvQi5qfSiIfYo=; b=bWS3zbDe/kAbL2KPYc/6XkOMK2SjzShFNDJGp7cVrxMFutzjrAih6UDCNODCCnOIBS bT64PbZ+RmsQivjqgwbvWEN/YWN8m49ck09CxVCALTUj0WMsji/6QrzP8wzVflRI3lQr 4n3VhXK9nVdTup8TXl2xqSGhTvtue2e9ujQFo1XwESied1Hpkbw46xcnlsgFP3nEoB3I fgCGP6yUZHtmJ8xDFoCEMcyLTxukobuL0LgT+1SHNCMxtC3q/t6+X1HZwlDBLXaqA5UQ tU2V1qY4QwYlFUkMI4wtFqhtHvQicsuX34YHTNyZoYx6bpRaROrwKmHOzv2VoQT8MkXN ajUw== X-Gm-Message-State: APjAAAXTYBVkPsC32u8vrmYudggfhiiuPPi710ryXKtMBNRf53QKoZEf LOFhY6kgLMNCc+w7ELVzZ6Ltcg== X-Google-Smtp-Source: APXvYqyaZyql0TX8dD7U2v46hJ6kkXGMulIrZV+hv3z+fs5uBBegNtkOEMJCgCiSwandSnkj1SfQaA== X-Received: by 2002:a17:902:e683:: with SMTP id cn3mr27258584plb.115.1556038100882; Tue, 23 Apr 2019 09:48:20 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id h65sm58943277pfd.108.2019.04.23.09.48.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:48:19 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger , Stephen Hemminger Date: Tue, 23 Apr 2019 09:48:09 -0700 Message-Id: <20190423164812.3427-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423164812.3427-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/4] net/ring: fix coding style X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Whitespace fixes to bring inline with current DPDK style. Signed-off-by: Stephen Hemminger --- drivers/net/ring/rte_eth_ring.c | 58 ++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 115a882b507c..91e5f5f8f262 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -45,8 +45,8 @@ struct ring_queue { }; struct pmd_internals { - unsigned max_rx_queues; - unsigned max_tx_queues; + unsigned int max_rx_queues; + unsigned int max_tx_queues; struct ring_queue rx_ring_queues[RTE_PMD_RING_MAX_RX_RINGS]; struct ring_queue tx_ring_queues[RTE_PMD_RING_MAX_TX_RINGS]; @@ -55,12 +55,11 @@ struct pmd_internals { enum dev_action action; }; - static struct rte_eth_link pmd_link = { - .link_speed = ETH_SPEED_NUM_10G, - .link_duplex = ETH_LINK_FULL_DUPLEX, - .link_status = ETH_LINK_DOWN, - .link_autoneg = ETH_LINK_FIXED, + .link_speed = ETH_SPEED_NUM_10G, + .link_duplex = ETH_LINK_FULL_DUPLEX, + .link_status = ETH_LINK_DOWN, + .link_autoneg = ETH_LINK_FIXED, }; static int eth_ring_logtype; @@ -138,6 +137,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, struct rte_mempool *mb_pool __rte_unused) { struct pmd_internals *internals = dev->data->dev_private; + dev->data->rx_queues[rx_queue_id] = &internals->rx_ring_queues[rx_queue_id]; return 0; } @@ -149,6 +149,7 @@ eth_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, const struct rte_eth_txconf *tx_conf __rte_unused) { struct pmd_internals *internals = dev->data->dev_private; + dev->data->tx_queues[tx_queue_id] = &internals->tx_ring_queues[tx_queue_id]; return 0; } @@ -156,9 +157,10 @@ eth_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, static void eth_dev_info(struct rte_eth_dev *dev, - struct rte_eth_dev_info *dev_info) + struct rte_eth_dev_info *dev_info) { struct pmd_internals *internals = dev->data->dev_private; + dev_info->max_mac_addrs = 1; dev_info->max_rx_pktlen = (uint32_t)-1; dev_info->max_rx_queues = (uint16_t)internals->max_rx_queues; @@ -169,7 +171,7 @@ eth_dev_info(struct rte_eth_dev *dev, static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) { - unsigned i; + unsigned int i; unsigned long rx_total = 0, tx_total = 0, tx_err_total = 0; const struct pmd_internals *internal = dev->data->dev_private; @@ -197,8 +199,9 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) static void eth_stats_reset(struct rte_eth_dev *dev) { - unsigned i; + unsigned int i; struct pmd_internals *internal = dev->data->dev_private; + for (i = 0; i < dev->data->nb_rx_queues; i++) internal->rx_ring_queues[i].rx_pkts.cnt = 0; for (i = 0; i < dev->data->nb_tx_queues; i++) { @@ -250,8 +253,10 @@ static struct rte_vdev_driver pmd_ring_drv; static int do_eth_dev_ring_create(const char *name, - struct rte_ring * const rx_queues[], const unsigned nb_rx_queues, - struct rte_ring *const tx_queues[], const unsigned nb_tx_queues, + struct rte_ring * const rx_queues[], + const unsigned int nb_rx_queues, + struct rte_ring *const tx_queues[], + const unsigned int nb_tx_queues, const unsigned int numa_node, enum dev_action action, struct rte_eth_dev **eth_dev_p) { @@ -260,7 +265,7 @@ do_eth_dev_ring_create(const char *name, struct rte_eth_dev *eth_dev = NULL; void **rx_queues_local = NULL; void **tx_queues_local = NULL; - unsigned i; + unsigned int i; PMD_LOG(INFO, "Creating rings-backed ethdev on numa socket %u", numa_node); @@ -344,10 +349,10 @@ do_eth_dev_ring_create(const char *name, int rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], - const unsigned nb_rx_queues, + const unsigned int nb_rx_queues, struct rte_ring *const tx_queues[], - const unsigned nb_tx_queues, - const unsigned numa_node) + const unsigned int nb_tx_queues, + const unsigned int numa_node) { struct ring_internal_args args = { .rx_queues = rx_queues, @@ -398,16 +403,16 @@ rte_eth_from_ring(struct rte_ring *r) } static int -eth_dev_ring_create(const char *name, const unsigned numa_node, +eth_dev_ring_create(const char *name, const unsigned int numa_node, enum dev_action action, struct rte_eth_dev **eth_dev) { /* rx and tx are so-called from point of view of first port. * They are inverted from the point of view of second port */ struct rte_ring *rxtx[RTE_PMD_RING_MAX_RX_RINGS]; - unsigned i; + unsigned int i; char rng_name[RTE_RING_NAMESIZE]; - unsigned num_rings = RTE_MIN(RTE_PMD_RING_MAX_RX_RINGS, + unsigned int num_rings = RTE_MIN(RTE_PMD_RING_MAX_RX_RINGS, RTE_PMD_RING_MAX_TX_RINGS); for (i = 0; i < num_rings; i++) { @@ -429,17 +434,18 @@ eth_dev_ring_create(const char *name, const unsigned numa_node, struct node_action_pair { char name[PATH_MAX]; - unsigned node; + unsigned int node; enum dev_action action; }; struct node_action_list { - unsigned total; - unsigned count; + unsigned int total; + unsigned int count; struct node_action_pair *list; }; -static int parse_kvlist (const char *key __rte_unused, const char *value, void *data) +static int parse_kvlist(const char *key __rte_unused, + const char *value, void *data) { struct node_action_list *info = data; int ret; @@ -553,8 +559,8 @@ rte_pmd_ring_probe(struct rte_vdev_device *dev) kvlist = rte_kvargs_parse(params, valid_arguments); if (!kvlist) { - PMD_LOG(INFO, "Ignoring unsupported parameters when creating" - " rings-backed ethernet device"); + PMD_LOG(INFO, + "Ignoring unsupported parameters when creatingrings-backed ethernet device"); ret = eth_dev_ring_create(name, rte_socket_id(), DEV_CREATE, ð_dev); if (ret == -1) { @@ -598,7 +604,7 @@ rte_pmd_ring_probe(struct rte_vdev_device *dev) goto out_free; info->total = ret; - info->list = (struct node_action_pair*)(info + 1); + info->list = (struct node_action_pair *)(info + 1); ret = rte_kvargs_process(kvlist, ETH_RING_NUMA_NODE_ACTION_ARG, parse_kvlist, info); From patchwork Tue Apr 23 16:48:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53007 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 520E01B42B; Tue, 23 Apr 2019 18:48:27 +0200 (CEST) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by dpdk.org (Postfix) with ESMTP id 72F711B3A8 for ; Tue, 23 Apr 2019 18:48:23 +0200 (CEST) Received: by mail-pg1-f193.google.com with SMTP id f6so7879603pgs.8 for ; Tue, 23 Apr 2019 09:48:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=62W36ynNMKSTZgtQuhWc9PSZc0VPxhnbMciWt9vJ8bE=; b=U9CkNZWHmo6NtbyHUpdR3ax/As4yOgvpGJWmxQJRMIjYYuzb9N1vfAj4DXYADcpZvL qO/WZFb4BOxiLc7fFCRT+fDS+PTtW/YAGdEYz8et71nys+MaaMD9qdfXffcZpQZ0WMNH LrXZB1E+HhGostpTza9UuDqmD/f1IxD6FHSIb7AkWTkBZMuyEGgLUosGskNM407Ugzx9 NCjB3Jxr7E89iZDUOHeogyznkGpw3/jZnLQkabSCXCWg0dKvS7EdaDNHTPhzwyw07mmH tlFE2a1FffrYdErtuzMQHwR1gd4GxoKJHh+A8y6nL4BfxXC/HXzKKj3wV+7YCqhAcoes v3Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=62W36ynNMKSTZgtQuhWc9PSZc0VPxhnbMciWt9vJ8bE=; b=eeLTVmxNxvUrkUjYD1OpXzh+/NzLcSloLwsmdv324GtWLg6zhdzoFsjciNzl/HxsXe 9IpKy/EI1riO+GgPWIqUinHbVylz7DNHjsUBkhRAMkTyA58ol+t3nev+OsxN8JEnhPpX yGmOD8SPOeeqN9GgGLNneVpO77PpJj8wPQ6lyyD3uaAbIJb/aq/J6qB8mTuqZifp9voX m8jT7kAtqxwMpqAbFiRmgWt05zBMCG2f/2x8Rn2VAVLoOuZI/uuUOSdFDdCU1dlE401X /FrEeJosS/aT10xFnp0BnzVfdnDX4T7kPZyVz0P3VehWOpBhl/5sCFzWAW24IYEJrB+2 8lfw== X-Gm-Message-State: APjAAAXYNm1AvNDbYd/1NNyPVesdIsFfwrhyHhlQezohxA+NTDlJzXIL Bp3X8aw+N0+IvyGPUd2cmhmqjiRbn1E= X-Google-Smtp-Source: APXvYqyBhLXNnbbJItPoT5Ib/kts6s3Wb5fRVFgmTr4p2OfqAS7qcuRcViFBsrOMAeGmbZ1PPUkj9w== X-Received: by 2002:a62:aa06:: with SMTP id e6mr28100079pff.254.1556038102629; Tue, 23 Apr 2019 09:48:22 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id h65sm58943277pfd.108.2019.04.23.09.48.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:48:21 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger Date: Tue, 23 Apr 2019 09:48:10 -0700 Message-Id: <20190423164812.3427-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423164812.3427-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/4] net/ring: use sizeof() with snprintf X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Don't hard code string length in two place; use sizeof() instead. Ring name shoudl use RTE_RING_NAMESIZE. Signed-off-by: Stephen Hemminger --- drivers/net/ring/rte_eth_ring.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 91e5f5f8f262..2e4ca3b16a1c 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -362,8 +362,8 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], .numa_node = numa_node, .addr = &args, }; - char args_str[32] = { 0 }; - char ring_name[32] = { 0 }; + char args_str[32]; + char ring_name[RTE_RING_NAMESIZE]; uint16_t port_id = RTE_MAX_ETHPORTS; int ret; @@ -381,8 +381,9 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], return -1; } - snprintf(args_str, 32, "%s=%p", ETH_RING_INTERNAL_ARG, &args); - snprintf(ring_name, 32, "net_ring_%s", name); + snprintf(args_str, sizeof(args_str), "%s=%p", + ETH_RING_INTERNAL_ARG, &args); + snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name); ret = rte_vdev_init(ring_name, args_str); if (ret) { From patchwork Tue Apr 23 16:48:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53008 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6CC511B467; Tue, 23 Apr 2019 18:48:30 +0200 (CEST) Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by dpdk.org (Postfix) with ESMTP id 158D51B416 for ; Tue, 23 Apr 2019 18:48:25 +0200 (CEST) Received: by mail-pl1-f193.google.com with SMTP id w23so7821942ply.4 for ; Tue, 23 Apr 2019 09:48:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=e2OAOyI51TjoT/4QB1GtTC1iGYMT4d/z1QSisRfvmcw=; b=uImDr+iwD6BSWRhPbXJZ4fgeWwBr1V2hu5OcZ2nsb+HT+RRNdw7yMWCeq2hCGowDKd DXZxC041YOPkapvx1GMxe+VpcvBr4q5sfKw4wq6jkaP34xK+Fb6+lKsEUmPOQ4uI0zn5 dKFQfSZFuOYnqERWTtp9x1xXZy2rolwbZq/+yy1+yhA91UBHU/4Mvmg/6AOtUNC7JuAt sbgrfDv547goGgPrF2yJkkPFPtUy6RWIJdcH5tLOwLEZPa/4miu/fFgyPzidHfWlQVzC h2q/PjqpuP5iOiomvBBiPQLxscO4A4aRoUE4Kdbr7QMaspWc3uU6ylk6PUBaGasYbFi6 Vm2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e2OAOyI51TjoT/4QB1GtTC1iGYMT4d/z1QSisRfvmcw=; b=AT8fi80i9LXyhd7tV5fl40CgXLeTO71oy+hLFNnno4MUetrERr6XtvfWFYcxd/eG/l X7oPyuehGGCTsoUh1eZXr8AO8Va5oH91JqYD/Khm7vYBKEkWzit17qdR3jNn/tn6TEWT l5zj9JMX+U6SucWHeR8Rx+Dv0HbcB+CStloMKqXjUp9XLWMv5n3EDzKjhyqvNOn7bYDJ j820K6ZpYZRoBkGgfMAvgX9gqOxJ66o9EtSPckV9IlXn/wDL3CgU8jNG8uXSuSQDIfyj szQrgD+oQ3ZgXLS+FmE3dQMaK7H9QNbHEeb0wPOX1bCKtC1yuqAA3/AJQcg+YSjZF8E/ 0g1Q== X-Gm-Message-State: APjAAAVkbpjbG+0AjXaLEZMfqD2bN1ND+I3BhLxPPgu/f/R83UwkF5hR pbTjt2VV97GLHF+PIikK12zz0g== X-Google-Smtp-Source: APXvYqwiYqM7j5hu4DV6AcH1jSlAyaNnvYEXIuQgaMpPmee71iw6+EHk11WTPuiP7ld+cGVAOM7DBQ== X-Received: by 2002:a17:902:aa06:: with SMTP id be6mr4600314plb.224.1556038104254; Tue, 23 Apr 2019 09:48:24 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id h65sm58943277pfd.108.2019.04.23.09.48.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:48:22 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger Date: Tue, 23 Apr 2019 09:48:11 -0700 Message-Id: <20190423164812.3427-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423164812.3427-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 3/4] net/ring: use rte_calloc_socket X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Use rte_calloc_socket instead of computing size. Signed-off-by: Stephen Hemminger --- drivers/net/ring/rte_eth_ring.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 2e4ca3b16a1c..0355f2b7c4d8 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -270,15 +270,15 @@ do_eth_dev_ring_create(const char *name, PMD_LOG(INFO, "Creating rings-backed ethdev on numa socket %u", numa_node); - rx_queues_local = rte_zmalloc_socket(name, - sizeof(void *) * nb_rx_queues, 0, numa_node); + rx_queues_local = rte_calloc_socket(name, nb_rx_queues, + sizeof(void *), 0, numa_node); if (rx_queues_local == NULL) { rte_errno = ENOMEM; goto error; } - tx_queues_local = rte_zmalloc_socket(name, - sizeof(void *) * nb_tx_queues, 0, numa_node); + tx_queues_local = rte_calloc_socket(name, nb_tx_queues, + sizeof(void *), 0, numa_node); if (tx_queues_local == NULL) { rte_errno = ENOMEM; goto error; From patchwork Tue Apr 23 16:48:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53009 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 109211B4C1; Tue, 23 Apr 2019 18:48:33 +0200 (CEST) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by dpdk.org (Postfix) with ESMTP id 8042E1B3D2 for ; Tue, 23 Apr 2019 18:48:26 +0200 (CEST) Received: by mail-pg1-f193.google.com with SMTP id k19so7900039pgh.0 for ; Tue, 23 Apr 2019 09:48:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AZKQ2K/OWD0zBctfqE7pT9svK7y8AYM7fapDXeko9Fg=; b=F/Tx698uCyj5vxKDl9sqD5zhzSFFbsd8/932tU2OASghw80CxAYRldPdTyl8XGl3JM yg2jDwvWMHzVtDkkUEINE14WiX+S8tk8gIy/Q05dVtIuAmJ3YvCkdDB16NGE6BoN84ZI 3+FRzKbRf7ysbx9tN/SvoLmDZbgsaizBjMS6phGUBwpVp9WzL2g0Kc2GN/xeEZ/87Xz/ whix5LEQ3Qu7fYruWFtZRdO5pq+bj9VK2bQDWRK3NP3r1PWhuQlWQpv+tU5ZRiWDDhuz JMH1O/R3v1KGj/RWe2b0EhUKflZ6A40NWCAK25VU7rItwN66Id9c/VUutIBkBPlDQduz 09qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AZKQ2K/OWD0zBctfqE7pT9svK7y8AYM7fapDXeko9Fg=; b=hPKjAcRh1t+WckVUvh3slyUmk+jiyr1euHw4tQyP6bjfkA56g0VqUjGknjaqfgImeC fZkdCfVqVsgYzuJ9IzTCzo4zkTgBov11VWzBVJaGSdwPDyjMBzGC2UBu4aZ0w/RUz+nU /qDMn9MSLXPZ2jeHKtAYCCLNxtNqmBb3TstBDpvFCfHfCAfu9nn4WoUCX+FE04NcUJ88 fSAHuFLDo7r0LwWQkRQgv2NHRrdzlj4lNNX150Vn3DNdEaOw1HnsXERCK3qgx0ggB6Iy mCTvw0+gPFox+OJgCpM22r8ZBuh2M42NpHq0V0bWqy19Di1RE9MWHKIVsoeEKi0ylHZO zjIQ== X-Gm-Message-State: APjAAAVEmmkudcwG/BzeD97UqYwoadSvoj2oSvrkDgMTqMh4ha63cx4h m/axEvZFAXTbsCGhzrO8foM9sw== X-Google-Smtp-Source: APXvYqz8a1dTcQaCohDqg83/qDzN1Q8Js197jZLeOnDKHD3a9dBbi28l4zmaxX7lCkMmEHBVul+nvQ== X-Received: by 2002:aa7:8694:: with SMTP id d20mr27465041pfo.81.1556038105604; Tue, 23 Apr 2019 09:48:25 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id h65sm58943277pfd.108.2019.04.23.09.48.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:48:24 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger Date: Tue, 23 Apr 2019 09:48:12 -0700 Message-Id: <20190423164812.3427-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423164812.3427-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 4/4] net/ring: check length of ring name X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The ring name is passed in as part of this drivers API, but it doesn't check that the name is not truncated. Signed-off-by: Stephen Hemminger --- drivers/net/ring/rte_eth_ring.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 0355f2b7c4d8..9125692f2c9b 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -383,7 +383,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], snprintf(args_str, sizeof(args_str), "%s=%p", ETH_RING_INTERNAL_ARG, &args); - snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name); + + ret = snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name); + if (ret >= (int)sizeof(ring_name)) { + rte_errno = ENAMETOOLONG; + return -1; + } ret = rte_vdev_init(ring_name, args_str); if (ret) { @@ -417,7 +422,15 @@ eth_dev_ring_create(const char *name, const unsigned int numa_node, RTE_PMD_RING_MAX_TX_RINGS); for (i = 0; i < num_rings; i++) { - snprintf(rng_name, sizeof(rng_name), "ETH_RXTX%u_%s", i, name); + int cc; + + cc = snprintf(rng_name, sizeof(rng_name), + "ETH_RXTX%u_%s", i, name); + if (cc >= (int)sizeof(rng_name)) { + rte_errno = ENAMETOOLONG; + return -1; + } + rxtx[i] = (action == DEV_CREATE) ? rte_ring_create(rng_name, 1024, numa_node, RING_F_SP_ENQ|RING_F_SC_DEQ) :