[dpdk-dev] [PATCH] examples/l3fwd: fix some packets lost when stops receiving

Ananyev, Konstantin konstantin.ananyev at intel.com
Thu Mar 31 15:52:44 CEST 2016



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Tomasz Kulasek
> Sent: Thursday, March 31, 2016 2:38 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH] examples/l3fwd: fix some packets lost when stops receiving
> 
> Not all tx ports was included in tx_port_id array, used to periodically
> drain only available ports. This caused that some packets remain in buffer
> when application stops to receiving packets.
> 
> Fixes: 52c97adc1f0f ("examples/l3fwd: fix exact match performance")
> 
> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek at intel.com>
> ---
>  examples/l3fwd/main.c |    6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
> index e10dab9..92fda3b 100644
> --- a/examples/l3fwd/main.c
> +++ b/examples/l3fwd/main.c
> @@ -836,7 +836,6 @@ main(int argc, char **argv)
>  	unsigned lcore_id;
>  	uint32_t n_tx_queue, nb_lcores;
>  	uint8_t portid, nb_rx_queue, queue, socketid;
> -	uint8_t nb_tx_port;
> 
>  	/* init EAL */
>  	ret = rte_eal_init(argc, argv);
> @@ -876,7 +875,6 @@ main(int argc, char **argv)
>  		rte_exit(EXIT_FAILURE, "check_port_config failed\n");
> 
>  	nb_lcores = rte_lcore_count();
> -	nb_tx_port = 0;
> 
>  	/* Setup function pointers for lookup method. */
>  	setup_l3fwd_lookup_tables();
> @@ -954,12 +952,10 @@ main(int argc, char **argv)
>  			qconf->tx_queue_id[portid] = queueid;
>  			queueid++;
> 
> -			qconf->n_tx_port = nb_tx_port;
>  			qconf->tx_port_id[qconf->n_tx_port] = portid;
> +			qconf->n_tx_port++;
>  		}
>  		printf("\n");
> -
> -		nb_tx_port++;
>  	}
> 
>  	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>

> 1.7.9.5



More information about the dev mailing list