From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0068.outbound.protection.outlook.com [104.47.0.68]) by dpdk.org (Postfix) with ESMTP id A950D1B2FF for ; Wed, 8 Nov 2017 13:03:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=F8Ws+KtL5uXDgR+wOCowznETYueOifTd0l+hGopE9vQ=; b=xxby/BUKW3IsVGOzRnSv+Sxy1hRm2uOscdwS1T1r44Kt70v2bEea41zWWwX2Ouyb0iRb0tj/ukts8V1RaqHWc0VPljQF9dQS0ciNVfU1FJCNCP3Kiu/g8K1BO74SPRN3av2lagKN7fIV8ERE9p4KMaW90fU0XIel73X8mxqxKjw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=motih@mellanox.com; Received: from mellanox.com (37.142.13.130) by HE1PR05MB1916.eurprd05.prod.outlook.com (2a01:111:e400:7b74::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.13; Wed, 8 Nov 2017 12:03:14 +0000 From: Moti Haimovsky To: adrien.mazarguil@6wind.com Cc: dev@dpdk.org, Moti Haimovsky Date: Wed, 8 Nov 2017 14:02:45 +0200 Message-Id: <1510142565-142115-1-git-send-email-motih@mellanox.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To HE1PR05MB1916.eurprd05.prod.outlook.com (2a01:111:e400:7b74::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 61d9eb82-0557-4045-4d1a-08d526a0b167 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603199); SRVR:HE1PR05MB1916; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1916; 3:pMK53Qo8yQOXqzFQ4opQFCS10GovjK84YnCAIXsZVRPLplo/V5CzC4jJQAeDnn//SBZXhftXybOtqlNBBaIuncC+s0J3YdMAiEW1gRT7unGdicH4dBxXRY9KSh9QkGmSgQIc1exJe+pXmJRqb29t+FUTL/2i0u/Q293xABj9DNCblpGcbzf47Yhr3vzO4N+WzePHdRToBYzhdt61hTTkiIm15O4DSCjYaSU1OXhMH4+c4UVNWwSq89aoXA6riytF; 25:w4+mi4iS0tqjnvOM6LJySaVmMuxqdPo6VWEclrv0ClDTpoNG25r/NMKy/FrNHqCAHIxiEP3cBPhUrECIQkAQIN76gR0Ib6hm8/Ycsiq7gm0a3dyHhgapRRJmW6L8jMZ8BsVj1bVSsRON0Cx18o50/VNpb2BoCMqG7aPvZgPPp9vKWeYgcale65ghr9CGEEUhwPvd3qqqSFuUz6jJefihWsYyOLwXggzxftfCNwukqkuX6LiR8CWVQ3qjL56g7I3kzXG64MJickIQSFRip2eI+3hJYKymdGzzmas0xWF/sw4SpwV1Zp/Bh/uBcpCe69oloHdT3PhBCRy9OCKRxKPOWQ==; 31:EntfWbi0qYFNAPWUesGkalpme9Vrqglc6LoPMhrXW4x6D6TjlHk8ePGjWlolYrk4OGczyFKvT7Z/lTkJQ8eBa7/ZOGJwmN1E2d0CkH5vm57WxwUJDImGkONoJFUNA9hSYHlwsAtZyBwyGUNYUIkcD5bRGSpY0WnLxjjdeoa6+Vd5nhWvLtnfT+fCRsB3IICHklWvOzKUnPMVZRY9WRQVejz7xJG5XDmRP0oh2hgBAuE= X-MS-TrafficTypeDiagnostic: HE1PR05MB1916: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1916; 20:aipfm5nUO8RkGA9sIRL2KSSxzo5B/0N64FfIg3hLR6Q+F6fHw6fRi1O/MytZbuK6yH6YrrBsCbaLKQ0IdykZJBZXOeUWAnJgZ49UEdyYreV1J9DBTr6ZxQsJaKwk5rHo2OZgxsdcIpgnI1Y6dTwjH3xJBrdO72RHzGbf1FaRC/CWX4H+MEx2XecKipdnlAOM7Q8Mhc1J5QLYdG/nloY8IUxHVM0ZMsU68lkC+dnnZcFgC/1ka1umeg88f452X+wpuKH4jnBZIEOoWiCPLn7xgFnQNLjw3oYyOuWx22il7P1J8LdLmkq3Hb6OwNQgGdVhs8M2r43bYYDM/kDSdv06rShbPLGz6h9GJNO1BFOfvvC2t9qTWwXTmacInIrpjeOXDAlWUTRpgFQpzJr29oGfNPSS32jXuQZwAA8Pojx8+aBjFvIAryNfO4HbhR2dbkgYHKOGkG3HYYCJ29C8IE+NgXqRNfso8UHDBPFQcorEGvUWA4ddtNCM7YFZaqewEjEx; 4:+E08rfDakkyqso+gXei0KXg0F6p0Ck5Ioo1UcZgX4+b4s6iEK+l6WRwBQb54FizGzt2iR50BBrw5wYets0TFI4YB/6TbjB26kYeU7hV5y4VnSNoCrh0zQZ5FmeqIekqqQm7tY1STr0YkVsPPNM9BhwDKoHAsDDidDcoorvq9X7L361zfhC6h0ZJy460CZsYdsMAcLioc7zjRgRcHfuCmj6PE8bhYGwmmbjtLORveLfEApfrML4twx7gJiabXzhr5ix3WwAL/EshpKYOD4R7yIQ== X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3231021)(3002001)(6055026)(6041248)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HE1PR05MB1916; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HE1PR05MB1916; X-Forefront-PRVS: 0485417665 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(376002)(346002)(199003)(189002)(66066001)(8676002)(101416001)(69596002)(47776003)(189998001)(4720700003)(478600001)(316002)(55016002)(81156014)(81166006)(8936002)(33026002)(16586007)(53936002)(50226002)(106356001)(33646002)(7736002)(68736007)(2361001)(105586002)(97736004)(5660300001)(2351001)(305945005)(2906002)(36756003)(16526018)(48376002)(21086003)(50466002)(25786009)(3846002)(86362001)(6916009)(5003940100001)(4326008)(6666003)(107886003)(50986999)(6116002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB1916; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR05MB1916; 23:ItLRGHW3TkPu4y2LQBUEU0shdvsDtmoNo0/Z5krOv?= =?us-ascii?Q?/lrx3KHW8EGgoPtn/bb4SqtE1OqySAiGdzBctP0qjWCDK6rreqLvq4KeXgVv?= =?us-ascii?Q?YOzEVL/5mQGZZlSU2KWpNw4kqsUGiGEhjPSWD1tNT+3btlKqtvAsFgC+UHGH?= =?us-ascii?Q?NRi9C27d2e9NWvmeR0EqmQHyZNQYA8Ne+XuOuK24su+gzkYv9DKhd2Fpp6PF?= =?us-ascii?Q?f7RddiUHFJv8arYryFZCxyBp6MFeF81CcoOlMi9ZbbUUiXwf4zv50zancEjF?= =?us-ascii?Q?H7i/homBw0M53TqRPCJxIzxtXlC0ba8rRPuyXWKGHNVjY3rAfvWYPwv+0213?= =?us-ascii?Q?AgLEZ4pWZ2un5UhMTuk6UYtzmuOZWlJBhqPyq95tPJGypnzFcaNNrQ5SosiU?= =?us-ascii?Q?WLqmKTzMuqsZkz6FKcfhdcvg33E0EOy1R8vXx9eCg1mstrmc+80WQPddrW/p?= =?us-ascii?Q?6IyMJOzX1xTPk+Rp992VHXQ91L0ArA5tu2y83c+2/wOLy5JhJ2tKDN+Gquj9?= =?us-ascii?Q?ukcE5/GB02bUOmo6z3rP7Nuy/4r+ddqqA51WzNTO1gQN8k2RVIi9nHX1QIpP?= =?us-ascii?Q?PTfSfhZn4Rh2QreKqErLBttkuAujelKsA2FYVSXhJDnvA//KFfU6s7PiRmfy?= =?us-ascii?Q?xaQ4C/+sfaSwr53QMJSYgg6mCOy87Kx7ReYA2DCMkOuAnHYg+c2s7a5FXqQ7?= =?us-ascii?Q?++oIWplkxopC6sYqZ01LeatoRdTSqmS5YYmOmeNjbk//QWDaSg08+SFZd5Dv?= =?us-ascii?Q?G8CPmdlFNkQvXnK6h2nQS4SihA2Ns8Y5TzGsS8w0K5pOfGM7GrhHZ4MbgdtV?= =?us-ascii?Q?MxvnBccF/EBVrLFWQNkU4f6bE63XqPVdg4q+pWK7YyghBzi0Jlb7AZp1a8/M?= =?us-ascii?Q?UMDyKg32U5N9b+iEHrLAGwyl1AyUgVmMRFqEGF+o2130VXaBioZ0/N+vv2YG?= =?us-ascii?Q?dW52G2W4ZrbbPZf2OFq/uZN1dZPwCr5DWF47BR3xOla5yAWd7SveYZ1VmdgO?= =?us-ascii?Q?uErA4HKIh2H/rV3RX1fyOcGV3nE63gd4cWD16uJ/5kzseKZYJBu6xX4B4WBp?= =?us-ascii?Q?31iP2761vvstmyV2nEsWyiOjzRT8lmZvNT1V/sOF89IHK8tCFRJbIRvo0mHE?= =?us-ascii?Q?kovucKjDYZ1Kq3q1ZhDjpMrXeGUiQK9AtwB91ZZ2PxvbLWWTzTBLg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1916; 6:o4pwVThSkwNPljE6MIRxFxZ4v8uLgB2cYGl7m43WQ+O6IgJv+Epo95atkdCsdnH8O7AihXbPRiPZGXlkwTSJejdFLBv/L6583+81rQC+bzZYh3ScWlAxPq7uhJRAIX5AdI/SwLkMllQZypCS723oIbBBDMo4L+yJG3rAkkF5UvuYUxUFYXG8Znl+J8sshq8Q4sFcHJ9s9XjbDc0DsypXQ/c5DEfWkRS1LKciFMs4TH3YEL8StwZd+zTBgZAhjpJKZAUWdEVarRfsyakdOAjCEGty3MwhmwBOkTlWxZdtMw6fC7iUV5aw2O+HfQ90Ff230Nt4DO2X+H1Qq2k+8ZikJjVCQY+/LaS2FbdCETOabIM=; 5:p1Oul9lFXF0Ahz3nGINvjBIfpO7pgLdIFVp5AwnVAYyGDywwpThcOXhUIJFRE95rKMWZNmNjGBUkk0/PT4wtk5tAf6Hb0wfRtrO4njefRftKa5dqI3Ubeh8UztuiDpf2otM80aBdsFMnYd4zTYz+gUDoYWnYeqM0DFT0LBGfIUE=; 24:QnSlWEC1OfbpvJ0fM5ucrccPqHwY8vfxu0iRdCTI92Kp8GpzNd6Kz1n9wF8Xg5VJongYj67Ws0y/uZVH4cvZVa2L7MYC/RU1YRDJKQSVQhY=; 7:X2iWFPt5F6N/LLRog8IlMtzUuUswUbbMihjxBjd714WAIiTQaxeRlV3pJQLSccgMNn1tkioSxI7IHUyZxGGnNxTr64TX0FZWcq1Qy13KAq/p8BoEA8D+JrB5/TqKVgsrqt/twzq/mj6TT/f6drjLkhWSQD0l6Fbx2dywq3fQqpHEKYF84w/dSWRr6+IR7Ip5R2JPHCpQkLTmWi7qogqrP74zj4KotPob9hCcF0iJxhYMIoSqzLuc13pWm+cwMPq3 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2017 12:03:14.4659 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 61d9eb82-0557-4045-4d1a-08d526a0b167 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB1916 Subject: [dpdk-dev] [PATCH v1] net/mlx4: improve Rx packet type offloads report X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Nov 2017 12:03:17 -0000 This patch improves Rx packet type offload report in case the device is a virtual function device. L2 tunnel indications are not reported by those devices and therefore should not be checked by the PMD. Fixes: aee4a03fee4f ("net/mlx4: enhance Rx packet type offloads") Signed-off-by: Moti Haimovsky --- drivers/net/mlx4/mlx4.c | 2 ++ drivers/net/mlx4/mlx4.h | 1 + drivers/net/mlx4/mlx4_rxq.c | 1 + drivers/net/mlx4/mlx4_rxtx.c | 9 ++++++--- drivers/net/mlx4/mlx4_rxtx.h | 1 + 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index f9e4f9d..efff65d 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -573,6 +573,8 @@ struct mlx4_conf { PCI_DEVICE_ID_MELLANOX_CONNECTX3PRO); DEBUG("L2 tunnel checksum offloads are %ssupported", (priv->hw_csum_l2tun ? "" : "not ")); + /* VFs are not configured to offload L2 tunnels */ + priv->hw_l2tun_offload = !vf; /* Configure the first MAC address by default. */ if (mlx4_get_mac(priv, &mac.addr_bytes)) { ERROR("cannot get MAC address, is mlx4_en loaded?" diff --git a/drivers/net/mlx4/mlx4.h b/drivers/net/mlx4/mlx4.h index 3aeef87..cbb8628 100644 --- a/drivers/net/mlx4/mlx4.h +++ b/drivers/net/mlx4/mlx4.h @@ -128,6 +128,7 @@ struct priv { uint32_t isolated:1; /**< Toggle isolated mode. */ uint32_t hw_csum:1; /* Checksum offload is supported. */ uint32_t hw_csum_l2tun:1; /* Checksum support for L2 tunnels. */ + uint32_t hw_l2tun_offload:1; /**< L2 tunnel offload is configured. */ struct rte_intr_handle intr_handle; /**< Port interrupt handle. */ struct mlx4_drop *drop; /**< Shared resources for drop flow rules. */ LIST_HEAD(, mlx4_rss) rss; /**< Shared targets for Rx flow rules. */ diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c index 8b97a89..802be84 100644 --- a/drivers/net/mlx4/mlx4_rxq.c +++ b/drivers/net/mlx4/mlx4_rxq.c @@ -750,6 +750,7 @@ struct mlx4_rss * dev->data->dev_conf.rxmode.hw_ip_checksum), .csum_l2tun = (priv->hw_csum_l2tun && dev->data->dev_conf.rxmode.hw_ip_checksum), + .l2tun_offload = priv->hw_l2tun_offload, .stats = { .idx = idx, }, diff --git a/drivers/net/mlx4/mlx4_rxtx.c b/drivers/net/mlx4/mlx4_rxtx.c index 3985e06..1131d56 100644 --- a/drivers/net/mlx4/mlx4_rxtx.c +++ b/drivers/net/mlx4/mlx4_rxtx.c @@ -37,6 +37,7 @@ */ #include +#include #include #include @@ -751,7 +752,8 @@ struct pv { * Packet type for struct rte_mbuf. */ static inline uint32_t -rxq_cq_to_pkt_type(volatile struct mlx4_cqe *cqe) +rxq_cq_to_pkt_type(volatile struct mlx4_cqe *cqe, + uint32_t l2tun_offload) { uint8_t idx = 0; uint32_t pinfo = rte_be_to_cpu_32(cqe->vlan_my_qpn); @@ -762,7 +764,7 @@ struct pv { * bit[7] - MLX4_CQE_L2_TUNNEL * bit[6] - MLX4_CQE_L2_TUNNEL_IPV4 */ - if (!(pinfo & MLX4_CQE_L2_VLAN_MASK) && (pinfo & MLX4_CQE_L2_TUNNEL)) + if (l2tun_offload && (pinfo & MLX4_CQE_L2_TUNNEL)) idx |= ((pinfo & MLX4_CQE_L2_TUNNEL) >> 20) | ((pinfo & MLX4_CQE_L2_TUNNEL_IPV4) >> 19); /* @@ -960,7 +962,8 @@ struct pv { } pkt = seg; /* Update packet information. */ - pkt->packet_type = rxq_cq_to_pkt_type(cqe); + pkt->packet_type = + rxq_cq_to_pkt_type(cqe, rxq->l2tun_offload); pkt->ol_flags = 0; pkt->pkt_len = len; if (rxq->csum | rxq->csum_l2tun) { diff --git a/drivers/net/mlx4/mlx4_rxtx.h b/drivers/net/mlx4/mlx4_rxtx.h index 4acad80..463df2b 100644 --- a/drivers/net/mlx4/mlx4_rxtx.h +++ b/drivers/net/mlx4/mlx4_rxtx.h @@ -80,6 +80,7 @@ struct rxq { volatile uint32_t *rq_db; /**< RQ doorbell record. */ uint32_t csum:1; /**< Enable checksum offloading. */ uint32_t csum_l2tun:1; /**< Same for L2 tunnels. */ + uint32_t l2tun_offload:1; /**< L2 tunnel offload is enabled. */ struct mlx4_cq mcq; /**< Info for directly manipulating the CQ. */ struct mlx4_rxq_stats stats; /**< Rx queue counters. */ unsigned int socket; /**< CPU socket ID for allocations. */ -- 1.8.3.1