[dpdk-dev] [PATCH v5 07/15] distributor: fix return pkt calls in single mode

David Hunt david.hunt at intel.com
Thu Oct 8 16:32:19 CEST 2020


On 8/10/2020 6:23 AM, Lukasz Wojciechowski wrote:
> In the single legacy version of the distributor synchronization
> requires continues exchange of buffers between distributor
> and workers. Empty buffers are sent if only handshake
> synchronization is required.
> However calls to the rte_distributor_return_pkt()
> with 0 buffers in single mode were ignored and not passed to the
> legacy algorithm implementation causing lack of synchronization.
>
> This patch fixes this issue by passing NULL as buffer which is
> a valid way of sending just synchronization handshakes
> in single mode.
>
> Fixes: 775003ad2f96 ("distributor: add new burst-capable library")
> Cc: david.hunt at intel.com
> Cc: stable at dpdk.org
>
> Signed-off-by: Lukasz Wojciechowski <l.wojciechow at partner.samsung.com>
> ---
>   lib/librte_distributor/rte_distributor.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c
> index 115443fc0..9fd7dcab7 100644
> --- a/lib/librte_distributor/rte_distributor.c
> +++ b/lib/librte_distributor/rte_distributor.c
> @@ -168,6 +168,9 @@ rte_distributor_return_pkt(struct rte_distributor *d,
>   		if (num == 1)
>   			return rte_distributor_return_pkt_single(d->d_single,
>   				worker_id, oldpkt[0]);
> +		else if (num == 0)
> +			return rte_distributor_return_pkt_single(d->d_single,
> +				worker_id, NULL);
>   		else
>   			return -EINVAL;
>   	}


Acked-by: David Hunt <david.hunt at intel.com>




More information about the dev mailing list