net/mlx4_en: RX csum, remove redundant branches and checks
Do not check IPv6 bit in cqe status if CONFIG_IPV6 is not enabled. Function check_csum() is reached only with IPv4 or IPv6 set (if enabled), if IPv6 is not set (or is not enabled) it is redundant to test the IPv4 bit. Signed-off-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8ec6957403
commit
345ef18c24
|
@ -617,6 +617,10 @@ static int get_fixed_ipv6_csum(__wsum hw_checksum, struct sk_buff *skb,
|
|||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* We reach this function only after checking that any of
|
||||
* the (IPv4 | IPv6) bits are set in cqe->status.
|
||||
*/
|
||||
static int check_csum(struct mlx4_cqe *cqe, struct sk_buff *skb, void *va,
|
||||
netdev_features_t dev_features)
|
||||
{
|
||||
|
@ -632,13 +636,11 @@ static int check_csum(struct mlx4_cqe *cqe, struct sk_buff *skb, void *va,
|
|||
hdr += sizeof(struct vlan_hdr);
|
||||
}
|
||||
|
||||
if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4))
|
||||
return get_fixed_ipv4_csum(hw_checksum, skb, hdr);
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV6))
|
||||
return get_fixed_ipv6_csum(hw_checksum, skb, hdr);
|
||||
#endif
|
||||
return 0;
|
||||
return get_fixed_ipv4_csum(hw_checksum, skb, hdr);
|
||||
}
|
||||
|
||||
int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int budget)
|
||||
|
@ -830,7 +832,11 @@ xdp_drop_no_cnt:
|
|||
} else {
|
||||
if (priv->flags & MLX4_EN_FLAG_RX_CSUM_NON_TCP_UDP &&
|
||||
(cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4 |
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
MLX4_CQE_STATUS_IPV6))) {
|
||||
#else
|
||||
0))) {
|
||||
#endif
|
||||
if (check_csum(cqe, skb, va, dev->features)) {
|
||||
goto csum_none;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue