Lines Matching full:cqe

623  * the (IPv4 | IPv6) bits are set in cqe->status.
625 static int check_csum(struct mlx4_cqe *cqe, struct sk_buff *skb, void *va, in check_csum() argument
631 /* CQE csum doesn't cover padding octets in short ethernet in check_csum()
643 hw_checksum = csum_unfold((__force __sum16)cqe->checksum); in check_csum()
645 if (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_CVLAN_PRESENT_MASK) && in check_csum()
652 if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV6)) in check_csum()
672 struct mlx4_cqe *cqe; in mlx4_en_process_rx_cq() local
690 * descriptor offset can be deduced from the CQE index instead of in mlx4_en_process_rx_cq()
691 * reading 'cqe->index' */ in mlx4_en_process_rx_cq()
693 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()
696 while (XNOR(cqe->owner_sr_opcode & MLX4_CQE_OWNER_MASK, in mlx4_en_process_rx_cq()
710 * make sure we read the CQE after we read the ownership bit in mlx4_en_process_rx_cq()
715 if (unlikely((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) == in mlx4_en_process_rx_cq()
717 en_err(priv, "CQE completed in error - vendor syndrom:%d syndrom:%d\n", in mlx4_en_process_rx_cq()
718 ((struct mlx4_err_cqe *)cqe)->vendor_err_syndrome, in mlx4_en_process_rx_cq()
719 ((struct mlx4_err_cqe *)cqe)->syndrome); in mlx4_en_process_rx_cq()
722 if (unlikely(cqe->badfcs_enc & MLX4_CQE_BAD_FCS)) { in mlx4_en_process_rx_cq()
764 length = be32_to_cpu(cqe->byte_cnt); in mlx4_en_process_rx_cq()
828 u64 timestamp = mlx4_en_get_cqe_ts(cqe); in mlx4_en_process_rx_cq()
838 * actually check cqe IPOK status bit and report in mlx4_en_process_rx_cq()
841 if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_TCP | in mlx4_en_process_rx_cq()
843 (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) && in mlx4_en_process_rx_cq()
844 cqe->checksum == cpu_to_be16(0xffff)) { in mlx4_en_process_rx_cq()
848 (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_L2_TUNNEL)); in mlx4_en_process_rx_cq()
856 (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IP_ANY)))) in mlx4_en_process_rx_cq()
858 if (check_csum(cqe, skb, va, dev->features)) in mlx4_en_process_rx_cq()
873 be32_to_cpu(cqe->immed_rss_invalid), in mlx4_en_process_rx_cq()
876 if ((cqe->vlan_my_qpn & in mlx4_en_process_rx_cq()
880 be16_to_cpu(cqe->sl_vid)); in mlx4_en_process_rx_cq()
881 else if ((cqe->vlan_my_qpn & in mlx4_en_process_rx_cq()
885 be16_to_cpu(cqe->sl_vid)); in mlx4_en_process_rx_cq()
900 cqe = mlx4_en_get_cqe(cq->buf, index, priv->cqe_size) + factor; in mlx4_en_process_rx_cq()