[2/3] examples/l3fwd: removed hash entry number
Checks
Commit Message
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
> -----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
@@ -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;
@@ -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 |=