iw_cxgb4: use tos when finding ipv6 routes
authorSteve Wise <swise@opengridcomputing.com>
Fri, 1 Feb 2019 20:44:53 +0000 (12:44 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Jan 2020 09:24:15 +0000 (10:24 +0100)
[ Upstream commit c8a7eb554a83214c3d8ee5cb322da8c72810d2dc ]

When IPv6 support was added, the correct tos was not passed to
cxgb_find_route6(). This potentially results in the wrong route entry.

Fixes: 830662f6f032 ("RDMA/cxgb4: Add support for active and passive open connection with IPv6 address")
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/cxgb4/cm.c

index a29fe11d688a57628478a2177522f651d8a7ccbd..a04a53acb24ffe5b07afc5ed3a225bba3fe88225 100644 (file)
@@ -2135,7 +2135,8 @@ static int c4iw_reconnect(struct c4iw_ep *ep)
                                           laddr6->sin6_addr.s6_addr,
                                           raddr6->sin6_addr.s6_addr,
                                           laddr6->sin6_port,
-                                          raddr6->sin6_port, 0,
+                                          raddr6->sin6_port,
+                                          ep->com.cm_id->tos,
                                           raddr6->sin6_scope_id);
                iptype = 6;
                ra = (__u8 *)&raddr6->sin6_addr;
@@ -3278,7 +3279,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
                                           laddr6->sin6_addr.s6_addr,
                                           raddr6->sin6_addr.s6_addr,
                                           laddr6->sin6_port,
-                                          raddr6->sin6_port, 0,
+                                          raddr6->sin6_port, cm_id->tos,
                                           raddr6->sin6_scope_id);
        }
        if (!ep->dst) {