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