All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] net: i40e: add VLAN tag size to RXMAX
@ 2015-08-31  6:41 Vlad Zolotarov
  2015-09-01  5:34 ` Zhang, Helin
  0 siblings, 1 reply; 4+ messages in thread
From: Vlad Zolotarov @ 2015-08-31  6:41 UTC (permalink / raw)
  To: dev

HW requires it regardless the presence of the VLAN tag in the received frame.
Otherwise Rx frames are being filtered out on the MTU-4 boundary.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
---
 drivers/net/i40e/i40e_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index eae4ab0..22aaeb1 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -3156,7 +3156,7 @@ i40e_rx_queue_init(struct i40e_rx_queue *rxq)
 		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_ALL;
 	else
 		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_NONE;
-	rx_ctx.rxmax = rxq->max_pkt_len;
+	rx_ctx.rxmax = rxq->max_pkt_len + I40E_VLAN_TAG_SIZE;
 	rx_ctx.tphrdesc_ena = 1;
 	rx_ctx.tphwdesc_ena = 1;
 	rx_ctx.tphdata_ena = 1;
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] net: i40e: add VLAN tag size to RXMAX
  2015-08-31  6:41 [PATCH v1] net: i40e: add VLAN tag size to RXMAX Vlad Zolotarov
@ 2015-09-01  5:34 ` Zhang, Helin
  2016-05-06 15:51   ` Nikita Kozlov
  0 siblings, 1 reply; 4+ messages in thread
From: Zhang, Helin @ 2015-09-01  5:34 UTC (permalink / raw)
  To: Vlad Zolotarov, dev



> -----Original Message-----
> From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com]
> Sent: Monday, August 31, 2015 2:42 PM
> To: dev@dpdk.org
> Cc: Zhang, Helin; Ananyev, Konstantin; avi@cloudius-systems.com; Vlad
> Zolotarov
> Subject: [dpdk-dev] [PATCH v1] net: i40e: add VLAN tag size to RXMAX
> 
> HW requires it regardless the presence of the VLAN tag in the received frame.
> Otherwise Rx frames are being filtered out on the MTU-4 boundary.
Maximum packet length could have different meanings from MTU. I agree with
you to have it be regardless of vlan tag length.

> 
> Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
> ---
>  drivers/net/i40e/i40e_rxtx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index
> eae4ab0..22aaeb1 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -3156,7 +3156,7 @@ i40e_rx_queue_init(struct i40e_rx_queue *rxq)
>  		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_ALL;
>  	else
>  		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_NONE;
> -	rx_ctx.rxmax = rxq->max_pkt_len;
> +	rx_ctx.rxmax = rxq->max_pkt_len + I40E_VLAN_TAG_SIZE;
It needs to take into account the double vlan case, and also VF case.
It seems it needs more code changes. Thank you for the contribution!

Regards,
Helin

>  	rx_ctx.tphrdesc_ena = 1;
>  	rx_ctx.tphwdesc_ena = 1;
>  	rx_ctx.tphdata_ena = 1;
> --
> 2.1.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] net: i40e: add VLAN tag size to RXMAX
  2015-09-01  5:34 ` Zhang, Helin
@ 2016-05-06 15:51   ` Nikita Kozlov
  2016-05-13  2:33     ` Wu, Jingjing
  0 siblings, 1 reply; 4+ messages in thread
From: Nikita Kozlov @ 2016-05-06 15:51 UTC (permalink / raw)
  To: helin.zhang; +Cc: dev

Hello,

On 09/ 1/15 07:34 AM, Zhang, Helin wrote:
>> -----Original Message-----
>> From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com]
>> Sent: Monday, August 31, 2015 2:42 PM
>> To: dev@dpdk.org
>> Cc: Zhang, Helin; Ananyev, Konstantin; avi@cloudius-systems.com; Vlad
>> Zolotarov
>> Subject: [dpdk-dev] [PATCH v1] net: i40e: add VLAN tag size to RXMAX
>>
>> HW requires it regardless the presence of the VLAN tag in the received frame.
>> Otherwise Rx frames are being filtered out on the MTU-4 boundary.
> Maximum packet length could have different meanings from MTU. I agree with
> you to have it be regardless of vlan tag length.
>
>> Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
>> ---
>>  drivers/net/i40e/i40e_rxtx.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index
>> eae4ab0..22aaeb1 100644
>> --- a/drivers/net/i40e/i40e_rxtx.c
>> +++ b/drivers/net/i40e/i40e_rxtx.c
>> @@ -3156,7 +3156,7 @@ i40e_rx_queue_init(struct i40e_rx_queue *rxq)
>>  		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_ALL;
>>  	else
>>  		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_NONE;
>> -	rx_ctx.rxmax = rxq->max_pkt_len;
>> +	rx_ctx.rxmax = rxq->max_pkt_len + I40E_VLAN_TAG_SIZE;
> It needs to take into account the double vlan case, and also VF case.
> It seems it needs more code changes. Thank you for the contribution!
I was wondering if this "bug" haven't been forgotten ? Even if it his
not patched yet maybe it is worth an entry in the documentation ?
>
> Regards,
> Helin
>
>>  	rx_ctx.tphrdesc_ena = 1;
>>  	rx_ctx.tphwdesc_ena = 1;
>>  	rx_ctx.tphdata_ena = 1;
>> --
>> 2.1.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] net: i40e: add VLAN tag size to RXMAX
  2016-05-06 15:51   ` Nikita Kozlov
@ 2016-05-13  2:33     ` Wu, Jingjing
  0 siblings, 0 replies; 4+ messages in thread
From: Wu, Jingjing @ 2016-05-13  2:33 UTC (permalink / raw)
  To: Nikita Kozlov, Zhang, Helin; +Cc: dev

Hi, Nikita

dev_conf.rxmode.max_rx_pkt_len is different with MTU concept.
The max_rx_pkt_len indicates the maximum packet length it can receive, it should be larger than MTU.
 
There is another patch which is enabling set_mtu ops.
http://dpdk.org/dev/patchwork/patch/12218/
You can definitely help to review and comment it.

Thanks
Jingjing

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nikita Kozlov
> Sent: Friday, May 06, 2016 11:51 PM
> To: Zhang, Helin
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v1] net: i40e: add VLAN tag size to RXMAX
> 
> Hello,
> 
> On 09/ 1/15 07:34 AM, Zhang, Helin wrote:
> >> -----Original Message-----
> >> From: Vlad Zolotarov [mailto:vladz@cloudius-systems.com]
> >> Sent: Monday, August 31, 2015 2:42 PM
> >> To: dev@dpdk.org
> >> Cc: Zhang, Helin; Ananyev, Konstantin; avi@cloudius-systems.com; Vlad
> >> Zolotarov
> >> Subject: [dpdk-dev] [PATCH v1] net: i40e: add VLAN tag size to RXMAX
> >>
> >> HW requires it regardless the presence of the VLAN tag in the received
> frame.
> >> Otherwise Rx frames are being filtered out on the MTU-4 boundary.
> > Maximum packet length could have different meanings from MTU. I agree
> > with you to have it be regardless of vlan tag length.
> >
> >> Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
> >> ---
> >>  drivers/net/i40e/i40e_rxtx.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/net/i40e/i40e_rxtx.c
> >> b/drivers/net/i40e/i40e_rxtx.c index
> >> eae4ab0..22aaeb1 100644
> >> --- a/drivers/net/i40e/i40e_rxtx.c
> >> +++ b/drivers/net/i40e/i40e_rxtx.c
> >> @@ -3156,7 +3156,7 @@ i40e_rx_queue_init(struct i40e_rx_queue *rxq)
> >>  		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_ALL;
> >>  	else
> >>  		rx_ctx.hsplit_0 = I40E_HEADER_SPLIT_NONE;
> >> -	rx_ctx.rxmax = rxq->max_pkt_len;
> >> +	rx_ctx.rxmax = rxq->max_pkt_len + I40E_VLAN_TAG_SIZE;
> > It needs to take into account the double vlan case, and also VF case.
> > It seems it needs more code changes. Thank you for the contribution!
> I was wondering if this "bug" haven't been forgotten ? Even if it his not
> patched yet maybe it is worth an entry in the documentation ?
> >
> > Regards,
> > Helin
> >
> >>  	rx_ctx.tphrdesc_ena = 1;
> >>  	rx_ctx.tphwdesc_ena = 1;
> >>  	rx_ctx.tphdata_ena = 1;
> >> --
> >> 2.1.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-05-13  2:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-31  6:41 [PATCH v1] net: i40e: add VLAN tag size to RXMAX Vlad Zolotarov
2015-09-01  5:34 ` Zhang, Helin
2016-05-06 15:51   ` Nikita Kozlov
2016-05-13  2:33     ` Wu, Jingjing

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.