[2/3] examples/l3fwd: removed hash entry number

Message ID 20221114212533.2871770-2-kamalakshitha.aligeri@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [1/3] examples/l3fwd: validate ptype only for type of traffic sent |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Kamalakshitha Aligeri Nov. 14, 2022, 9:25 p.m. UTC
  hash_entry_number in l3fwd is not being used by both lpm and em lookup
method. Removed the global variable hash_entry_number and the function
that parses the hash-entry-number flag.

Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
 examples/l3fwd/l3fwd.h |  1 -
 examples/l3fwd/main.c  | 37 +------------------------------------
 2 files changed, 1 insertion(+), 37 deletions(-)
  

Comments

Ruifeng Wang March 3, 2023, 6:37 a.m. UTC | #1
> -----Original Message-----
> From: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Sent: Tuesday, November 15, 2022 5:26 AM
> To: jerinj@marvell.com; thomas@monjalon.net; david.marchand@redhat.com
> Cc: dev@dpdk.org; nd <nd@arm.com>; Kamalakshitha Aligeri <Kamalakshitha.Aligeri@arm.com>;
> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Subject: [PATCH 2/3] examples/l3fwd: removed hash entry number
> 
> hash_entry_number in l3fwd is not being used by both lpm and em lookup method. Removed the
> global variable hash_entry_number and the function that parses the hash-entry-number flag.
> 

Fixes: e7e6dd643092 ("examples/l3fwd: support config file for EM")
Cc: stable@dpdk.org

The code was used to populate many EM route entries. It became obsolete after file
based config was added.

> Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> ---
>  examples/l3fwd/l3fwd.h |  1 -
>  examples/l3fwd/main.c  | 37 +------------------------------------
>  2 files changed, 1 insertion(+), 37 deletions(-)
> 
> diff --git a/examples/l3fwd/l3fwd.h b/examples/l3fwd/l3fwd.h index ca1426a687..b55855c932
> 100644
> --- a/examples/l3fwd/l3fwd.h
> +++ b/examples/l3fwd/l3fwd.h
> @@ -55,7 +55,6 @@
>  /* 32-bit has less address-space for hugepage memory, limit to 1M entries */
>  #define L3FWD_HASH_ENTRIES		(1024*1024*1)
>  #endif
> -#define HASH_ENTRY_NUMBER_DEFAULT	16
> 
>  struct parm_cfg {
>  	const char *rule_ipv4_name;
> diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index 71a3018036..a4f061537e
> 100644
> --- a/examples/l3fwd/main.c
> +++ b/examples/l3fwd/main.c
> @@ -89,7 +89,6 @@ uint32_t enabled_port_mask;
> 
>  /* Used only in exact match mode. */
>  int ipv6; /**< ipv6 is false by default. */ -uint32_t hash_entry_number =
> HASH_ENTRY_NUMBER_DEFAULT;
> 
>  struct lcore_conf lcore_conf[RTE_MAX_LCORE];
> 
> @@ -395,7 +394,6 @@ print_usage(const char *prgname)
>  		" [--eth-dest=X,MM:MM:MM:MM:MM:MM]"
>  		" [--max-pkt-len PKTLEN]"
>  		" [--no-numa]"
> -		" [--hash-entry-num]"
>  		" [--ipv6]"
>  		" [--parse-ptype]"
>  		" [--per-port-pool]"
> @@ -419,7 +417,6 @@ print_usage(const char *prgname)
>  		"  --eth-dest=X,MM:MM:MM:MM:MM:MM: Ethernet destination for port X\n"
>  		"  --max-pkt-len PKTLEN: maximum packet length in decimal (64-9600)\n"
>  		"  --no-numa: Disable numa awareness\n"
> -		"  --hash-entry-num: Specify the hash entry number in hexadecimal to be setup\n"
>  		"  --ipv6: Set if running ipv6 packets\n"
>  		"  --parse-ptype: Set to use software to analyze packet type\n"
>  		"  --per-port-pool: Use separate buffer pool per port\n"
> @@ -479,22 +476,6 @@ parse_portmask(const char *portmask)
>  	return pm;
>  }
> 
> -static int
> -parse_hash_entry_number(const char *hash_entry_num) -{
> -	char *end = NULL;
> -	unsigned long hash_en;
> -	/* parse hexadecimal string */
> -	hash_en = strtoul(hash_entry_num, &end, 16);
> -	if ((hash_entry_num[0] == '\0') || (end == NULL) || (*end != '\0'))
> -		return -1;
> -
> -	if (hash_en == 0)
> -		return -1;
> -
> -	return hash_en;
> -}
> -
>  static int
>  parse_config(const char *q_arg)
>  {
> @@ -852,14 +833,7 @@ parse_args(int argc, char **argv)
>  			break;
> 
>  		case CMD_LINE_OPT_HASH_ENTRY_NUM_NUM:
> -			ret = parse_hash_entry_number(optarg);
> -			if ((ret > 0) && (ret <= L3FWD_HASH_ENTRIES)) {
> -				hash_entry_number = ret;
> -			} else {
> -				fprintf(stderr, "invalid hash entry number\n");
> -				print_usage(prgname);
> -				return -1;
> -			}
> +			fprintf(stderr, "Hash entry number will be ignored\n");
>  			break;
> 
>  		case CMD_LINE_OPT_PARSE_PTYPE_NUM:
> @@ -963,15 +937,6 @@ parse_args(int argc, char **argv)
>  		lookup_mode = L3FWD_LOOKUP_LPM;
>  	}
> 
> -	/*
> -	 * hash flag is valid only for
> -	 * exact match, reset it to default for
> -	 * longest-prefix match.
> -	 */
> -	if (lookup_mode == L3FWD_LOOKUP_LPM) {
> -		hash_entry_number = HASH_ENTRY_NUMBER_DEFAULT;
> -	}
> -
>  	/* For ACL, update port config rss hash filter */
>  	if (lookup_mode == L3FWD_LOOKUP_ACL) {
>  		port_conf.rx_adv_conf.rss_conf.rss_hf |=
> --
> 2.17.1
  

Patch

diff --git a/examples/l3fwd/l3fwd.h b/examples/l3fwd/l3fwd.h
index ca1426a687..b55855c932 100644
--- a/examples/l3fwd/l3fwd.h
+++ b/examples/l3fwd/l3fwd.h
@@ -55,7 +55,6 @@ 
 /* 32-bit has less address-space for hugepage memory, limit to 1M entries */
 #define L3FWD_HASH_ENTRIES		(1024*1024*1)
 #endif
-#define HASH_ENTRY_NUMBER_DEFAULT	16
 
 struct parm_cfg {
 	const char *rule_ipv4_name;
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 71a3018036..a4f061537e 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -89,7 +89,6 @@  uint32_t enabled_port_mask;
 
 /* Used only in exact match mode. */
 int ipv6; /**< ipv6 is false by default. */
-uint32_t hash_entry_number = HASH_ENTRY_NUMBER_DEFAULT;
 
 struct lcore_conf lcore_conf[RTE_MAX_LCORE];
 
@@ -395,7 +394,6 @@  print_usage(const char *prgname)
 		" [--eth-dest=X,MM:MM:MM:MM:MM:MM]"
 		" [--max-pkt-len PKTLEN]"
 		" [--no-numa]"
-		" [--hash-entry-num]"
 		" [--ipv6]"
 		" [--parse-ptype]"
 		" [--per-port-pool]"
@@ -419,7 +417,6 @@  print_usage(const char *prgname)
 		"  --eth-dest=X,MM:MM:MM:MM:MM:MM: Ethernet destination for port X\n"
 		"  --max-pkt-len PKTLEN: maximum packet length in decimal (64-9600)\n"
 		"  --no-numa: Disable numa awareness\n"
-		"  --hash-entry-num: Specify the hash entry number in hexadecimal to be setup\n"
 		"  --ipv6: Set if running ipv6 packets\n"
 		"  --parse-ptype: Set to use software to analyze packet type\n"
 		"  --per-port-pool: Use separate buffer pool per port\n"
@@ -479,22 +476,6 @@  parse_portmask(const char *portmask)
 	return pm;
 }
 
-static int
-parse_hash_entry_number(const char *hash_entry_num)
-{
-	char *end = NULL;
-	unsigned long hash_en;
-	/* parse hexadecimal string */
-	hash_en = strtoul(hash_entry_num, &end, 16);
-	if ((hash_entry_num[0] == '\0') || (end == NULL) || (*end != '\0'))
-		return -1;
-
-	if (hash_en == 0)
-		return -1;
-
-	return hash_en;
-}
-
 static int
 parse_config(const char *q_arg)
 {
@@ -852,14 +833,7 @@  parse_args(int argc, char **argv)
 			break;
 
 		case CMD_LINE_OPT_HASH_ENTRY_NUM_NUM:
-			ret = parse_hash_entry_number(optarg);
-			if ((ret > 0) && (ret <= L3FWD_HASH_ENTRIES)) {
-				hash_entry_number = ret;
-			} else {
-				fprintf(stderr, "invalid hash entry number\n");
-				print_usage(prgname);
-				return -1;
-			}
+			fprintf(stderr, "Hash entry number will be ignored\n");
 			break;
 
 		case CMD_LINE_OPT_PARSE_PTYPE_NUM:
@@ -963,15 +937,6 @@  parse_args(int argc, char **argv)
 		lookup_mode = L3FWD_LOOKUP_LPM;
 	}
 
-	/*
-	 * hash flag is valid only for
-	 * exact match, reset it to default for
-	 * longest-prefix match.
-	 */
-	if (lookup_mode == L3FWD_LOOKUP_LPM) {
-		hash_entry_number = HASH_ENTRY_NUMBER_DEFAULT;
-	}
-
 	/* For ACL, update port config rss hash filter */
 	if (lookup_mode == L3FWD_LOOKUP_ACL) {
 		port_conf.rx_adv_conf.rss_conf.rss_hf |=