[v4,1/3] examples/l3fwd: increase number of routes

Message ID 20211003202448.10908-1-pbhagavatula@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: David Marchand
Headers
Series [v4,1/3] examples/l3fwd: increase number of routes |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Pavan Nikhilesh Bhagavatula Oct. 3, 2021, 8:24 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Increase the number of routes from 8 to 16 that are statically added for
lpm and em mode as most of the SoCs support more than 8 interfaces.
The number of routes added is equal to the number of ethernet devices
ports enabled through port mask.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v4 Changes:
 - Use correct patch version and prefix.

 v3 Changes: (Finally!)
 - Add FIB to the list.
 - Update release notes.
 - Update EM route addition routine and use the correct IP addresses
   DTS need not be updated as EM test doesn't use IP addresses defined
   in l3fwd.

 v2 Changes:
 - Fixup for EM mode.

 examples/l3fwd/l3fwd_route.h |  4 ++--
 examples/l3fwd/main.c        | 20 ++++++++++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

--
2.17.1
  

Comments

Conor Walsh Nov. 4, 2021, 10:28 a.m. UTC | #1
> From: dev <dev-bounces@dpdk.org> On Behalf Of
> pbhagavatula@marvell.com
> Sent: Sunday 3 October 2021 21:25
> To: david.marchand@redhat.com; jerinj@marvell.com
> Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH v4 1/3] examples/l3fwd: increase number of
> routes
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Increase the number of routes from 8 to 16 that are statically added for
> lpm and em mode as most of the SoCs support more than 8 interfaces.
> The number of routes added is equal to the number of ethernet devices
> ports enabled through port mask.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---

<snip>

>  /*
>   * 2001:200::/48 is IANA reserved range for IPv6 benchmarking (RFC5180).
> - * 2001:200:0:{0-7}::/64 = Port {0-7}
> + * 2001:200:0:{0-15}::/64 = Port {0-15}

Hi Pavan,

IPv6 addresses are given in hex so the above comment should be:
2001:200:0:{0-f}::/64 = Port {0-15}

The ipv6_l3fwd_route_array below is correct however.

Thanks,
Conor.

>   */
>  const struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = {
>  	{{32, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 0},
> @@ -205,6 +213,14 @@ const struct ipv6_l3fwd_route
> ipv6_l3fwd_route_array[] = {
>  	{{32, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 5},
>  	{{32, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 6},
>  	{{32, 1, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 7},
> +	{{32, 1, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 8},
> +	{{32, 1, 2, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 9},
> +	{{32, 1, 2, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 10},
> +	{{32, 1, 2, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 11},
> +	{{32, 1, 2, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 12},
> +	{{32, 1, 2, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 13},
> +	{{32, 1, 2, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 14},
> +	{{32, 1, 2, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 15},
>  };
  
Pavan Nikhilesh Bhagavatula Nov. 5, 2021, 7:27 a.m. UTC | #2
>> From: dev <dev-bounces@dpdk.org> On Behalf Of
>> pbhagavatula@marvell.com
>> Sent: Sunday 3 October 2021 21:25
>> To: david.marchand@redhat.com; jerinj@marvell.com
>> Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
>> Subject: [dpdk-dev] [PATCH v4 1/3] examples/l3fwd: increase
>number of
>> routes
>>
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Increase the number of routes from 8 to 16 that are statically added
>for
>> lpm and em mode as most of the SoCs support more than 8
>interfaces.
>> The number of routes added is equal to the number of ethernet
>devices
>> ports enabled through port mask.
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> ---
>
><snip>
>
>>  /*
>>   * 2001:200::/48 is IANA reserved range for IPv6 benchmarking
>(RFC5180).
>> - * 2001:200:0:{0-7}::/64 = Port {0-7}
>> + * 2001:200:0:{0-15}::/64 = Port {0-15}
>
>Hi Pavan,
>
>IPv6 addresses are given in hex so the above comment should be:
>2001:200:0:{0-f}::/64 = Port {0-15}
>

Ack, I will fix the comment in the next version.

Thanks,
Pavan.

>The ipv6_l3fwd_route_array below is correct however.
>
>Thanks,
>Conor.
>
>>   */
>>  const struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = {
>>  	{{32, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 0},
>> @@ -205,6 +213,14 @@ const struct ipv6_l3fwd_route
>> ipv6_l3fwd_route_array[] = {
>>  	{{32, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 5},
>>  	{{32, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 6},
>>  	{{32, 1, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 7},
>> +	{{32, 1, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 8},
>> +	{{32, 1, 2, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 9},
>> +	{{32, 1, 2, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 10},
>> +	{{32, 1, 2, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 11},
>> +	{{32, 1, 2, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 12},
>> +	{{32, 1, 2, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 13},
>> +	{{32, 1, 2, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 14},
>> +	{{32, 1, 2, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 15},
>>  };
>
  

Patch

diff --git a/examples/l3fwd/l3fwd_route.h b/examples/l3fwd/l3fwd_route.h
index 89f8634443..c7eba06c4d 100644
--- a/examples/l3fwd/l3fwd_route.h
+++ b/examples/l3fwd/l3fwd_route.h
@@ -14,6 +14,6 @@  struct ipv6_l3fwd_route {
 	uint8_t if_out;
 };

-extern const struct ipv4_l3fwd_route ipv4_l3fwd_route_array[8];
+extern const struct ipv4_l3fwd_route ipv4_l3fwd_route_array[16];

-extern const struct ipv6_l3fwd_route ipv6_l3fwd_route_array[8];
+extern const struct ipv6_l3fwd_route ipv6_l3fwd_route_array[16];
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 00ac267af1..194f6ac1a4 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -179,7 +179,7 @@  static struct l3fwd_lkp_mode l3fwd_fib_lkp = {

 /*
  * 198.18.0.0/16 are set aside for RFC2544 benchmarking (RFC5735).
- * 198.18.{0-7}.0/24 = Port {0-7}
+ * 198.18.{0-15}.0/24 = Port {0-15}
  */
 const struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = {
 	{RTE_IPV4(198, 18, 0, 0), 24, 0},
@@ -190,11 +190,19 @@  const struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = {
 	{RTE_IPV4(198, 18, 5, 0), 24, 5},
 	{RTE_IPV4(198, 18, 6, 0), 24, 6},
 	{RTE_IPV4(198, 18, 7, 0), 24, 7},
+	{RTE_IPV4(198, 18, 8, 0), 24, 8},
+	{RTE_IPV4(198, 18, 9, 0), 24, 9},
+	{RTE_IPV4(198, 18, 10, 0), 24, 10},
+	{RTE_IPV4(198, 18, 11, 0), 24, 11},
+	{RTE_IPV4(198, 18, 12, 0), 24, 12},
+	{RTE_IPV4(198, 18, 13, 0), 24, 13},
+	{RTE_IPV4(198, 18, 14, 0), 24, 14},
+	{RTE_IPV4(198, 18, 15, 0), 24, 15},
 };

 /*
  * 2001:200::/48 is IANA reserved range for IPv6 benchmarking (RFC5180).
- * 2001:200:0:{0-7}::/64 = Port {0-7}
+ * 2001:200:0:{0-15}::/64 = Port {0-15}
  */
 const struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = {
 	{{32, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 0},
@@ -205,6 +213,14 @@  const struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = {
 	{{32, 1, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 5},
 	{{32, 1, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 6},
 	{{32, 1, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 7},
+	{{32, 1, 2, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 8},
+	{{32, 1, 2, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 9},
+	{{32, 1, 2, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 10},
+	{{32, 1, 2, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 11},
+	{{32, 1, 2, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 12},
+	{{32, 1, 2, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 13},
+	{{32, 1, 2, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 14},
+	{{32, 1, 2, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0}, 64, 15},
 };

 /*