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.h | |
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.h')
-rw-r--r-- | drivers/net/bnx2x.h | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/drivers/net/bnx2x.h b/drivers/net/bnx2x.h index 4bf4f7b205f2..dc54602494fb 100644 --- a/drivers/net/bnx2x.h +++ b/drivers/net/bnx2x.h | |||
@@ -386,20 +386,28 @@ struct bnx2x_fastpath { | |||
386 | #define TPA_TYPE(cqe_fp_flags) ((cqe_fp_flags) & \ | 386 | #define TPA_TYPE(cqe_fp_flags) ((cqe_fp_flags) & \ |
387 | (TPA_TYPE_START | TPA_TYPE_END)) | 387 | (TPA_TYPE_START | TPA_TYPE_END)) |
388 | 388 | ||
389 | #define BNX2X_RX_SUM_OK(cqe) \ | 389 | #define ETH_RX_ERROR_FALGS ETH_FAST_PATH_RX_CQE_PHY_DECODE_ERR_FLG |
390 | (!(cqe->fast_path_cqe.status_flags & \ | 390 | |
391 | (ETH_FAST_PATH_RX_CQE_IP_XSUM_NO_VALIDATION_FLG | \ | 391 | #define BNX2X_IP_CSUM_ERR(cqe) \ |
392 | ETH_FAST_PATH_RX_CQE_L4_XSUM_NO_VALIDATION_FLG))) | 392 | (!((cqe)->fast_path_cqe.status_flags & \ |
393 | ETH_FAST_PATH_RX_CQE_IP_XSUM_NO_VALIDATION_FLG) && \ | ||
394 | ((cqe)->fast_path_cqe.type_error_flags & \ | ||
395 | ETH_FAST_PATH_RX_CQE_IP_BAD_XSUM_FLG)) | ||
396 | |||
397 | #define BNX2X_L4_CSUM_ERR(cqe) \ | ||
398 | (!((cqe)->fast_path_cqe.status_flags & \ | ||
399 | ETH_FAST_PATH_RX_CQE_L4_XSUM_NO_VALIDATION_FLG) && \ | ||
400 | ((cqe)->fast_path_cqe.type_error_flags & \ | ||
401 | ETH_FAST_PATH_RX_CQE_L4_BAD_XSUM_FLG)) | ||
402 | |||
403 | #define BNX2X_RX_CSUM_OK(cqe) \ | ||
404 | (!(BNX2X_L4_CSUM_ERR(cqe) || BNX2X_IP_CSUM_ERR(cqe))) | ||
393 | 405 | ||
394 | #define BNX2X_RX_SUM_FIX(cqe) \ | 406 | #define BNX2X_RX_SUM_FIX(cqe) \ |
395 | ((le16_to_cpu(cqe->fast_path_cqe.pars_flags.flags) & \ | 407 | ((le16_to_cpu(cqe->fast_path_cqe.pars_flags.flags) & \ |
396 | PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) == \ | 408 | PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) == \ |
397 | (1 << PARSING_FLAGS_OVER_ETHERNET_PROTOCOL_SHIFT)) | 409 | (1 << PARSING_FLAGS_OVER_ETHERNET_PROTOCOL_SHIFT)) |
398 | 410 | ||
399 | #define ETH_RX_ERROR_FALGS (ETH_FAST_PATH_RX_CQE_PHY_DECODE_ERR_FLG | \ | ||
400 | ETH_FAST_PATH_RX_CQE_IP_BAD_XSUM_FLG | \ | ||
401 | ETH_FAST_PATH_RX_CQE_L4_BAD_XSUM_FLG) | ||
402 | |||
403 | 411 | ||
404 | #define FP_USB_FUNC_OFF (2 + 2*HC_USTORM_SB_NUM_INDICES) | 412 | #define FP_USB_FUNC_OFF (2 + 2*HC_USTORM_SB_NUM_INDICES) |
405 | #define FP_CSB_FUNC_OFF (2 + 2*HC_CSTORM_SB_NUM_INDICES) | 413 | #define FP_CSB_FUNC_OFF (2 + 2*HC_CSTORM_SB_NUM_INDICES) |