bnx2x: Add TPA, Broadcoms HW LRO
authorVladislav Zolotarov <vladz@broadcom.com>
Tue, 24 Jun 2008 03:34:36 +0000 (20:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Jun 2008 03:34:36 +0000 (20:34 -0700)
commit7a9b25577c8a06d998fb11b28bf8229aa9623205
tree99d1a31c0112557794398b8add1cb22c51667afa
parentbb2a0f7ae477740d947b442f640a5d10b51025c0
bnx2x: Add TPA, Broadcoms HW LRO

The TPA stands for Transparent Packet Aggregation. When enabled, the FW
aggregate in-order TCP packets according to the 4-tuple match and sends
1 big packet to the driver. This packet is stored on an SGL in which
each SGE is 1 page. The FW also implements a timeout algorithm and it
honors all TCP flag, including the push flag as a trigger to halt
aggregation.

After receiving Ben Hutchings comments, we also added ethtool support,
so now, thanks to Ben's patch, when forwarding is enabled, our
aggregation is turned off using the LRO flags.

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2x.h
drivers/net/bnx2x_main.c