Lines Matching refs:ud_header
86 struct ib_ud_header ud_header; member
2909 ib_ud_header_init(send_size, 1, 0, 0, 0, 0, 0, 0, &sqp->ud_header); in build_sriov_qp0_header()
2912 sqp->ud_header.lrh.service_level = in build_sriov_qp0_header()
2914 sqp->ud_header.lrh.destination_lid = in build_sriov_qp0_header()
2916 sqp->ud_header.lrh.source_lid = in build_sriov_qp0_header()
2924 mlx->rlid = sqp->ud_header.lrh.destination_lid; in build_sriov_qp0_header()
2926 sqp->ud_header.lrh.virtual_lane = 0; in build_sriov_qp0_header()
2927 sqp->ud_header.bth.solicited_event = !!(wr->wr.send_flags & IB_SEND_SOLICITED); in build_sriov_qp0_header()
2929 sqp->ud_header.bth.pkey = cpu_to_be16(pkey); in build_sriov_qp0_header()
2931 sqp->ud_header.bth.destination_qpn = cpu_to_be32(wr->remote_qpn); in build_sriov_qp0_header()
2933 sqp->ud_header.bth.destination_qpn = in build_sriov_qp0_header()
2936 sqp->ud_header.bth.psn = cpu_to_be32((sqp->send_psn++) & ((1 << 24) - 1)); in build_sriov_qp0_header()
2944 sqp->ud_header.deth.qkey = cpu_to_be32(qkey); in build_sriov_qp0_header()
2945 sqp->ud_header.deth.source_qpn = cpu_to_be32(sqp->qp.mqp.qpn); in build_sriov_qp0_header()
2947 sqp->ud_header.bth.opcode = IB_OPCODE_UD_SEND_ONLY; in build_sriov_qp0_header()
2948 sqp->ud_header.immediate_present = 0; in build_sriov_qp0_header()
2950 header_size = ib_ud_header_pack(&sqp->ud_header, sqp->header_buf); in build_sriov_qp0_header()
3092 ip_version, is_udp, 0, &sqp->ud_header); in build_mlx_header()
3097 sqp->ud_header.lrh.service_level = in build_mlx_header()
3099 sqp->ud_header.lrh.destination_lid = ah->av.ib.dlid; in build_mlx_header()
3100 sqp->ud_header.lrh.source_lid = cpu_to_be16(ah->av.ib.g_slid & 0x7f); in build_mlx_header()
3104 sqp->ud_header.grh.traffic_class = in build_mlx_header()
3106 sqp->ud_header.grh.flow_label = in build_mlx_header()
3108 sqp->ud_header.grh.hop_limit = ah->av.ib.hop_limit; in build_mlx_header()
3110 memcpy(sqp->ud_header.grh.source_gid.raw, sgid.raw, 16); in build_mlx_header()
3117 sqp->ud_header.grh.source_gid.global.subnet_prefix = in build_mlx_header()
3121 sqp->ud_header.grh.source_gid.global.interface_id = in build_mlx_header()
3125 sqp->ud_header.grh.source_gid = in build_mlx_header()
3129 memcpy(sqp->ud_header.grh.destination_gid.raw, in build_mlx_header()
3134 sqp->ud_header.ip4.tos = in build_mlx_header()
3136 sqp->ud_header.ip4.id = 0; in build_mlx_header()
3137 sqp->ud_header.ip4.frag_off = htons(IP_DF); in build_mlx_header()
3138 sqp->ud_header.ip4.ttl = ah->av.eth.hop_limit; in build_mlx_header()
3140 memcpy(&sqp->ud_header.ip4.saddr, in build_mlx_header()
3142 memcpy(&sqp->ud_header.ip4.daddr, ah->av.ib.dgid + 12, 4); in build_mlx_header()
3143 sqp->ud_header.ip4.check = ib_ud_ip4_csum(&sqp->ud_header); in build_mlx_header()
3147 sqp->ud_header.udp.dport = htons(ROCE_V2_UDP_DPORT); in build_mlx_header()
3148 sqp->ud_header.udp.sport = htons(MLX4_ROCEV2_QP1_SPORT); in build_mlx_header()
3149 sqp->ud_header.udp.csum = 0; in build_mlx_header()
3156 (sqp->ud_header.lrh.destination_lid == in build_mlx_header()
3158 (sqp->ud_header.lrh.service_level << 8)); in build_mlx_header()
3161 mlx->rlid = sqp->ud_header.lrh.destination_lid; in build_mlx_header()
3166 sqp->ud_header.bth.opcode = IB_OPCODE_UD_SEND_ONLY; in build_mlx_header()
3167 sqp->ud_header.immediate_present = 0; in build_mlx_header()
3170 sqp->ud_header.bth.opcode = IB_OPCODE_UD_SEND_ONLY_WITH_IMMEDIATE; in build_mlx_header()
3171 sqp->ud_header.immediate_present = 1; in build_mlx_header()
3172 sqp->ud_header.immediate_data = wr->wr.ex.imm_data; in build_mlx_header()
3188 ether_addr_copy(sqp->ud_header.eth.smac_h, ah->av.eth.s_mac); in build_mlx_header()
3189 memcpy(sqp->ud_header.eth.dmac_h, ah->av.eth.mac, 6); in build_mlx_header()
3195 if (!memcmp(sqp->ud_header.eth.smac_h, sqp->ud_header.eth.dmac_h, 6)) in build_mlx_header()
3198 sqp->ud_header.eth.type = cpu_to_be16(ether_type); in build_mlx_header()
3200 sqp->ud_header.vlan.type = cpu_to_be16(ether_type); in build_mlx_header()
3201 sqp->ud_header.vlan.tag = cpu_to_be16(vlan | pcp); in build_mlx_header()
3204 sqp->ud_header.lrh.virtual_lane = !sqp->qp.ibqp.qp_num ? 15 : in build_mlx_header()
3206 sqp->ud_header.lrh.service_level, in build_mlx_header()
3208 if (sqp->qp.ibqp.qp_num && sqp->ud_header.lrh.virtual_lane == 15) in build_mlx_header()
3210 if (sqp->ud_header.lrh.destination_lid == IB_LID_PERMISSIVE) in build_mlx_header()
3211 sqp->ud_header.lrh.source_lid = IB_LID_PERMISSIVE; in build_mlx_header()
3213 sqp->ud_header.bth.solicited_event = !!(wr->wr.send_flags & IB_SEND_SOLICITED); in build_mlx_header()
3218 sqp->ud_header.bth.pkey = cpu_to_be16(pkey); in build_mlx_header()
3219 sqp->ud_header.bth.destination_qpn = cpu_to_be32(wr->remote_qpn); in build_mlx_header()
3220 sqp->ud_header.bth.psn = cpu_to_be32((sqp->send_psn++) & ((1 << 24) - 1)); in build_mlx_header()
3221 sqp->ud_header.deth.qkey = cpu_to_be32(wr->remote_qkey & 0x80000000 ? in build_mlx_header()
3223 sqp->ud_header.deth.source_qpn = cpu_to_be32(sqp->qp.ibqp.qp_num); in build_mlx_header()
3225 header_size = ib_ud_header_pack(&sqp->ud_header, sqp->header_buf); in build_mlx_header()