From: Pavan Nikhilesh <pbhagavat...@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 <pbhagavat...@marvell.com>
---
 v5 Changes:
 - Fix comments, missing IPv6 bdf prints (Conor).
 - Fix unintended change to em_parse_ptype (David).

 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.

 doc/guides/rel_notes/release_21_11.rst |  6 ++++++
 examples/l3fwd/l3fwd_route.h           |  4 ++--
 examples/l3fwd/main.c                  | 20 ++++++++++++++++++--
 3 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/doc/guides/rel_notes/release_21_11.rst 
b/doc/guides/rel_notes/release_21_11.rst
index d95bab5582..e8ee00d552 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -322,6 +322,12 @@ New Features
   overruns in C/C++ programs, and other similar errors, as well as
   printing out detailed debug information whenever an error is detected.

+* **Increase number of routes configured in l3fwd lpm, em and fib lookups.**
+
+  * Increase number of routes from 8 to 16 for all lookup modes of l3fwd, this
+    helps in validating SoC with more than 8 ethernet devices using l3fwd.
+  * Update EM mode to use RFC2544 reserved IP address space.
+

 Removed Items
 -------------
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 d69373f881..eb68ffc5aa 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -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},
 };

 /*
--
2.17.1

Reply via email to