Author: hselasky Date: Tue Jul 17 09:32:09 2018 New Revision: 336385 URL: https://svnweb.freebsd.org/changeset/base/336385
Log: Set IPv4 TOS and IPv6 traffic class field for RoCEv2 traffic in ibcore. The current implementation assumes a static mapping between the TOS bits and the priority code point, PCP bits. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/ofed/drivers/infiniband/core/ib_cma.c Modified: head/sys/ofed/drivers/infiniband/core/ib_cma.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/ib_cma.c Tue Jul 17 09:30:32 2018 (r336384) +++ head/sys/ofed/drivers/infiniband/core/ib_cma.c Tue Jul 17 09:32:09 2018 (r336385) @@ -2451,15 +2451,9 @@ static int cma_resolve_iw_route(struct rdma_id_private static int iboe_tos_to_sl(struct net_device *ndev, int tos) { - /* get service level, SL, from type of service, TOS */ - int sl = tos; + /* get service level, SL, from IPv4 type of service, TOS */ + int sl = (tos >> 5) & 0x7; - /* range check input argument and map 1:1 */ - if (sl > 255) - sl = 255; - else if (sl < 0) - sl = 0; - /* final mappings are done by the vendor specific drivers */ return sl; } @@ -2543,6 +2537,7 @@ static int cma_resolve_iboe_route(struct rdma_id_priva route->path_rec->pkey = cpu_to_be16(0xffff); route->path_rec->mtu_selector = IB_SA_EQ; route->path_rec->sl = iboe_tos_to_sl(ndev, id_priv->tos); + route->path_rec->traffic_class = id_priv->tos; route->path_rec->mtu = iboe_get_mtu(ndev->if_mtu); route->path_rec->rate_selector = IB_SA_EQ; route->path_rec->rate = iboe_get_rate(ndev); _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"