Public summary: --------------- The TCP bandwidth is very low when using bnx2x with TPA. After analysis done at the customer site, the following patch has been identified as a fix. Author: Herbert Xu <herbert.org.au> 2006-09-01 01:11:02 Committer: David S. Miller <davem.net> 2006-09-23 01:18:44 Parent: 3015d5d4e5b15eddea272a697e83391100581932 ([RTNETLINK]: Fix typo causing wrong skb to be freed) Child: a9917c06652165fe4eeb9ab7a5d1e0674e90e508 ([XFRM] STATE: Fix flusing with hash mask.) Branches: coal, fixes, link, master, remotes/origin/master, tx Follows: v2.6.18 Precedes: v2.6.19-rc1 [TCP]: Fix rcv mss estimate for LRO By passing a Linux-generated TSO packet straight back into Linux, Xen becomes our first LRO user :) Unfortunately, there is at least one spot in our stack that needs to be changed to cope with this. The receive MSS estimate is computed from the raw packet size. This is broken if the packet is GSO/LRO. Fortunately the real MSS can be found in gso_size so we simply need to use that if it is non-zero. Real LRO NICs should of course set the gso_size field in future. Signed-off-by: Herbert Xu <herbert.org.au> Signed-off-by: David S. Miller <davem> diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index caf3c41..511b738 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -127,7 +127,7 @@ static void tcp_measure_rcv_mss(struct sock *sk, /* skb->len may jitter because of SACKs, even if peer * sends good full-sized frames. */ - len = skb->len; + len = skb_shinfo(skb)->gso_size ?: skb->len; if (len >= icsk->icsk_ack.rcv_mss) { icsk->icsk_ack.rcv_mss = len; } else {
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
in kernel-2.6.18-206.el5 You can download this test kernel from http://people.redhat.com/jwilson/el5 Detailed testing feedback is always welcomed.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-0017.html