Netdev List
 help / color / mirror / Atom feed
* FW: PROBLEM: VLAN LRO issue
@ 2012-05-10  1:01 Steven Liu (劉人豪)
  2012-05-10  1:25 ` Eric Dumazet
  0 siblings, 1 reply; 2+ messages in thread
From: Steven Liu (劉人豪) @ 2012-05-10  1:01 UTC (permalink / raw)
  To: netdev@vger.kernel.org

Hi Sir,

I found the issue about VLAN LRO feature and below is bug description and patch for your reference, thanks.

[1.] One line summary of the problem: 
VLAN LRO issue

[2.] Full description of the problem/report:
LRO implementation cannot handle VLAN tagged packets correctly.
It uses correct packet length when creating new LRO session, but uses wrong packet length when putting following packets into exist LRO session.

[3.] Keywords (i.e., modules, networking, kernel):
Networking

[4.] Kernel version (from /proc/version):
Linux-3.4-rc3 and below

[5.] Output of Oops.. message (if applicable) with symbolic information
     resolved (see Documentation/oops-tracing.txt) System is still working, but cannot speed up VLAN tagged traffic.

[X.] Other notes, patches, fixes, workarounds:
We have to apply below patch to fix this issue.

--- linux-3.4-rc3/net/ipv4/inet_lro.orig        2012-05-08 20:09:44.810366089 +0800
+++ linux-3.4-rc3/net/ipv4/inet_lro.c   2012-05-08 20:09:33.331679419 +0800
@@ -353,7 +353,7 @@ static int __lro_proc_skb(struct net_lro
        if (lro_desc->tcp_next_seq != ntohl(tcph->seq))
                goto out2;

-       if (lro_tcp_ip_check(iph, tcph, skb->len, lro_desc))
+       if (lro_tcp_ip_check(iph, tcph, skb->len - vlan_hdr_len, lro_desc))
                goto out2;

        lro_add_packet(lro_desc, skb, iph, tcph);



Regards,

Steven


************* Email Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!

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

* Re: FW: PROBLEM: VLAN LRO issue
  2012-05-10  1:01 FW: PROBLEM: VLAN LRO issue Steven Liu (劉人豪)
@ 2012-05-10  1:25 ` Eric Dumazet
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Dumazet @ 2012-05-10  1:25 UTC (permalink / raw)
  To: Steven Liu (劉人豪); +Cc: netdev@vger.kernel.org

On Thu, 2012-05-10 at 09:01 +0800, Steven Liu (劉人豪) wrote:
> Hi Sir,
> 
> I found the issue about VLAN LRO feature and below is bug description and patch for your reference, thanks.
> 
> [1.] One line summary of the problem: 
> VLAN LRO issue
> 
> [2.] Full description of the problem/report:
> LRO implementation cannot handle VLAN tagged packets correctly.
> It uses correct packet length when creating new LRO session, but uses wrong packet length when putting following packets into exist LRO session.
> 
> [3.] Keywords (i.e., modules, networking, kernel):
> Networking
> 
> [4.] Kernel version (from /proc/version):
> Linux-3.4-rc3 and below
> 
> [5.] Output of Oops.. message (if applicable) with symbolic information
>      resolved (see Documentation/oops-tracing.txt) System is still working, but cannot speed up VLAN tagged traffic.
> 
> [X.] Other notes, patches, fixes, workarounds:
> We have to apply below patch to fix this issue.
> 
> --- linux-3.4-rc3/net/ipv4/inet_lro.orig        2012-05-08 20:09:44.810366089 +0800
> +++ linux-3.4-rc3/net/ipv4/inet_lro.c   2012-05-08 20:09:33.331679419 +0800
> @@ -353,7 +353,7 @@ static int __lro_proc_skb(struct net_lro
>         if (lro_desc->tcp_next_seq != ntohl(tcph->seq))
>                 goto out2;
> 
> -       if (lro_tcp_ip_check(iph, tcph, skb->len, lro_desc))
> +       if (lro_tcp_ip_check(iph, tcph, skb->len - vlan_hdr_len, lro_desc))
>                 goto out2;
> 
>         lro_add_packet(lro_desc, skb, iph, tcph);
> 

Hi 

This looks like a good fix, could you please submit an official patch ?

Documentation/SubmittingPatches

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

end of thread, other threads:[~2012-05-10  1:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-10  1:01 FW: PROBLEM: VLAN LRO issue Steven Liu (劉人豪)
2012-05-10  1:25 ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox