]> git.baikalelectronics.ru Git - kernel.git/commit
bnx2x: Added FW GRO bridging support
authorYuval Mintz <yuvalmin@broadcom.com>
Mon, 14 Jan 2013 05:11:49 +0000 (05:11 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jan 2013 20:07:59 +0000 (15:07 -0500)
commit0515f0f1b2deefdd63c64e191f53824f743ad32e
tree3f7ee0e0b33519e946d5f800003a184cc62814f1
parent7a3b5660f580103b3aed25fe75ea8ac0d70e481a
bnx2x: Added FW GRO bridging support

Since submit 07a6ef7 the bnx2x driver support FW GRO.
However, when using the device with GRO enabled in bridging
scenarios throughput is very low, as the bridge expects all
incoming packets to be passed with CHECKSUM_PARTIAL -
a demand which is satisfied by the SW GRO implementation,
but was missed in the bnx2x driver implementation (which returned
CHECKSUM_UNNECESSARY).

Now, given that the traffic is supported by FW GRO (TCP/IP),
the bnx2x driver calculates the pseudo checksum by itself,
passing skbs with CHECKSUM_PARTIAL and giving a much better
throughput when receiving GRO traffic.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c