examples/l3fwd: increase number of routes
authorPavan Nikhilesh <pbhagavatula@marvell.com>
Fri, 5 Nov 2021 08:38:49 +0000 (14:08 +0530)
committerDavid Marchand <david.marchand@redhat.com>
Tue, 16 Nov 2021 10:24:22 +0000 (11:24 +0100)
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>
Reviewed-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
doc/guides/rel_notes/release_21_11.rst
examples/l3fwd/l3fwd_route.h
examples/l3fwd/main.c

index 09598c0..6ea7d0f 100644 (file)
@@ -396,6 +396,11 @@ New Features
   * Added tests to verify inner checksum.
   * Added tests for CHACHA20_POLY1305 PMD, including a new testcase for SGL OOP.
 
+* **Updated l3fwd sample application.**
+
+  * Increased number of routes to 16 for some lookup modes (LPM and FIB),
+    this helps in validating SoC with many ethernet devices.
+
 * **Updated IPsec Security Gateway sample application with new features.**
 
   * Added support for TSO (only for inline crypto TCP packets).
index 89f8634..c7eba06 100644 (file)
@@ -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];
index d69373f..eb68ffc 100644 (file)
@@ -180,7 +180,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},
@@ -191,11 +191,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-f}::/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},
@@ -206,6 +214,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},
 };
 
 /*