[1/3] examples/l3fwd: increase number of routes
Checks
Commit Message
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>
---
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.33.0
Comments
On Mon, 4 Oct 2021 01:41:08 +0530
<pbhagavatula@marvell.com> wrote:
> 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>
> ---
> 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(-)
>
> 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},
> };
>
> /*
> --
> 2.33.0
>
Maybe the table should be generated or take an input file generated by a script.
@@ -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];
@@ -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},
};
/*