]> 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)
commit3f3faa25795494d704d46d84f61664014f90e92a
tree3f7ee0e0b33519e946d5f800003a184cc62814f1
parent4f165104c4f6afef846150752e126098c4b61da3
bnx2x: Added FW GRO bridging support

Since submit 244f8aa 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