DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent
@ 2022-11-14 21:25 Kamalakshitha Aligeri
  2022-11-14 21:25 ` [PATCH 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Kamalakshitha Aligeri @ 2022-11-14 21:25 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand
  Cc: dev, nd, Kamalakshitha Aligeri, Nathan Brown, Ruifeng Wang, Feifei Wang

The check_ptype function is not considering the ptype of the incoming
traffic. --parse-ptype flag must be provided only when the NIC does not
support parsing the ptype of the incoming traffic

Suggested-by: Nathan Brown <nathan.brown@arm.com>
Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Nathan Brown <nathan.brown@arm.com>
Reviewed-by: Feifei Wang <feifei.wang2@arm.com>
---
 examples/l3fwd/l3fwd_em.c  |  8 +++++---
 examples/l3fwd/l3fwd_lpm.c | 13 +++++++------
 examples/l3fwd/main.c      |  5 ++---
 3 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
index a203dc9e46..682ad343d7 100644
--- a/examples/l3fwd/l3fwd_em.c
+++ b/examples/l3fwd/l3fwd_em.c
@@ -507,12 +507,14 @@ em_check_ptype(int portid)
 		}
 	}
 
-	if (ptype_l3_ipv4_ext == 0)
+	if (!ipv6 && !ptype_l3_ipv4_ext) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV4_EXT\n", portid);
-	if (ptype_l3_ipv6_ext == 0)
+		return 0;
+	}
+	if (ipv6 && !ptype_l3_ipv6_ext) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV6_EXT\n", portid);
-	if (!ptype_l3_ipv4_ext || !ptype_l3_ipv6_ext)
 		return 0;
+	}
 
 	if (ptype_l4_tcp == 0)
 		printf("port %d cannot parse RTE_PTYPE_L4_TCP\n", portid);
diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c
index 22d7f61a42..1ac78281f9 100644
--- a/examples/l3fwd/l3fwd_lpm.c
+++ b/examples/l3fwd/l3fwd_lpm.c
@@ -667,16 +667,17 @@ lpm_check_ptype(int portid)
 			ptype_l3_ipv6 = 1;
 	}
 
-	if (ptype_l3_ipv4 == 0)
+	if (!ipv6 && !ptype_l3_ipv4) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV4\n", portid);
+		return 0;
+	}
 
-	if (ptype_l3_ipv6 == 0)
+	if (ipv6 && !ptype_l3_ipv6) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV6\n", portid);
+		return 0;
+	}
 
-	if (ptype_l3_ipv4 && ptype_l3_ipv6)
-		return 1;
-
-	return 0;
+	return 1;
 
 }
 
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 5198ff30dd..71a3018036 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -964,12 +964,11 @@ parse_args(int argc, char **argv)
 	}
 
 	/*
-	 * ipv6 and hash flags are valid only for
-	 * exact match, reset them to default for
+	 * hash flag is valid only for
+	 * exact match, reset it to default for
 	 * longest-prefix match.
 	 */
 	if (lookup_mode == L3FWD_LOOKUP_LPM) {
-		ipv6 = 0;
 		hash_entry_number = HASH_ENTRY_NUMBER_DEFAULT;
 	}
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 2/3] examples/l3fwd: removed hash entry number
  2022-11-14 21:25 [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
@ 2022-11-14 21:25 ` Kamalakshitha Aligeri
  2023-03-03  6:37   ` Ruifeng Wang
  2022-11-14 21:25 ` [PATCH 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 13+ messages in thread
From: Kamalakshitha Aligeri @ 2022-11-14 21:25 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand
  Cc: dev, nd, Kamalakshitha Aligeri, Honnappa Nagarahalli

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(-)

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


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding
  2022-11-14 21:25 [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
  2022-11-14 21:25 ` [PATCH 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
@ 2022-11-14 21:25 ` Kamalakshitha Aligeri
  2023-03-02 10:11   ` Ruifeng Wang
  2023-02-08 17:45 ` [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
  2023-03-06 16:25 ` [PATCH v2 " Kamalakshitha Aligeri
  3 siblings, 1 reply; 13+ messages in thread
From: Kamalakshitha Aligeri @ 2022-11-14 21:25 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand
  Cc: dev, nd, Kamalakshitha Aligeri, stable, Honnappa Nagarahalli

LPM based lookup supports both IPv4 and IPv6 forwarding.

Fixes: 6a094e328598 ("examples/l3fwd: implement FIB lookup method")
Cc: stable@dpdk.org

Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
 doc/guides/sample_app_ug/l3_forward.rst | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 94b22da01e..1cc2c1dd1d 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -56,9 +56,8 @@ for the IPv4/IPv6 5-tuple syntax specifically.
 The 5-tuple syntax consists of a source IP address, a destination IP address,
 a source port, a destination port and a protocol identifier.
 
-In the sample application, hash-based, FIB-based and ACL-based forwarding supports
+In the sample application, hash-based, LPM-based, FIB-based and ACL-based forwarding supports
 both IPv4 and IPv6.
-LPM-based forwarding supports IPv4 only.
 During the initialization phase route rules for IPv4 and IPv6 are read from rule files.
 
 Compiling the Application
-- 
2.17.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent
  2022-11-14 21:25 [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
  2022-11-14 21:25 ` [PATCH 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
  2022-11-14 21:25 ` [PATCH 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
@ 2023-02-08 17:45 ` Kamalakshitha Aligeri
  2023-03-06 16:25 ` [PATCH v2 " Kamalakshitha Aligeri
  3 siblings, 0 replies; 13+ messages in thread
From: Kamalakshitha Aligeri @ 2023-02-08 17:45 UTC (permalink / raw)
  To: Kamalakshitha Aligeri, jerinj, thomas, david.marchand
  Cc: dev, nd, Nathan Brown, Ruifeng Wang, Feifei Wang, nd

Hi all,
Can you please check the patch and provide comments?

Thanks,
Kamalakshitha

> -----Original Message-----
> From: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Sent: Monday, November 14, 2022 1:26 PM
> 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>; Nathan Brown
> <Nathan.Brown@arm.com>; Ruifeng Wang <Ruifeng.Wang@arm.com>;
> Feifei Wang <Feifei.Wang2@arm.com>
> Subject: [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic
> sent
> 
> The check_ptype function is not considering the ptype of the incoming
> traffic. --parse-ptype flag must be provided only when the NIC does not
> support parsing the ptype of the incoming traffic
> 
> Suggested-by: Nathan Brown <nathan.brown@arm.com>
> Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Nathan Brown <nathan.brown@arm.com>
> Reviewed-by: Feifei Wang <feifei.wang2@arm.com>
> ---
>  examples/l3fwd/l3fwd_em.c  |  8 +++++---  examples/l3fwd/l3fwd_lpm.c |
> 13 +++++++------
>  examples/l3fwd/main.c      |  5 ++---
>  3 files changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
> index a203dc9e46..682ad343d7 100644
> --- a/examples/l3fwd/l3fwd_em.c
> +++ b/examples/l3fwd/l3fwd_em.c
> @@ -507,12 +507,14 @@ em_check_ptype(int portid)
>  		}
>  	}
> 
> -	if (ptype_l3_ipv4_ext == 0)
> +	if (!ipv6 && !ptype_l3_ipv4_ext) {
>  		printf("port %d cannot parse RTE_PTYPE_L3_IPV4_EXT\n",
> portid);
> -	if (ptype_l3_ipv6_ext == 0)
> +		return 0;
> +	}
> +	if (ipv6 && !ptype_l3_ipv6_ext) {
>  		printf("port %d cannot parse RTE_PTYPE_L3_IPV6_EXT\n",
> portid);
> -	if (!ptype_l3_ipv4_ext || !ptype_l3_ipv6_ext)
>  		return 0;
> +	}
> 
>  	if (ptype_l4_tcp == 0)
>  		printf("port %d cannot parse RTE_PTYPE_L4_TCP\n", portid);
> diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c
> index 22d7f61a42..1ac78281f9 100644
> --- a/examples/l3fwd/l3fwd_lpm.c
> +++ b/examples/l3fwd/l3fwd_lpm.c
> @@ -667,16 +667,17 @@ lpm_check_ptype(int portid)
>  			ptype_l3_ipv6 = 1;
>  	}
> 
> -	if (ptype_l3_ipv4 == 0)
> +	if (!ipv6 && !ptype_l3_ipv4) {
>  		printf("port %d cannot parse RTE_PTYPE_L3_IPV4\n",
> portid);
> +		return 0;
> +	}
> 
> -	if (ptype_l3_ipv6 == 0)
> +	if (ipv6 && !ptype_l3_ipv6) {
>  		printf("port %d cannot parse RTE_PTYPE_L3_IPV6\n",
> portid);
> +		return 0;
> +	}
> 
> -	if (ptype_l3_ipv4 && ptype_l3_ipv6)
> -		return 1;
> -
> -	return 0;
> +	return 1;
> 
>  }
> 
> diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index
> 5198ff30dd..71a3018036 100644
> --- a/examples/l3fwd/main.c
> +++ b/examples/l3fwd/main.c
> @@ -964,12 +964,11 @@ parse_args(int argc, char **argv)
>  	}
> 
>  	/*
> -	 * ipv6 and hash flags are valid only for
> -	 * exact match, reset them to default for
> +	 * hash flag is valid only for
> +	 * exact match, reset it to default for
>  	 * longest-prefix match.
>  	 */
>  	if (lookup_mode == L3FWD_LOOKUP_LPM) {
> -		ipv6 = 0;
>  		hash_entry_number = HASH_ENTRY_NUMBER_DEFAULT;
>  	}
> 
> --
> 2.17.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding
  2022-11-14 21:25 ` [PATCH 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
@ 2023-03-02 10:11   ` Ruifeng Wang
  0 siblings, 0 replies; 13+ messages in thread
From: Ruifeng Wang @ 2023-03-02 10:11 UTC (permalink / raw)
  To: Kamalakshitha Aligeri, jerinj, thomas, david.marchand
  Cc: dev, nd, Kamalakshitha Aligeri, stable, Honnappa Nagarahalli, nd

> -----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>;
> stable@dpdk.org; Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Subject: [PATCH 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding
> 
> LPM based lookup supports both IPv4 and IPv6 forwarding.
> 
> Fixes: 6a094e328598 ("examples/l3fwd: implement FIB lookup method")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> ---
>  doc/guides/sample_app_ug/l3_forward.rst | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/doc/guides/sample_app_ug/l3_forward.rst
> b/doc/guides/sample_app_ug/l3_forward.rst
> index 94b22da01e..1cc2c1dd1d 100644
> --- a/doc/guides/sample_app_ug/l3_forward.rst
> +++ b/doc/guides/sample_app_ug/l3_forward.rst
> @@ -56,9 +56,8 @@ for the IPv4/IPv6 5-tuple syntax specifically.
>  The 5-tuple syntax consists of a source IP address, a destination IP address,  a source
> port, a destination port and a protocol identifier.
> 
> -In the sample application, hash-based, FIB-based and ACL-based forwarding supports
> +In the sample application, hash-based, LPM-based, FIB-based and
> +ACL-based forwarding supports
>  both IPv4 and IPv6.
> -LPM-based forwarding supports IPv4 only.
>  During the initialization phase route rules for IPv4 and IPv6 are read from rule files.
> 
>  Compiling the Application
> --
> 2.17.1
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH 2/3] examples/l3fwd: removed hash entry number
  2022-11-14 21:25 ` [PATCH 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
@ 2023-03-03  6:37   ` Ruifeng Wang
  0 siblings, 0 replies; 13+ messages in thread
From: Ruifeng Wang @ 2023-03-03  6:37 UTC (permalink / raw)
  To: Kamalakshitha Aligeri, jerinj, thomas, david.marchand,
	sean.morrissey, Konstantin Ananyev
  Cc: dev, nd, Kamalakshitha Aligeri, Honnappa Nagarahalli, nd

> -----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


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2 1/3] examples/l3fwd: validate ptype only for type of traffic sent
  2022-11-14 21:25 [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
                   ` (2 preceding siblings ...)
  2023-02-08 17:45 ` [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
@ 2023-03-06 16:25 ` Kamalakshitha Aligeri
  2023-03-06 16:25   ` [PATCH v2 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
                     ` (2 more replies)
  3 siblings, 3 replies; 13+ messages in thread
From: Kamalakshitha Aligeri @ 2023-03-06 16:25 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, sean.morrissey,
	konstantin.ananyev, Ruifeng.Wang, Honnappa.Nagarahalli
  Cc: dev, nd

The check_ptype function is not considering the ptype of the incoming
traffic. --parse-ptype flag must be provided only when the NIC does not
support parsing the ptype of the incoming traffic

Suggested-by: Nathan Brown <nathan.brown@arm.com>
Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Nathan Brown <nathan.brown@arm.com>
Reviewed-by: Feifei Wang <feifei.wang2@arm.com>
---
 examples/l3fwd/l3fwd_em.c  |  8 +++++---
 examples/l3fwd/l3fwd_lpm.c | 13 +++++++------
 examples/l3fwd/main.c      |  5 ++---
 3 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
index a203dc9e46..682ad343d7 100644
--- a/examples/l3fwd/l3fwd_em.c
+++ b/examples/l3fwd/l3fwd_em.c
@@ -507,12 +507,14 @@ em_check_ptype(int portid)
 		}
 	}

-	if (ptype_l3_ipv4_ext == 0)
+	if (!ipv6 && !ptype_l3_ipv4_ext) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV4_EXT\n", portid);
-	if (ptype_l3_ipv6_ext == 0)
+		return 0;
+	}
+	if (ipv6 && !ptype_l3_ipv6_ext) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV6_EXT\n", portid);
-	if (!ptype_l3_ipv4_ext || !ptype_l3_ipv6_ext)
 		return 0;
+	}

 	if (ptype_l4_tcp == 0)
 		printf("port %d cannot parse RTE_PTYPE_L4_TCP\n", portid);
diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c
index 22d7f61a42..1ac78281f9 100644
--- a/examples/l3fwd/l3fwd_lpm.c
+++ b/examples/l3fwd/l3fwd_lpm.c
@@ -667,16 +667,17 @@ lpm_check_ptype(int portid)
 			ptype_l3_ipv6 = 1;
 	}

-	if (ptype_l3_ipv4 == 0)
+	if (!ipv6 && !ptype_l3_ipv4) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV4\n", portid);
+		return 0;
+	}

-	if (ptype_l3_ipv6 == 0)
+	if (ipv6 && !ptype_l3_ipv6) {
 		printf("port %d cannot parse RTE_PTYPE_L3_IPV6\n", portid);
+		return 0;
+	}

-	if (ptype_l3_ipv4 && ptype_l3_ipv6)
-		return 1;
-
-	return 0;
+	return 1;

 }

diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 5198ff30dd..71a3018036 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -964,12 +964,11 @@ parse_args(int argc, char **argv)
 	}

 	/*
-	 * ipv6 and hash flags are valid only for
-	 * exact match, reset them to default for
+	 * hash flag is valid only for
+	 * exact match, reset it to default for
 	 * longest-prefix match.
 	 */
 	if (lookup_mode == L3FWD_LOOKUP_LPM) {
-		ipv6 = 0;
 		hash_entry_number = HASH_ENTRY_NUMBER_DEFAULT;
 	}

--
2.25.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2 2/3] examples/l3fwd: removed hash entry number
  2023-03-06 16:25 ` [PATCH v2 " Kamalakshitha Aligeri
@ 2023-03-06 16:25   ` Kamalakshitha Aligeri
  2023-03-07  1:33     ` Ruifeng Wang
  2023-03-07  9:41     ` Konstantin Ananyev
  2023-03-06 16:25   ` [PATCH v2 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
  2023-03-20 13:17   ` [PATCH v2 1/3] examples/l3fwd: validate ptype only for type of traffic sent Thomas Monjalon
  2 siblings, 2 replies; 13+ messages in thread
From: Kamalakshitha Aligeri @ 2023-03-06 16:25 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, sean.morrissey,
	konstantin.ananyev, Ruifeng.Wang, Honnappa.Nagarahalli
  Cc: dev, nd

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

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.25.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding
  2023-03-06 16:25 ` [PATCH v2 " Kamalakshitha Aligeri
  2023-03-06 16:25   ` [PATCH v2 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
@ 2023-03-06 16:25   ` Kamalakshitha Aligeri
  2023-03-07  9:42     ` Konstantin Ananyev
  2023-03-20 13:17   ` [PATCH v2 1/3] examples/l3fwd: validate ptype only for type of traffic sent Thomas Monjalon
  2 siblings, 1 reply; 13+ messages in thread
From: Kamalakshitha Aligeri @ 2023-03-06 16:25 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, sean.morrissey,
	konstantin.ananyev, Ruifeng.Wang, Honnappa.Nagarahalli
  Cc: dev, nd

LPM based lookup supports both IPv4 and IPv6 forwarding.

Fixes: 6a094e328598 ("examples/l3fwd: implement FIB lookup method")
Cc: stable@dpdk.org

Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 doc/guides/sample_app_ug/l3_forward.rst | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 94b22da01e..1cc2c1dd1d 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -56,9 +56,8 @@ for the IPv4/IPv6 5-tuple syntax specifically.
 The 5-tuple syntax consists of a source IP address, a destination IP address,
 a source port, a destination port and a protocol identifier.

-In the sample application, hash-based, FIB-based and ACL-based forwarding supports
+In the sample application, hash-based, LPM-based, FIB-based and ACL-based forwarding supports
 both IPv4 and IPv6.
-LPM-based forwarding supports IPv4 only.
 During the initialization phase route rules for IPv4 and IPv6 are read from rule files.

 Compiling the Application
--
2.25.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v2 2/3] examples/l3fwd: removed hash entry number
  2023-03-06 16:25   ` [PATCH v2 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
@ 2023-03-07  1:33     ` Ruifeng Wang
  2023-03-07  9:41     ` Konstantin Ananyev
  1 sibling, 0 replies; 13+ messages in thread
From: Ruifeng Wang @ 2023-03-07  1:33 UTC (permalink / raw)
  To: Kamalakshitha Aligeri, jerinj, thomas, david.marchand,
	sean.morrissey, konstantin.ananyev, Honnappa Nagarahalli
  Cc: dev, nd, nd

> -----Original Message-----
> From: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Sent: Tuesday, March 7, 2023 12:25 AM
> To: jerinj@marvell.com; thomas@monjalon.net; david.marchand@redhat.com;
> sean.morrissey@intel.com; konstantin.ananyev@huawei.com; Ruifeng Wang
> <Ruifeng.Wang@arm.com>; Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Cc: dev@dpdk.org; nd <nd@arm.com>
> Subject: [PATCH v2 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
> 
> 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(-)
> 
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v2 2/3] examples/l3fwd: removed hash entry number
  2023-03-06 16:25   ` [PATCH v2 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
  2023-03-07  1:33     ` Ruifeng Wang
@ 2023-03-07  9:41     ` Konstantin Ananyev
  1 sibling, 0 replies; 13+ messages in thread
From: Konstantin Ananyev @ 2023-03-07  9:41 UTC (permalink / raw)
  To: Kamalakshitha Aligeri, jerinj, thomas, david.marchand,
	sean.morrissey, Ruifeng.Wang, Honnappa.Nagarahalli
  Cc: dev, nd



> Fixes: e7e6dd643092 ("examples/l3fwd: support config file for EM")
> Cc: stable@dpdk.org
> 
> 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.25.1

Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
 


> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v2 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding
  2023-03-06 16:25   ` [PATCH v2 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
@ 2023-03-07  9:42     ` Konstantin Ananyev
  0 siblings, 0 replies; 13+ messages in thread
From: Konstantin Ananyev @ 2023-03-07  9:42 UTC (permalink / raw)
  To: Kamalakshitha Aligeri, jerinj, thomas, david.marchand,
	sean.morrissey, Ruifeng.Wang, Honnappa.Nagarahalli
  Cc: dev, nd



> -----Original Message-----
> From: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Sent: Monday, March 6, 2023 4:25 PM
> To: jerinj@marvell.com; thomas@monjalon.net; david.marchand@redhat.com; sean.morrissey@intel.com; Konstantin Ananyev
> <konstantin.ananyev@huawei.com>; Ruifeng.Wang@arm.com; Honnappa.Nagarahalli@arm.com
> Cc: dev@dpdk.org; nd@arm.com
> Subject: [PATCH v2 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding
> 
> LPM based lookup supports both IPv4 and IPv6 forwarding.
> 
> Fixes: 6a094e328598 ("examples/l3fwd: implement FIB lookup method")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> ---
>  doc/guides/sample_app_ug/l3_forward.rst | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
> index 94b22da01e..1cc2c1dd1d 100644
> --- a/doc/guides/sample_app_ug/l3_forward.rst
> +++ b/doc/guides/sample_app_ug/l3_forward.rst
> @@ -56,9 +56,8 @@ for the IPv4/IPv6 5-tuple syntax specifically.
>  The 5-tuple syntax consists of a source IP address, a destination IP address,
>  a source port, a destination port and a protocol identifier.
> 
> -In the sample application, hash-based, FIB-based and ACL-based forwarding supports
> +In the sample application, hash-based, LPM-based, FIB-based and ACL-based forwarding supports
>  both IPv4 and IPv6.
> -LPM-based forwarding supports IPv4 only.
>  During the initialization phase route rules for IPv4 and IPv6 are read from rule files.
> 
>  Compiling the Application
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
 

> 2.25.1
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] examples/l3fwd: validate ptype only for type of traffic sent
  2023-03-06 16:25 ` [PATCH v2 " Kamalakshitha Aligeri
  2023-03-06 16:25   ` [PATCH v2 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
  2023-03-06 16:25   ` [PATCH v2 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
@ 2023-03-20 13:17   ` Thomas Monjalon
  2 siblings, 0 replies; 13+ messages in thread
From: Thomas Monjalon @ 2023-03-20 13:17 UTC (permalink / raw)
  To: Kamalakshitha Aligeri
  Cc: jerinj, david.marchand, sean.morrissey, konstantin.ananyev,
	Ruifeng.Wang, Honnappa.Nagarahalli, dev, nd

06/03/2023 17:25, Kamalakshitha Aligeri:
> The check_ptype function is not considering the ptype of the incoming
> traffic. --parse-ptype flag must be provided only when the NIC does not
> support parsing the ptype of the incoming traffic
> 
> Suggested-by: Nathan Brown <nathan.brown@arm.com>
> Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Nathan Brown <nathan.brown@arm.com>
> Reviewed-by: Feifei Wang <feifei.wang2@arm.com>

Series applied, thanks.




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-03-20 13:17 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-14 21:25 [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
2022-11-14 21:25 ` [PATCH 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
2023-03-03  6:37   ` Ruifeng Wang
2022-11-14 21:25 ` [PATCH 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
2023-03-02 10:11   ` Ruifeng Wang
2023-02-08 17:45 ` [PATCH 1/3] examples/l3fwd: validate ptype only for type of traffic sent Kamalakshitha Aligeri
2023-03-06 16:25 ` [PATCH v2 " Kamalakshitha Aligeri
2023-03-06 16:25   ` [PATCH v2 2/3] examples/l3fwd: removed hash entry number Kamalakshitha Aligeri
2023-03-07  1:33     ` Ruifeng Wang
2023-03-07  9:41     ` Konstantin Ananyev
2023-03-06 16:25   ` [PATCH v2 3/3] doc/l3fwd: lpm supports IPv4 and IPv6 forwarding Kamalakshitha Aligeri
2023-03-07  9:42     ` Konstantin Ananyev
2023-03-20 13:17   ` [PATCH v2 1/3] examples/l3fwd: validate ptype only for type of traffic sent Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).