Skip to content

Commit 22a8f23

Browse files
michichdavem330
authored andcommitted
bnx2x: really disable TPA if 'disable_tpa' option is set
bnx2x's 'disable_tpa=1' module option is not respected properly and TPA (transparent packet aggregation) remains enabled. Even though the module option causes LRO to be disabled, TPA is enabled in GRO mode. Additionally, disabling GRO via ethtool then has no effect. One can still observe tpa_* statistics increase and large packets being received in tcpdump. The bug was an unintended consequence of commit aebf624 "bnx2x: Be more forgiving toward SW GRO". Fix it by following the bp->disable_tpa flag when initializing fp's. Signed-off-by: Michal Schmidt <mschmidt@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 94435f7 commit 22a8f23

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2485,8 +2485,10 @@ static void bnx2x_bz_fp(struct bnx2x *bp, int index)
24852485
else if (bp->flags & GRO_ENABLE_FLAG)
24862486
fp->mode = TPA_MODE_GRO;
24872487

2488-
/* We don't want TPA on an FCoE L2 ring */
2489-
if (IS_FCOE_FP(fp))
2488+
/* We don't want TPA if it's disabled in bp
2489+
* or if this is an FCoE L2 ring.
2490+
*/
2491+
if (bp->disable_tpa || IS_FCOE_FP(fp))
24902492
fp->disable_tpa = 1;
24912493
}
24922494

0 commit comments

Comments
 (0)