[dpdk-dev] [PATCH] net/tap: remove queue specific offload support

Ferruh Yigit ferruh.yigit at intel.com
Tue Apr 24 19:57:04 CEST 2018


On 4/23/2018 12:32 PM, Ophir Munk wrote:
> Hi Ferruh,
> The exact same setup works without your patch (done before sending my first email).
> I started debugging your patch and noticed you have dropped the setting of txq->csum which always remains 0 therefore [1] is never executed.

I see it now, missed nested if and assumed all block is for verifying offload,
thanks for pointing, I will send a new version soon, and will wait your tests.

> 
> I am adding a patch on top of yours which fixes this issue. 
> FYI - I plan doing more tests to confirm that everything works as expected, then will update.
> 
> diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
> index a0b8922..19c7ba0 100644
> --- a/drivers/net/tap/rte_eth_tap.c
> +++ b/drivers/net/tap/rte_eth_tap.c
> @@ -1108,7 +1108,13 @@ enum ioctl_mode {
>                 return -1;
>         dev->data->tx_queues[tx_queue_id] = &internals->txq[tx_queue_id];
>         txq = dev->data->tx_queues[tx_queue_id];
> -
> +       if (tx_conf != NULL &&
> +           !!(tx_conf->txq_flags & ETH_TXQ_FLAGS_IGNORE)) {
> +               txq->csum = !!(tx_conf->offloads &
> +                               (DEV_TX_OFFLOAD_IPV4_CKSUM |
> +                                DEV_TX_OFFLOAD_UDP_CKSUM |
> +                                DEV_TX_OFFLOAD_TCP_CKSUM));
> +       }
>         ret = tap_setup_queue(dev, internals, tx_queue_id, 0);
>         if (ret == -1)
>                 return -1;
> 
> Regards,
> Ophir



More information about the dev mailing list