[dpdk-dev,3/4] net/virtio: don't use simple Rx path if TCP LRO requested
Checks
Commit Message
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
drivers/net/virtio/virtio_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On Fri, Jun 01, 2018 at 02:47:57PM +0200, Maxime Coquelin wrote:
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
> drivers/net/virtio/virtio_ethdev.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index 5730620ed..d481b282e 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1893,7 +1893,8 @@ virtio_dev_configure(struct rte_eth_dev *dev)
> }
>
> if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
> - DEV_RX_OFFLOAD_TCP_CKSUM))
> + DEV_RX_OFFLOAD_TCP_CKSUM |
> + DEV_RX_OFFLOAD_TCP_LRO))
Maybe we also need to consider not using simple Rx
when DEV_RX_OFFLOAD_VLAN_STRIP is requested.
Best regards,
Tiwei Bie
> hw->use_simple_rx = 0;
>
> if (tx_offloads & (DEV_TX_OFFLOAD_TCP_CKSUM |
> --
> 2.14.3
>
On 06/04/2018 01:59 PM, Tiwei Bie wrote:
> On Fri, Jun 01, 2018 at 02:47:57PM +0200, Maxime Coquelin wrote:
>> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>> ---
>> drivers/net/virtio/virtio_ethdev.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
>> index 5730620ed..d481b282e 100644
>> --- a/drivers/net/virtio/virtio_ethdev.c
>> +++ b/drivers/net/virtio/virtio_ethdev.c
>> @@ -1893,7 +1893,8 @@ virtio_dev_configure(struct rte_eth_dev *dev)
>> }
>>
>> if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
>> - DEV_RX_OFFLOAD_TCP_CKSUM))
>> + DEV_RX_OFFLOAD_TCP_CKSUM |
>> + DEV_RX_OFFLOAD_TCP_LRO))
>
> Maybe we also need to consider not using simple Rx
> when DEV_RX_OFFLOAD_VLAN_STRIP is requested.
I think that makes sense.
Thanks,
Maxime
> Best regards,
> Tiwei Bie
>
>> hw->use_simple_rx = 0;
>>
>> if (tx_offloads & (DEV_TX_OFFLOAD_TCP_CKSUM |
>> --
>> 2.14.3
>>
On 06/04/2018 04:32 PM, Maxime Coquelin wrote:
>
>
> On 06/04/2018 01:59 PM, Tiwei Bie wrote:
>> On Fri, Jun 01, 2018 at 02:47:57PM +0200, Maxime Coquelin wrote:
>>> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>>> ---
>>> drivers/net/virtio/virtio_ethdev.c | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/virtio/virtio_ethdev.c
>>> b/drivers/net/virtio/virtio_ethdev.c
>>> index 5730620ed..d481b282e 100644
>>> --- a/drivers/net/virtio/virtio_ethdev.c
>>> +++ b/drivers/net/virtio/virtio_ethdev.c
>>> @@ -1893,7 +1893,8 @@ virtio_dev_configure(struct rte_eth_dev *dev)
>>> }
>>> if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
>>> - DEV_RX_OFFLOAD_TCP_CKSUM))
>>> + DEV_RX_OFFLOAD_TCP_CKSUM |
>>> + DEV_RX_OFFLOAD_TCP_LRO))
>>
>> Maybe we also need to consider not using simple Rx
>> when DEV_RX_OFFLOAD_VLAN_STRIP is requested.
>
> I think that makes sense.
And also the same for Tx when VLAN_INSERT is requested
> Thanks,
> Maxime
>
>> Best regards,
>> Tiwei Bie
>>
>>> hw->use_simple_rx = 0;
>>> if (tx_offloads & (DEV_TX_OFFLOAD_TCP_CKSUM |
>>> --
>>> 2.14.3
>>>
@@ -1893,7 +1893,8 @@ virtio_dev_configure(struct rte_eth_dev *dev)
}
if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
- DEV_RX_OFFLOAD_TCP_CKSUM))
+ DEV_RX_OFFLOAD_TCP_CKSUM |
+ DEV_RX_OFFLOAD_TCP_LRO))
hw->use_simple_rx = 0;
if (tx_offloads & (DEV_TX_OFFLOAD_TCP_CKSUM |