From patchwork Fri Jan 24 04:55:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 65109 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AC9D8A052F; Fri, 24 Jan 2020 05:56:07 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BCFA9374E; Fri, 24 Jan 2020 05:56:00 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id AA8782956 for ; Fri, 24 Jan 2020 05:55:57 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 00O4ljIN029690; Thu, 23 Jan 2020 20:55:56 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=VE3pTCZ1P1dNO36FczO947kH4hGmbQsptMX5ybMYPF4=; b=tNnHAiIYjhCjZ3+ulJibbhCzXGh1WntFJ6LDXoW8/5aoML3G9g7qVLyeVICCJVsRkm7r 18TxOdezld/fiev4RbNHaARS8Rwxb+3DeOn/1/O99Ee3UmsuOG5Xr9v22zxjDTyRm1Dj r7IIxvJp0VVKbLw/duZR8ItZ0mFhhE5ltfu1BEbJJXsDKCinxPzCJ70V6bAD+o/W3KHi yNFd5VYKYOBpmHb5YF9/gYy9e44xyTtVGCKbnWKmKcPbMF4Pdu8Lc59GO3eJ+2dT/dBU 5eYemySEzfCDiY2JQHHTzmXyi9VzKqido2rrCvj3OybuHUkPYtGqnVTC8N66WiiumDCJ Cw== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0a-0016f401.pphosted.com with ESMTP id 2xq4x4mr42-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 23 Jan 2020 20:55:56 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 23 Jan 2020 20:55:55 -0800 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 23 Jan 2020 20:55:55 -0800 Received: from BG-LT7430.marvell.com (bg-lt7430.marvell.com [10.28.10.90]) by maili.marvell.com (Postfix) with ESMTP id B41C33F703F; Thu, 23 Jan 2020 20:55:51 -0800 (PST) From: To: Cristian Dumitrescu , Marko Kovacevic , Ori Kam , Bruce Richardson , Radu Nicolau , "Akhil Goyal" , Tomasz Kantecki , Sunil Kumar Kori , Pavan Nikhilesh , David Hunt , John McNamara , Kirill Rybalchenko , Harry van Haaren , Xiaoyun Li CC: Date: Fri, 24 Jan 2020 10:25:43 +0530 Message-ID: <20200124045545.3664-2-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200124045545.3664-1-pbhagavatula@marvell.com> References: <20191107025823.5200-1-pbhagavatula@marvell.com> <20200124045545.3664-1-pbhagavatula@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-01-23_13:2020-01-23, 2020-01-23 signatures=0 Subject: [dpdk-dev] [PATCH v3 2/3] examples: use RTE_DIM to calculate array size 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" From: Pavan Nikhilesh use RTE_DIM macro to calculate array size. Suggested-by: David Marchand Signed-off-by: Pavan Nikhilesh --- examples/ip_pipeline/parser.c | 2 +- examples/ipv4_multicast/main.c | 6 +----- examples/l3fwd-power/main.c | 18 ++++-------------- examples/l3fwd/l3fwd_em.c | 6 ++---- examples/l3fwd/l3fwd_lpm.c | 9 ++------- examples/vmdq/main.c | 2 +- examples/vmdq_dcb/main.c | 2 +- 7 files changed, 12 insertions(+), 33 deletions(-) diff --git a/examples/ip_pipeline/parser.c b/examples/ip_pipeline/parser.c index 3fffeb586..fb0769fe3 100644 --- a/examples/ip_pipeline/parser.c +++ b/examples/ip_pipeline/parser.c @@ -528,7 +528,7 @@ my_ether_aton(const char *a) if (errno != 0 || end == a || (end[0] != ':' && end[0] != 0)) return NULL; a = end + 1; - } while (++i != sizeof(o) / sizeof(o[0]) && end[0] != 0); + } while (++i != RTE_DIM(o) && end[0] != 0); /* Junk at the end of line */ if (end[0] != 0) diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c index 63333b5b6..1fb28513b 100644 --- a/examples/ipv4_multicast/main.c +++ b/examples/ipv4_multicast/main.c @@ -155,10 +155,6 @@ static struct mcast_group_params mcast_group_table[] = { {RTE_IPV4(224,0,0,115), 0xF}, }; -#define N_MCAST_GROUPS \ - (sizeof (mcast_group_table) / sizeof (mcast_group_table[0])) - - /* Send burst of packets on an output interface */ static void send_burst(struct lcore_queue_conf *qconf, uint16_t port) @@ -555,7 +551,7 @@ init_mcast_hash(void) return -1; } - for (i = 0; i < N_MCAST_GROUPS; i ++){ + for (i = 0; i < RTE_DIM(mcast_group_table); i++) { if (rte_fbk_hash_add_key(mcast_hash, mcast_group_table[i].ip, mcast_group_table[i].port_mask) < 0) { diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index d049d8a5d..e90d18b24 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -238,8 +238,7 @@ static struct lcore_params lcore_params_array_default[] = { }; struct lcore_params *lcore_params = lcore_params_array_default; -uint16_t nb_lcore_params = sizeof(lcore_params_array_default) / - sizeof(lcore_params_array_default[0]); +uint16_t nb_lcore_params = RTE_DIM(lcore_params_array_default); static struct rte_eth_conf port_conf = { .rxmode = { @@ -326,12 +325,6 @@ static lookup_struct_t *ipv6_l3fwd_lookup_struct[NB_SOCKETS]; #define L3FWD_HASH_ENTRIES 1024 -#define IPV4_L3FWD_NUM_ROUTES \ - (sizeof(ipv4_l3fwd_route_array) / sizeof(ipv4_l3fwd_route_array[0])) - -#define IPV6_L3FWD_NUM_ROUTES \ - (sizeof(ipv6_l3fwd_route_array) / sizeof(ipv6_l3fwd_route_array[0])) - static uint16_t ipv4_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned; static uint16_t ipv6_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned; #endif @@ -354,9 +347,6 @@ static struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = { {RTE_IPV4(8,1,1,0), 24, 7}, }; -#define IPV4_L3FWD_NUM_ROUTES \ - (sizeof(ipv4_l3fwd_route_array) / sizeof(ipv4_l3fwd_route_array[0])) - #define IPV4_L3FWD_LPM_MAX_RULES 1024 typedef struct rte_lpm lookup_struct_t; @@ -1841,7 +1831,7 @@ setup_hash(int socketid) /* populate the ipv4 hash */ - for (i = 0; i < IPV4_L3FWD_NUM_ROUTES; i++) { + for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) { ret = rte_hash_add_key (ipv4_l3fwd_lookup_struct[socketid], (void *) &ipv4_l3fwd_route_array[i].key); if (ret < 0) { @@ -1854,7 +1844,7 @@ setup_hash(int socketid) } /* populate the ipv6 hash */ - for (i = 0; i < IPV6_L3FWD_NUM_ROUTES; i++) { + for (i = 0; i < RTE_DIM(ipv6_l3fwd_route_array); i++) { ret = rte_hash_add_key (ipv6_l3fwd_lookup_struct[socketid], (void *) &ipv6_l3fwd_route_array[i].key); if (ret < 0) { @@ -1891,7 +1881,7 @@ setup_lpm(int socketid) " on socket %d\n", socketid); /* populate the LPM table */ - for (i = 0; i < IPV4_L3FWD_NUM_ROUTES; i++) { + for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) { ret = rte_lpm_add(ipv4_l3fwd_lookup_struct[socketid], ipv4_l3fwd_route_array[i].ip, ipv4_l3fwd_route_array[i].depth, diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c index 74a7c8fa4..1b1cce47d 100644 --- a/examples/l3fwd/l3fwd_em.c +++ b/examples/l3fwd/l3fwd_em.c @@ -203,11 +203,9 @@ ipv6_hash_crc(const void *data, __rte_unused uint32_t data_len, return init_val; } -#define IPV4_L3FWD_EM_NUM_ROUTES \ - (sizeof(ipv4_l3fwd_em_route_array) / sizeof(ipv4_l3fwd_em_route_array[0])) +#define IPV4_L3FWD_EM_NUM_ROUTES RTE_DIM(ipv4_l3fwd_em_route_array) -#define IPV6_L3FWD_EM_NUM_ROUTES \ - (sizeof(ipv6_l3fwd_em_route_array) / sizeof(ipv6_l3fwd_em_route_array[0])) +#define IPV6_L3FWD_EM_NUM_ROUTES RTE_DIM(ipv6_l3fwd_em_route_array) static uint8_t ipv4_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned; static uint8_t ipv6_l3fwd_out_if[L3FWD_HASH_ENTRIES] __rte_cache_aligned; diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c index 349de2703..1b3950d91 100644 --- a/examples/l3fwd/l3fwd_lpm.c +++ b/examples/l3fwd/l3fwd_lpm.c @@ -65,11 +65,6 @@ static struct ipv6_l3fwd_lpm_route ipv6_l3fwd_lpm_route_array[] = { {{32, 1, 2, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0}, 48, 7}, }; -#define IPV4_L3FWD_LPM_NUM_ROUTES \ - (sizeof(ipv4_l3fwd_lpm_route_array) / sizeof(ipv4_l3fwd_lpm_route_array[0])) -#define IPV6_L3FWD_LPM_NUM_ROUTES \ - (sizeof(ipv6_l3fwd_lpm_route_array) / sizeof(ipv6_l3fwd_lpm_route_array[0])) - #define IPV4_L3FWD_LPM_MAX_RULES 1024 #define IPV4_L3FWD_LPM_NUMBER_TBL8S (1 << 8) #define IPV6_L3FWD_LPM_MAX_RULES 1024 @@ -277,7 +272,7 @@ setup_lpm(const int socketid) socketid); /* populate the LPM table */ - for (i = 0; i < IPV4_L3FWD_LPM_NUM_ROUTES; i++) { + for (i = 0; i < RTE_DIM(ipv4_l3fwd_lpm_route_array); i++) { struct in_addr in; /* skip unused ports */ @@ -317,7 +312,7 @@ setup_lpm(const int socketid) socketid); /* populate the LPM table */ - for (i = 0; i < IPV6_L3FWD_LPM_NUM_ROUTES; i++) { + for (i = 0; i < RTE_DIM(ipv6_l3fwd_lpm_route_array); i++) { /* skip unused ports */ if ((1 << ipv6_l3fwd_lpm_route_array[i].if_out & diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c index 6e6fc91ec..011110920 100644 --- a/examples/vmdq/main.c +++ b/examples/vmdq/main.c @@ -503,7 +503,7 @@ lcore_main(__attribute__((__unused__)) void *dummy) for (;;) { struct rte_mbuf *buf[MAX_PKT_BURST]; - const uint16_t buf_size = sizeof(buf) / sizeof(buf[0]); + const uint16_t buf_size = RTE_DIM(buf); for (p = 0; p < num_ports; p++) { const uint8_t sport = ports[p]; diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c index 594c4f195..f417b2fd9 100644 --- a/examples/vmdq_dcb/main.c +++ b/examples/vmdq_dcb/main.c @@ -582,7 +582,7 @@ lcore_main(void *arg) for (;;) { struct rte_mbuf *buf[MAX_PKT_BURST]; - const uint16_t buf_size = sizeof(buf) / sizeof(buf[0]); + const uint16_t buf_size = RTE_DIM(buf); for (p = 0; p < num_ports; p++) { const uint8_t src = ports[p]; const uint8_t dst = ports[p ^ 1]; /* 0 <-> 1, 2 <-> 3 etc */