From patchwork Tue May 8 18:02:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ophir Munk X-Patchwork-Id: 39486 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D042CD59A; Tue, 8 May 2018 20:02:54 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0063.outbound.protection.outlook.com [104.47.0.63]) by dpdk.org (Postfix) with ESMTP id 7A96DD4AA for ; Tue, 8 May 2018 20:02:53 +0200 (CEST) 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=50av0H4wx1wuu9O3nF3eWUolpiLktgyAr771jb9ed/U=; b=otZ4rUJSf5KaTz8fRhTeLVE+1B1Ftwg7MUsEQiOEpyiUZaFTm4dPnmsNgvnb7YjZrGzMp9YsePQQjs2F3lLfQnFOjz3lsgQXpq6DA9H0JoRNXE/+A7/7/kQnld+QC8USjQzy0ZgLj+rp+NC0SV2IHo1kmy5qfAPflejpYVqXEbw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ophirmu@mellanox.com; Received: from mellanox.com (37.142.13.130) by VI1PR0501MB2320.eurprd05.prod.outlook.com (2603:10a6:800:2c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.735.18; Tue, 8 May 2018 18:02:50 +0000 From: Ophir Munk To: dev@dpdk.org, Gaetan Rivet Cc: Thomas Monjalon , Olga Shern , Ophir Munk , Shahaf Shuler Date: Tue, 8 May 2018 18:02:41 +0000 Message-Id: <1525802561-9011-1-git-send-email-ophirmu@mellanox.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: VI1PR04CA0088.eurprd04.prod.outlook.com (2603:10a6:803:64::23) To VI1PR0501MB2320.eurprd05.prod.outlook.com (2603:10a6:800:2c::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0501MB2320; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2320; 3:SvBC42/DOcpMox7Vf3aohnyxmRMwJTE8zwmEAcaxP/LjrSOr/on6d06tRwR6yFASTeyOA+DU6naiRYcAO4JNM8qY6sm1/Bqtf12T73JDUI8C5iioAoZM9+hOtIXQOT3sY6/ax9dMKNiZ1+i6XFcmvje3p6gdowUiFMlATkNF8SFVrvtntVv+EKVGv7LglD0bQ7/6/LAKTgTWpeVUT9YR200zy+FfQJD2aoKSQ6KHCwMsKq7UMwUW8ub3wQYfFXVH; 25:hbN/cGmb7abgMLIkvejSZv1GOmrzS8hhhVCDfEtcEF/JhKI21Vfy9CNSnxZHUhI5K50433BJY41B0Y2TN9vzPj9Nzi5Ha2uiGvuGRcQhOZEkveEdXR8r26MVUf1ElnHuljEujjgzJIGPDDULnt+E4syFHq3DClMEn3xU8mMJC/d6MGgM6RUtAK3wpWZSaiEhgjgKrhcAnveC2/3nLqG4tsYWwb5qKEvQcEDxFR1lHcwDWlYQhJ0E9pUjF53yi6c8XH6kIft5zRMpK3RedU3fG/y+K3TJpJE1znAm1tPqDrbqE9li8VR3isN1i1H1L3qXqKLrFh2fhnYUQkGy51Apzw==; 31:pDeeco+bm4yHrlVEkuke1URF88fFfKrscoTokPXfZAhBzINNbswC1E/5TPYkQGp3WgG4Uu4mXcuaVhznGwTbLerDONWG2PFksqTVQy9MC5Dsjp8+jZE8tI+5ceATNRswDDHwa749rnFYfk/f8ZPKSuf5H1jXIo1eSRn4Px/Ncgfv0JvT2wbxT9pWduNl5GOoQYJY1yIFYXGtm4+NNoPhp/8dxwpsTiGfZHD6eEWMOT8= X-MS-TrafficTypeDiagnostic: VI1PR0501MB2320: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2320; 20:qZAbbdprl5AL94qDRwhCTg5WvL6TGKBAZN3b/kubuBGo/TYBU5mmRegXSOR+ex7o2fbZ3e7Lfy5l5YX39RUCFhz2xU+966rGr+Ylbef0ZAHNIYtd30Nsxvyb8hXdTnzf6IIDIvyIwrdm+dcdUwjESu9hqTE915IExMfO/AVSoEy+wr4cjvPM/Mlqs1ZlLBl04uMSUhoBaVkJ8/aX2j8MmiPCFmtD9mcF134s6mmY3rA9xjQsMKRbIt0+mwq7vhrsbjHsUX2GM0Hm4FogQxN5AtWew6HCYrnNQ9XOFNX35cQdrcbnxa5dy71twOTWsZ0E7O/HnQIbO8ffAVNGAhT3dyn4HNBe4k9l77j/AwhtgUyGKfmuhH4HAHOSXc82IGW6rReN8cxGIGtZP9dWbQb8BxeXwZ/MFPgMy3bdvlVgTt44/fd7ihmDu9dL0ghjz8SxO62KMQWs0ff715R3oQkFHJpqgga27Z7c9fw3P17uQvFYBLvqQSWJd4WQ340q3Xiv; 4:JMgDs2Zsj17Xa6KWgLkAJezGWz9WTq5zUjv1CZbm4n/iAa5wkuBM/+ZQz70Y5+ZGnBvW6tzC1V23Y9iigGxFPZRQySBxqjISRJXqnjc0ttVvIMPkYgmrnBVymkpDtGu9B4fIN23Zun9Po4GE+wpe1FaSWCOkxLtaevQfiFQugsWscwlvChqY4+747Mxe6l3y1FMoTJ4dWEzeQLMsXzJcUcQMmp/HDxpP8nbKXVmsbOT7NeTpvZ44zp3AE8EMxbYwH1+1eOhJVeu5V8vQ2kLcdA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231254)(944501410)(52105095)(3002001)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:VI1PR0501MB2320; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0501MB2320; X-Forefront-PRVS: 0666E15D35 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(376002)(39380400002)(39860400002)(346002)(396003)(199004)(189003)(486006)(386003)(50466002)(36756003)(86362001)(107886003)(2616005)(48376002)(7696005)(47776003)(4326008)(52116002)(51416003)(186003)(55016002)(16526019)(53936002)(25786009)(26005)(66066001)(476003)(956004)(69596002)(68736007)(5660300001)(105586002)(8676002)(81156014)(106356001)(81166006)(305945005)(54906003)(16586007)(97736004)(6666003)(7736002)(4720700003)(6916009)(478600001)(2906002)(3846002)(50226002)(8936002)(33026002)(21086003)(316002)(6116002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2320; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0501MB2320; 23:p9Bbn3/9Bac1ouNXjTFCkonRMEkSKA+1xsw6sEN?= cMbxJBQA6TIi1QbnuP1DTuniocF/D5EzMn7eiNm8W+HokNuPaUISAOcflM3iI6znbysXIXQBr5HefNFoCIq1O/3QW7go2JVvFuucWJC8rLVQ4H8drmLhIsPPepmxc9a/ZIN6iDrOYwj1g/6kxCDpJii8xGH4lpZ0FVJnWyvxXCbgB5fegctUK7TJQsveOVwCcUWzOmcnfsUM67C+gQ/DhcsLojbOxL+UPi37uLssnc0pypVEieVP+xyqZFCf2x5vt7mSIPvxr5SneWG2pvEa9lJij7fooUTec9KPgTJmk0T1Xm/wX5raSRaN+BYhKYAGnbpB67h/9rA71oHUlCY3bj2dDNN9Rbc1dBjg9373Mw5LlHVUDWEAyattmh8T8GGJXi37ZaHf9oDWaqh4mot1eA7/z0aRCf/u5AX97wd+ziPLzMtFy/+WvLyTkWdjidXc+Df2s2R7L3rWKu3volJ4sNAX4weqfbW5LF9Jj4M2ujX83gNcdylQOCGh/p224cyp7LTvySHhIPGCjLMEM8E9+9Iv9icPxj3EhXw9OphpzS7PAkGSMq5BwNtmjvVkmxXtWW8HXMcAxo7WvBk/uOCXQqgXUWtdLG4BoiFAIxkVLekeVGGbr8wrCbaSYV+Kq4yozvMZrAcHr5Q1QfNnWBj2w3ChWaAFO5t4hcYC3jR35XnzimSSVBxfwrchYxGUz0/36484FfNk7VXWgAwORGDJeX4E1LFjrbgx1kdpBRbkgIjwj7nVZsA8fJW8UrnR6eJT0vlFeMXWB7RY4zUgyXU977sDRhE7HmfiZ0thhWvsGDojaTRSZN76UbrwGnzOX711UsoTMNiqRGBv3QPaC4hRM+mLPMnJ+H/aB84EXDXfyQ7UXy5mDuGHi4DWLTDFeDDvj3Vv0nTrBatDqRMw69sujkzBCeENXKUxOigFJ+At2/aioHZzJHUTd46x/3htJGsOcBpyubBmSCYlICFhGk756HIR2FdJgbz9/kzFDjvgc/y4axmppkDuII5uO5a79r7AyZPS1BtyRbUWBg1fCgjPiorhv6hDOUjB/xwzUFySdoIJ2SnBMuxEH1plBn9TEk+ggkUPuro55mpQU9ZpHQ8BfDtsqbYJPVdeC2i2RgGbPgsEP0e6q0FQt3H81NB6UTf3ViSoMEzDfT5ZjTDQLRfa82SJQLfsPVBmu5QtO33d6zswFS1eRdv7JbsoOPl4XRzElAI8= X-Microsoft-Antispam-Message-Info: Zq53cIY0ktFZqDKEFZo0hKGRRUYTjk80UDPkWtHsRPPegIb6Fv3nnfWUmusYBo8dpxDB9HTatucwp1LLwvN+P6yjAcILMhV4wQ09R2tg4GAnI1IdwLvkrMhayoki5DLc6UOEwd8PEWdrUDhkUiug1rhSFq6cc8JQqHmAPrzy9NiC1O+6/fGAUSv1ehvleOaq X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2320; 6:mLVe3xnNlATFsnnnuqLpCivp3JhndGZvtNJ1SMPTasnxdPf/pfjR8aZiezdfHanFIMY0C4AN2wTfPh0dYg50X127ze2yQX0sC92lNyvvabL6zBP9ePUGf1YL8sN+2eYPU/E4L873VX6sxkqimmEoPSTiX8z97tx/GIoTw6tQjoiquSiiWfY25G8OGFrRzX2NO3AY9jtDiisUcqh2H9z7WFADYuipEnmrE3VIjfI4fqBg7RTGLpEckbP3ku3AabxF4EpZl0i4opTkH/QONXQzB0vCYJJbnaqc6S7+FcAYqy9P6Vopl/ZKWRdZ2FOcGvvkTzLNlwgm0dMZHDfvWNW6UnIM/ZTXFeuGZwltNhPRbwdp3x0AKUEUTOgtDjx+zXJjAajgsuZ9JQXuOcfnpytox93GM2cfWN9MGzv03dFXJDQHV8jsw2HVaXJoBEdB/UPdJMw6TphtOoCC2CHTiAA5WQ==; 5:5qeghcYv2oemR4yy5vjNKyGtnPjzzmMjuC6cCVlbYUbqJ+haavfqhXf0cFroBQqSu9OVxWjciJTb8tvjvVMuwTF2bCFIV5QbP7P95OdUGp6SQE0ouxhwKd3g8/Z+POZWMuYUHfSZdGZ4kqwtFdUw6F4LoQFL3dTVKMZGesGWtmQ=; 24:Ub0yxzwmaHmQAHcFOxl29f2ZSaZV0tnCqLz3puB9tNWNTLeUW2GyEPG9FFPRsiz5PyTabN6pScUyto+CgV2mJ6njnwgIcuJBf2U4VJ8yvi0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2320; 7:ReONeff6oCZZsR5zR5KSj7zO14P7KLIzTh0f6tnFWOSbOI7lLni2hVbMbM1M+bPA+c9JKxXYs6Q1I/lFBm7mjKPI+2S9eq35ky9I6Ho3A4C0COXjVz50ptjobLs19Aj5LvvvU8kAIZewjIkDYXeT0cpZvuLwNEz1aFyKV9TEoddDSND63CIxvSEsIub/ILDbFH+EztlwuQ/NKQZNaTiHbT5ncdXkGQx8YN4WmRgXz2xr6jF3mmnFq9Eiy/PKLa89 X-MS-Office365-Filtering-Correlation-Id: f2a444aa-f2f7-4611-a0f1-08d5b50dea9e X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 May 2018 18:02:50.9353 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f2a444aa-f2f7-4611-a0f1-08d5b50dea9e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2320 Subject: [dpdk-dev] [PATCH v1] net/failsafe: report on supported RSS functions 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Report on failsafe supported RSS functions as part of dev_infos_get callback. Set failsafe default RSS hash functions to be: ETH_RSS_IP, ETH_RSS_UDP and ETH_RSS_TCP. The net result of failsafe RSS hash functions is the logical AND of the RSS hash functions among all failsafe sub_devices and failsafe own defaults. Previous to this commit RSS support was reported as none. Since the introduction of [1] it is required that all RSS configurations will be verified. [1] commit 8863a1fbfc66 ("ethdev: add supported hash function check") Signed-off-by: Ophir Munk Acked-by: Gaetan Rivet --- drivers/net/failsafe/failsafe_ops.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c index 6d44884..d18b793 100644 --- a/drivers/net/failsafe/failsafe_ops.c +++ b/drivers/net/failsafe/failsafe_ops.c @@ -83,7 +83,10 @@ static struct rte_eth_dev_info default_infos = { DEV_TX_OFFLOAD_UDP_CKSUM | DEV_TX_OFFLOAD_TCP_CKSUM | DEV_TX_OFFLOAD_TCP_TSO, - .flow_type_rss_offloads = 0x0, + .flow_type_rss_offloads = + ETH_RSS_IP | + ETH_RSS_UDP | + ETH_RSS_TCP, }; static int @@ -805,26 +808,29 @@ fs_dev_infos_get(struct rte_eth_dev *dev, } else { uint64_t rx_offload_capa; uint64_t rxq_offload_capa; + uint64_t rss_offloads_hf; rx_offload_capa = default_infos.rx_offload_capa; rxq_offload_capa = default_infos.rx_queue_offload_capa; + rss_offloads_hf = default_infos.flow_type_rss_offloads; FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) { rte_eth_dev_info_get(PORT_ID(sdev), &PRIV(dev)->infos); rx_offload_capa &= PRIV(dev)->infos.rx_offload_capa; rxq_offload_capa &= PRIV(dev)->infos.rx_queue_offload_capa; + rss_offloads_hf &= + PRIV(dev)->infos.flow_type_rss_offloads; } sdev = TX_SUBDEV(dev); rte_eth_dev_info_get(PORT_ID(sdev), &PRIV(dev)->infos); PRIV(dev)->infos.rx_offload_capa = rx_offload_capa; PRIV(dev)->infos.rx_queue_offload_capa = rxq_offload_capa; + PRIV(dev)->infos.flow_type_rss_offloads = rss_offloads_hf; PRIV(dev)->infos.tx_offload_capa &= default_infos.tx_offload_capa; PRIV(dev)->infos.tx_queue_offload_capa &= default_infos.tx_queue_offload_capa; - PRIV(dev)->infos.flow_type_rss_offloads &= - default_infos.flow_type_rss_offloads; } rte_memcpy(infos, &PRIV(dev)->infos, sizeof(*infos)); }