* [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload
@ 2021-09-02 14:39 Andrew Rybchenko
2021-09-14 11:07 ` Maxime Coquelin
2021-09-14 11:28 ` Maxime Coquelin
0 siblings, 2 replies; 5+ messages in thread
From: Andrew Rybchenko @ 2021-09-02 14:39 UTC (permalink / raw)
To: Maxime Coquelin, Chenbo Xia, Jens Freimann, Ivan Ilchenko
Cc: dev, Ferruh Yigit, Ivan Ilchenko, stable
From: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
Use max-pkt-len only if jumbo frames offload is requested
since otherwise this field isn't valid.
Fixes: 8b90e4358112 ("net/virtio: set offload flag for jumbo frames")
Fixes: 4e8169eb0d2d ("net/virtio: fix Rx scatter offload")
Cc: stable@dpdk.org
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
drivers/net/virtio/virtio_ethdev.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index e58085a2c9..9bce6833db 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -2099,10 +2099,14 @@ virtio_dev_configure(struct rte_eth_dev *dev)
return ret;
}
- if (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len)
+ if ((rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) &&
+ (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len))
req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
- hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
+ if (rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
+ hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
+ else
+ hw->max_rx_pkt_len = ether_hdr_len + dev->data->mtu;
if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
DEV_RX_OFFLOAD_TCP_CKSUM))
--
2.30.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload
2021-09-02 14:39 [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload Andrew Rybchenko
@ 2021-09-14 11:07 ` Maxime Coquelin
2021-09-14 11:17 ` Andrew Rybchenko
2021-09-14 11:28 ` Maxime Coquelin
1 sibling, 1 reply; 5+ messages in thread
From: Maxime Coquelin @ 2021-09-14 11:07 UTC (permalink / raw)
To: Andrew Rybchenko, Chenbo Xia, Jens Freimann, Ivan Ilchenko
Cc: dev, Ferruh Yigit, stable
On 9/2/21 4:39 PM, Andrew Rybchenko wrote:
> From: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
>
> Use max-pkt-len only if jumbo frames offload is requested
> since otherwise this field isn't valid.
>
> Fixes: 8b90e4358112 ("net/virtio: set offload flag for jumbo frames")
> Fixes: 4e8169eb0d2d ("net/virtio: fix Rx scatter offload")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> ---
> drivers/net/virtio/virtio_ethdev.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index e58085a2c9..9bce6833db 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -2099,10 +2099,14 @@ virtio_dev_configure(struct rte_eth_dev *dev)
> return ret;
> }
>
> - if (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len)
> + if ((rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) &&
> + (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len))
> req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
>
> - hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
> + if (rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
> + hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
> + else
> + hw->max_rx_pkt_len = ether_hdr_len + dev->data->mtu;
>
> if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
> DEV_RX_OFFLOAD_TCP_CKSUM))
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload
2021-09-14 11:07 ` Maxime Coquelin
@ 2021-09-14 11:17 ` Andrew Rybchenko
2021-09-14 11:28 ` Maxime Coquelin
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Rybchenko @ 2021-09-14 11:17 UTC (permalink / raw)
To: Maxime Coquelin, Chenbo Xia, Jens Freimann, Ivan Ilchenko
Cc: dev, Ferruh Yigit, stable
On 9/14/21 2:07 PM, Maxime Coquelin wrote:
>
>
> On 9/2/21 4:39 PM, Andrew Rybchenko wrote:
>> From: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
>>
>> Use max-pkt-len only if jumbo frames offload is requested
>> since otherwise this field isn't valid.
>>
>> Fixes: 8b90e4358112 ("net/virtio: set offload flag for jumbo frames")
>> Fixes: 4e8169eb0d2d ("net/virtio: fix Rx scatter offload")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
>> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>> ---
>> drivers/net/virtio/virtio_ethdev.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
>> index e58085a2c9..9bce6833db 100644
>> --- a/drivers/net/virtio/virtio_ethdev.c
>> +++ b/drivers/net/virtio/virtio_ethdev.c
>> @@ -2099,10 +2099,14 @@ virtio_dev_configure(struct rte_eth_dev *dev)
>> return ret;
>> }
>>
>> - if (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len)
>> + if ((rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) &&
>> + (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len))
>> req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
>>
>> - hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
>> + if (rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
>> + hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
>> + else
>> + hw->max_rx_pkt_len = ether_hdr_len + dev->data->mtu;
>>
>> if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
>> DEV_RX_OFFLOAD_TCP_CKSUM))
>>
>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Maxime, please, make letters lower case in From E-mail on
applying.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload
2021-09-14 11:17 ` Andrew Rybchenko
@ 2021-09-14 11:28 ` Maxime Coquelin
0 siblings, 0 replies; 5+ messages in thread
From: Maxime Coquelin @ 2021-09-14 11:28 UTC (permalink / raw)
To: Andrew Rybchenko, Chenbo Xia, Jens Freimann, Ivan Ilchenko
Cc: dev, Ferruh Yigit, stable
On 9/14/21 1:17 PM, Andrew Rybchenko wrote:
> On 9/14/21 2:07 PM, Maxime Coquelin wrote:
>>
>>
>> On 9/2/21 4:39 PM, Andrew Rybchenko wrote:
>>> From: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
>>>
>>> Use max-pkt-len only if jumbo frames offload is requested
>>> since otherwise this field isn't valid.
>>>
>>> Fixes: 8b90e4358112 ("net/virtio: set offload flag for jumbo frames")
>>> Fixes: 4e8169eb0d2d ("net/virtio: fix Rx scatter offload")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
>>> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>>> ---
>>> drivers/net/virtio/virtio_ethdev.c | 8 ++++++--
>>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
>>> index e58085a2c9..9bce6833db 100644
>>> --- a/drivers/net/virtio/virtio_ethdev.c
>>> +++ b/drivers/net/virtio/virtio_ethdev.c
>>> @@ -2099,10 +2099,14 @@ virtio_dev_configure(struct rte_eth_dev *dev)
>>> return ret;
>>> }
>>>
>>> - if (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len)
>>> + if ((rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) &&
>>> + (rxmode->max_rx_pkt_len > hw->max_mtu + ether_hdr_len))
>>> req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
>>>
>>> - hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
>>> + if (rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
>>> + hw->max_rx_pkt_len = rxmode->max_rx_pkt_len;
>>> + else
>>> + hw->max_rx_pkt_len = ether_hdr_len + dev->data->mtu;
>>>
>>> if (rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM |
>>> DEV_RX_OFFLOAD_TCP_CKSUM))
>>>
>>
>> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>
> Maxime, please, make letters lower case in From E-mail on
> applying.
>
Done!
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload
2021-09-02 14:39 [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload Andrew Rybchenko
2021-09-14 11:07 ` Maxime Coquelin
@ 2021-09-14 11:28 ` Maxime Coquelin
1 sibling, 0 replies; 5+ messages in thread
From: Maxime Coquelin @ 2021-09-14 11:28 UTC (permalink / raw)
To: Andrew Rybchenko, Chenbo Xia, Jens Freimann, Ivan Ilchenko
Cc: dev, Ferruh Yigit, stable
On 9/2/21 4:39 PM, Andrew Rybchenko wrote:
> From: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
>
> Use max-pkt-len only if jumbo frames offload is requested
> since otherwise this field isn't valid.
>
> Fixes: 8b90e4358112 ("net/virtio: set offload flag for jumbo frames")
> Fixes: 4e8169eb0d2d ("net/virtio: fix Rx scatter offload")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> ---
> drivers/net/virtio/virtio_ethdev.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
Applied to dpdk-next-virtio/main.
Thanks,
Maxime
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-09-14 11:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 14:39 [dpdk-stable] [PATCH] net/virtio: fix device configure without jumbo Rx offload Andrew Rybchenko
2021-09-14 11:07 ` Maxime Coquelin
2021-09-14 11:17 ` Andrew Rybchenko
2021-09-14 11:28 ` Maxime Coquelin
2021-09-14 11:28 ` Maxime Coquelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).