diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2008-08-13 18:48:29 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-13 19:01:14 -0400 |
commit | 1adcd8bee37f494e22aee856467e994ae086ae45 (patch) | |
tree | 81645cb54ff4fa876a2c67974db2e7d29fe9cf33 /drivers/net/bnx2x_main.c | |
parent | 19680c4850c1e5c2b4371388637c7ce86b8570b6 (diff) |
bnx2x: Not dropping packets with L3/L4 checksum error
Not dropping packets with L3/L4 checksum error
Those packets should be passed to the OS. The problem is clear in
forwarding mode.
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_main.c')
-rw-r--r-- | drivers/net/bnx2x_main.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 9eb8a3e6d629..b9d376d972ca 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
@@ -1501,7 +1501,6 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget) | |||
1501 | 1501 | ||
1502 | /* is this an error packet? */ | 1502 | /* is this an error packet? */ |
1503 | if (unlikely(cqe_fp_flags & ETH_RX_ERROR_FALGS)) { | 1503 | if (unlikely(cqe_fp_flags & ETH_RX_ERROR_FALGS)) { |
1504 | /* do we sometimes forward error packets anyway? */ | ||
1505 | DP(NETIF_MSG_RX_ERR, | 1504 | DP(NETIF_MSG_RX_ERR, |
1506 | "ERROR flags %x rx packet %u\n", | 1505 | "ERROR flags %x rx packet %u\n", |
1507 | cqe_fp_flags, sw_comp_cons); | 1506 | cqe_fp_flags, sw_comp_cons); |
@@ -1557,10 +1556,10 @@ reuse_rx: | |||
1557 | skb->protocol = eth_type_trans(skb, bp->dev); | 1556 | skb->protocol = eth_type_trans(skb, bp->dev); |
1558 | 1557 | ||
1559 | skb->ip_summed = CHECKSUM_NONE; | 1558 | skb->ip_summed = CHECKSUM_NONE; |
1560 | if (bp->rx_csum && BNX2X_RX_SUM_OK(cqe)) | 1559 | if (bp->rx_csum) |
1561 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 1560 | if (likely(BNX2X_RX_CSUM_OK(cqe))) |
1561 | skb->ip_summed = CHECKSUM_UNNECESSARY; | ||
1562 | 1562 | ||
1563 | /* TBD do we pass bad csum packets in promisc */ | ||
1564 | } | 1563 | } |
1565 | 1564 | ||
1566 | #ifdef BCM_VLAN | 1565 | #ifdef BCM_VLAN |