[2/3] examples/l3fwd: print port bdf when adding routes

Message ID 20211003201110.10448-2-pbhagavatula@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: David Marchand
Headers
Series [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:11 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Since the number of Ethernet ports have gone up, print the pci bdf along
with the routes.
This is also helpful for cases where allow listing order is not honored.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 examples/l3fwd/l3fwd_fib.c | 16 ++++++++++------
 examples/l3fwd/l3fwd_lpm.c |  9 ++++++---
 2 files changed, 16 insertions(+), 9 deletions(-)
  

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:11
> To: jerinj@marvell.com
> Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
> Subject: [dpdk-dev] [PATCH 2/3] examples/l3fwd: print port bdf when
> adding routes
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Since the number of Ethernet ports have gone up, print the pci bdf along
> with the routes.
> This is also helpful for cases where allow listing order is not honored.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  examples/l3fwd/l3fwd_fib.c | 16 ++++++++++------
>  examples/l3fwd/l3fwd_lpm.c |  9 ++++++---
>  2 files changed, 16 insertions(+), 9 deletions(-)
> 
> diff --git a/examples/l3fwd/l3fwd_fib.c b/examples/l3fwd/l3fwd_fib.c
> index f8d6a3ac39..cc6054ca44 100644
> --- a/examples/l3fwd/l3fwd_fib.c
> +++ b/examples/l3fwd/l3fwd_fib.c
> @@ -439,6 +439,7 @@ setup_fib(const int socketid)
> 
>  	/* Populate the fib ipv4 table. */
>  	for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) {
> +		struct rte_eth_dev_info dev_info;
>  		struct in_addr in;
> 
>  		/* Skip unused ports. */
> @@ -446,6 +447,8 @@ setup_fib(const int socketid)
>  				enabled_port_mask) == 0)
>  			continue;
> 
> +		rte_eth_dev_info_get(ipv4_l3fwd_route_array[i].if_out,
> +				     &dev_info);
>  		ret = rte_fib_add(ipv4_l3fwd_fib_lookup_struct[socketid],
>  			ipv4_l3fwd_route_array[i].ip,
>  			ipv4_l3fwd_route_array[i].depth,
> @@ -459,13 +462,14 @@ setup_fib(const int socketid)
> 
>  		in.s_addr = htonl(ipv4_l3fwd_route_array[i].ip);
>  		if (inet_ntop(AF_INET, &in, abuf, sizeof(abuf)) != NULL) {
> -			printf("FIB: Adding route %s / %d (%d)\n",
> -				abuf,
> -				ipv4_l3fwd_route_array[i].depth,
> -				ipv4_l3fwd_route_array[i].if_out);
> +			printf("FIB: Adding route %s / %d (%d) [%s]\n", abuf,
> +			       ipv4_l3fwd_route_array[i].depth,
> +			       ipv4_l3fwd_route_array[i].if_out,
> +			       dev_info.device->name);
>  		} else {
> -			printf("FIB: IPv4 route added to port %d\n",
> -				ipv4_l3fwd_route_array[i].if_out);
> +			printf("FIB: IPv4 route added to port %d [%s]\n",
> +			       ipv4_l3fwd_route_array[i].if_out,
> +			       dev_info.device->name);
>  		}
>  	}
>  	/* >8 End of setup fib. */
> diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c
> index 7200160164..582911c622 100644
> --- a/examples/l3fwd/l3fwd_lpm.c
> +++ b/examples/l3fwd/l3fwd_lpm.c
> @@ -451,6 +451,7 @@ setup_lpm(const int socketid)
> 
>  	/* populate the LPM table */
>  	for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) {
> +		struct rte_eth_dev_info dev_info;
>  		struct in_addr in;
> 
>  		/* skip unused ports */
> @@ -458,6 +459,8 @@ setup_lpm(const int socketid)
>  				enabled_port_mask) == 0)
>  			continue;
> 
> +		rte_eth_dev_info_get(ipv4_l3fwd_route_array[i].if_out,
> +				     &dev_info);
>  		ret = rte_lpm_add(ipv4_l3fwd_lpm_lookup_struct[socketid],
>  			ipv4_l3fwd_route_array[i].ip,
>  			ipv4_l3fwd_route_array[i].depth,
> @@ -470,10 +473,10 @@ setup_lpm(const int socketid)
>  		}
> 
>  		in.s_addr = htonl(ipv4_l3fwd_route_array[i].ip);
> -		printf("LPM: Adding route %s / %d (%d)\n",
> +		printf("LPM: Adding route %s / %d (%d) [%s]\n",
>  		       inet_ntop(AF_INET, &in, abuf, sizeof(abuf)),
> -			ipv4_l3fwd_route_array[i].depth,
> -			ipv4_l3fwd_route_array[i].if_out);
> +		       ipv4_l3fwd_route_array[i].depth,
> +		       ipv4_l3fwd_route_array[i].if_out, dev_info.device-
> >name);
>  	}
> 
>  	/* create the LPM6 table */

Hi Pavan,

If this is to be added it should probably print the BDF for the IPv6 routes as well as the IPv4 routes for consistency.
Otherwise I think this is a good addition.

Thanks,
Conor.
  
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:11
>> To: jerinj@marvell.com
>> Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
>> Subject: [dpdk-dev] [PATCH 2/3] examples/l3fwd: print port bdf
>when
>> adding routes
>>
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Since the number of Ethernet ports have gone up, print the pci bdf
>along
>> with the routes.
>> This is also helpful for cases where allow listing order is not honored.
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> ---
>>  examples/l3fwd/l3fwd_fib.c | 16 ++++++++++------
>>  examples/l3fwd/l3fwd_lpm.c |  9 ++++++---
>>  2 files changed, 16 insertions(+), 9 deletions(-)
>>
>> diff --git a/examples/l3fwd/l3fwd_fib.c
>b/examples/l3fwd/l3fwd_fib.c
>> index f8d6a3ac39..cc6054ca44 100644
>> --- a/examples/l3fwd/l3fwd_fib.c
>> +++ b/examples/l3fwd/l3fwd_fib.c
>> @@ -439,6 +439,7 @@ setup_fib(const int socketid)
>>
>>  	/* Populate the fib ipv4 table. */
>>  	for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) {
>> +		struct rte_eth_dev_info dev_info;
>>  		struct in_addr in;
>>
>>  		/* Skip unused ports. */
>> @@ -446,6 +447,8 @@ setup_fib(const int socketid)
>>  				enabled_port_mask) == 0)
>>  			continue;
>>
>> +
>	rte_eth_dev_info_get(ipv4_l3fwd_route_array[i].if_out,
>> +				     &dev_info);
>>  		ret =
>rte_fib_add(ipv4_l3fwd_fib_lookup_struct[socketid],
>>  			ipv4_l3fwd_route_array[i].ip,
>>  			ipv4_l3fwd_route_array[i].depth,
>> @@ -459,13 +462,14 @@ setup_fib(const int socketid)
>>
>>  		in.s_addr = htonl(ipv4_l3fwd_route_array[i].ip);
>>  		if (inet_ntop(AF_INET, &in, abuf, sizeof(abuf)) != NULL)
>{
>> -			printf("FIB: Adding route %s / %d (%d)\n",
>> -				abuf,
>> -				ipv4_l3fwd_route_array[i].depth,
>> -				ipv4_l3fwd_route_array[i].if_out);
>> +			printf("FIB: Adding route %s / %d (%d) [%s]\n",
>abuf,
>> +			       ipv4_l3fwd_route_array[i].depth,
>> +			       ipv4_l3fwd_route_array[i].if_out,
>> +			       dev_info.device->name);
>>  		} else {
>> -			printf("FIB: IPv4 route added to port %d\n",
>> -				ipv4_l3fwd_route_array[i].if_out);
>> +			printf("FIB: IPv4 route added to port %d
>[%s]\n",
>> +			       ipv4_l3fwd_route_array[i].if_out,
>> +			       dev_info.device->name);
>>  		}
>>  	}
>>  	/* >8 End of setup fib. */
>> diff --git a/examples/l3fwd/l3fwd_lpm.c
>b/examples/l3fwd/l3fwd_lpm.c
>> index 7200160164..582911c622 100644
>> --- a/examples/l3fwd/l3fwd_lpm.c
>> +++ b/examples/l3fwd/l3fwd_lpm.c
>> @@ -451,6 +451,7 @@ setup_lpm(const int socketid)
>>
>>  	/* populate the LPM table */
>>  	for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) {
>> +		struct rte_eth_dev_info dev_info;
>>  		struct in_addr in;
>>
>>  		/* skip unused ports */
>> @@ -458,6 +459,8 @@ setup_lpm(const int socketid)
>>  				enabled_port_mask) == 0)
>>  			continue;
>>
>> +
>	rte_eth_dev_info_get(ipv4_l3fwd_route_array[i].if_out,
>> +				     &dev_info);
>>  		ret =
>rte_lpm_add(ipv4_l3fwd_lpm_lookup_struct[socketid],
>>  			ipv4_l3fwd_route_array[i].ip,
>>  			ipv4_l3fwd_route_array[i].depth,
>> @@ -470,10 +473,10 @@ setup_lpm(const int socketid)
>>  		}
>>
>>  		in.s_addr = htonl(ipv4_l3fwd_route_array[i].ip);
>> -		printf("LPM: Adding route %s / %d (%d)\n",
>> +		printf("LPM: Adding route %s / %d (%d) [%s]\n",
>>  		       inet_ntop(AF_INET, &in, abuf, sizeof(abuf)),
>> -			ipv4_l3fwd_route_array[i].depth,
>> -			ipv4_l3fwd_route_array[i].if_out);
>> +		       ipv4_l3fwd_route_array[i].depth,
>> +		       ipv4_l3fwd_route_array[i].if_out, dev_info.device-
>> >name);
>>  	}
>>
>>  	/* create the LPM6 table */
>
>Hi Pavan,
>
>If this is to be added it should probably print the BDF for the IPv6 routes
>as well as the IPv4 routes for consistency.
>Otherwise I think this is a good addition.

Sure, I will add it in the next version.

>
>Thanks,
>Conor.

Thanks,
Pavan.
  

Patch

diff --git a/examples/l3fwd/l3fwd_fib.c b/examples/l3fwd/l3fwd_fib.c
index f8d6a3ac39..cc6054ca44 100644
--- a/examples/l3fwd/l3fwd_fib.c
+++ b/examples/l3fwd/l3fwd_fib.c
@@ -439,6 +439,7 @@  setup_fib(const int socketid)
 
 	/* Populate the fib ipv4 table. */
 	for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) {
+		struct rte_eth_dev_info dev_info;
 		struct in_addr in;
 
 		/* Skip unused ports. */
@@ -446,6 +447,8 @@  setup_fib(const int socketid)
 				enabled_port_mask) == 0)
 			continue;
 
+		rte_eth_dev_info_get(ipv4_l3fwd_route_array[i].if_out,
+				     &dev_info);
 		ret = rte_fib_add(ipv4_l3fwd_fib_lookup_struct[socketid],
 			ipv4_l3fwd_route_array[i].ip,
 			ipv4_l3fwd_route_array[i].depth,
@@ -459,13 +462,14 @@  setup_fib(const int socketid)
 
 		in.s_addr = htonl(ipv4_l3fwd_route_array[i].ip);
 		if (inet_ntop(AF_INET, &in, abuf, sizeof(abuf)) != NULL) {
-			printf("FIB: Adding route %s / %d (%d)\n",
-				abuf,
-				ipv4_l3fwd_route_array[i].depth,
-				ipv4_l3fwd_route_array[i].if_out);
+			printf("FIB: Adding route %s / %d (%d) [%s]\n", abuf,
+			       ipv4_l3fwd_route_array[i].depth,
+			       ipv4_l3fwd_route_array[i].if_out,
+			       dev_info.device->name);
 		} else {
-			printf("FIB: IPv4 route added to port %d\n",
-				ipv4_l3fwd_route_array[i].if_out);
+			printf("FIB: IPv4 route added to port %d [%s]\n",
+			       ipv4_l3fwd_route_array[i].if_out,
+			       dev_info.device->name);
 		}
 	}
 	/* >8 End of setup fib. */
diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c
index 7200160164..582911c622 100644
--- a/examples/l3fwd/l3fwd_lpm.c
+++ b/examples/l3fwd/l3fwd_lpm.c
@@ -451,6 +451,7 @@  setup_lpm(const int socketid)
 
 	/* populate the LPM table */
 	for (i = 0; i < RTE_DIM(ipv4_l3fwd_route_array); i++) {
+		struct rte_eth_dev_info dev_info;
 		struct in_addr in;
 
 		/* skip unused ports */
@@ -458,6 +459,8 @@  setup_lpm(const int socketid)
 				enabled_port_mask) == 0)
 			continue;
 
+		rte_eth_dev_info_get(ipv4_l3fwd_route_array[i].if_out,
+				     &dev_info);
 		ret = rte_lpm_add(ipv4_l3fwd_lpm_lookup_struct[socketid],
 			ipv4_l3fwd_route_array[i].ip,
 			ipv4_l3fwd_route_array[i].depth,
@@ -470,10 +473,10 @@  setup_lpm(const int socketid)
 		}
 
 		in.s_addr = htonl(ipv4_l3fwd_route_array[i].ip);
-		printf("LPM: Adding route %s / %d (%d)\n",
+		printf("LPM: Adding route %s / %d (%d) [%s]\n",
 		       inet_ntop(AF_INET, &in, abuf, sizeof(abuf)),
-			ipv4_l3fwd_route_array[i].depth,
-			ipv4_l3fwd_route_array[i].if_out);
+		       ipv4_l3fwd_route_array[i].depth,
+		       ipv4_l3fwd_route_array[i].if_out, dev_info.device->name);
 	}
 
 	/* create the LPM6 table */