IB/rxe: vary the source udp port for receive scaling
Select the source udp port number for a QP based on the source QPN. This provides a better spread of traffic across NIC RX queues for RC/UC QPs. Signed-off-by: Vijay Immanuel <vijayi@attalasystems.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
5b394b2ddf
commit
d3c04a3a68
@@ -396,8 +396,8 @@ static int prepare4(struct rxe_dev *rxe, struct rxe_pkt_info *pkt,
|
||||
if (!memcmp(saddr, daddr, sizeof(*daddr)))
|
||||
pkt->mask |= RXE_LOOPBACK_MASK;
|
||||
|
||||
prepare_udp_hdr(skb, htons(RXE_ROCE_V2_SPORT),
|
||||
htons(ROCE_V2_UDP_DPORT));
|
||||
prepare_udp_hdr(skb, cpu_to_be16(qp->src_port),
|
||||
cpu_to_be16(ROCE_V2_UDP_DPORT));
|
||||
|
||||
prepare_ipv4_hdr(dst, skb, saddr->s_addr, daddr->s_addr, IPPROTO_UDP,
|
||||
av->grh.traffic_class, av->grh.hop_limit, df, xnet);
|
||||
@@ -423,8 +423,8 @@ static int prepare6(struct rxe_dev *rxe, struct rxe_pkt_info *pkt,
|
||||
if (!memcmp(saddr, daddr, sizeof(*daddr)))
|
||||
pkt->mask |= RXE_LOOPBACK_MASK;
|
||||
|
||||
prepare_udp_hdr(skb, htons(RXE_ROCE_V2_SPORT),
|
||||
htons(ROCE_V2_UDP_DPORT));
|
||||
prepare_udp_hdr(skb, cpu_to_be16(qp->src_port),
|
||||
cpu_to_be16(ROCE_V2_UDP_DPORT));
|
||||
|
||||
prepare_ipv6_hdr(dst, skb, saddr, daddr, IPPROTO_UDP,
|
||||
av->grh.traffic_class,
|
||||
|
Reference in New Issue
Block a user