Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2018 08:27:50 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r337090 - stable/11/sys/ofed/drivers/infiniband/core
Message-ID:  <201808020827.w728RoGN045114@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Thu Aug  2 08:27:49 2018
New Revision: 337090
URL: https://svnweb.freebsd.org/changeset/base/337090

Log:
  MFC r336385:
  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.
  
  Sponsored by:		Mellanox Technologies

Modified:
  stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c
==============================================================================
--- stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c	Thu Aug  2 08:26:56 2018	(r337089)
+++ stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c	Thu Aug  2 08:27:49 2018	(r337090)
@@ -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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808020827.w728RoGN045114>