From patchwork Thu Nov 23 12:19:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shahaf Shuler X-Patchwork-Id: 31564 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 A648D199AE; Thu, 23 Nov 2017 13:20:10 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30050.outbound.protection.outlook.com [40.107.3.50]) by dpdk.org (Postfix) with ESMTP id 3B0332BBB for ; Thu, 23 Nov 2017 13:20:02 +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=q9kKc8A5nHbzBmrABSfZiWFWTlJ9B6sqhLkyG1o/I0w=; b=EboVOG+IAzZCmH+ZMU636njwRBZpjwH6nuSNvuaMj6wheukn5hLP2IFYbB9bM2WmAlc+fcvLA+AO2lbbeNltmaB0eNWUbXYc58HWOgZzqfvBSf+8wRkPwZ5/UK2G/lenLU84BO/FUsNVkP4kIU3d7Bxi600d3IY0wy/71Wyu3sk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; Received: from mellanox.com (82.166.227.17) by DB6PR05MB3142.eurprd05.prod.outlook.com (2603:10a6:6:1a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.4; Thu, 23 Nov 2017 12:20:01 +0000 From: Shahaf Shuler To: dev@dpdk.org Date: Thu, 23 Nov 2017 14:19:19 +0200 Message-Id: <20171123121941.144335-8-shahafs@mellanox.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20171123121941.144335-1-shahafs@mellanox.com> References: <20171123121941.144335-1-shahafs@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [82.166.227.17] X-ClientProxiedBy: HE1PR0402CA0044.eurprd04.prod.outlook.com (2603:10a6:7:7c::33) To DB6PR05MB3142.eurprd05.prod.outlook.com (2603:10a6:6:1a::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1ce84e26-2207-4093-9baf-08d5326c8536 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(5600025)(4604075)(2017052603199); SRVR:DB6PR05MB3142; X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3142; 3:u3dxVIlnjL/KoWQeF4x2XHjguOix6NBl6JvaBRKKOuDqfEC5Fvp5TV//HJRtmYhw+t21pj40tOjh/5sI2kEv5G+LGYtSK1mfuwT4x6WR5NfkV6FKwiLA/DB3N/qjcBT9JJMGsWML84D/29Kf8fzl7bZVsbBiJyDTa8JMtqk4RNnc+0mr1uAep44llpqAOVE/23uNPTcOEsXktHgxWJL/TtKgWvQDNSCcHPSdg/GoETLzW6UmYMsMkhzVvuvvSVRF; 25:XKmKdb3763p97znaIUv028oYCUECoQznpKeqLW27HoVUy6kUquZC5PBqnJ7lNZKvGqOVZo0qJP4tcNGcC7gH0elbNcWCCOO6gibWySPwQyXdDBopGahSUXs9VE1MEYAYgtM4dMZADDIYxBwMZPp+oKseQaqyKCYFXgrAj72aJmmvCXH9T0Dbk1YF8K1Gqg2qaIF876bi7eBax59GOTcr+MKiLj9mMgPiGo2ssKz+vvT60WJx5HBtmNGph5+++R6rFcrtWt8e+Gk9bdzBpjFjxSg1jPJZvZXd9Ou3oaHuNPIEVPjJN9UEvLIwaPd8JW/6sJINjS6z/EZB+OSeo1FagfYrnGsKi+mnGMEHKV6QRrA=; 31:B507tI+f/6hqsOCAmGXhRr49tSJMJyzSobwDZkOSRgtxTf6LexaRoC6wnBcbXIlP4ZD2MTC6JRN1ynezr2h3jp0cuD22JxPMPKMACh/AMzC4p95o8BZZhjtMKdk5fd3qEeFC0mk3yuUo/WIfKPwoWlCEIOWM6PEkKYSEjak7Z8anKa7GVwsufm3eWKZJUkrJJpBxa/HpA31ccZ2b+ZFgcgCj0xQCdILt9r7HJYjZO7A= X-MS-TrafficTypeDiagnostic: DB6PR05MB3142: X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3142; 20:PHFgn4IRgISseoCdpXWD4MvgdgVIORFgmkRlVtLLpt9eHwSzT3urY/kwLz6zmPxLHB+wjQAmwWBwlWSluXuqSbkR2Q+ONd/Mu7Mt+5MNJJv0kImQw+ePCC7K9jvoBUQL+B0nkD189CtOjT2474yofEXolNphpsy5QPDooHjtzSH0kctoVj9mmuDMZAzO0f2nlmy2htZuLCruNP5VojUW2gISyyH4rM8OeDCS9xjpsxeaalCUjr9cQjlBC688+4ZBQvXlu0EueaRStO0zYzsNG+zfhrF768Dk5Tcr1msZmcakrCcn6gzpC3fB97OKVes4UXu+JJVkAEKONDeqLcHaexAXZczhkk3atjkgntcMdAHWtBn+6IpmNw9Vl524201kx/qnsoLWy8bWydrhd7W9SJFZQywjt5BcdOazJM2Ry5nkIQ+FlGjAvvC+hXvJk2REvx3eIBW95PiDK7b9CRFDVoLsNVCl36UUbNnmIRXVe2quL0VbDhBgly6LwKK4cLB2; 4:VN0swiXealgGhcHZTDZn8NxWziolsWh1MaiE3qfsssFmxl2KTQTE/ysR753Oksfu83RtcvHeM9+ol11jHQjZiVJKbR9XFh2YylUvDbhGJdxRQrA/6eMDBApgLh1VkeM2H+0ElB1wbVkZSX17PAt2jodD65AFXjTEKWMT0vtQDTG6kBX4nhjvqzNiizi9poq43sjx9QusfMksnY8DZIeY4hwTR09WYZ8UgscsPPbAdZSEUOd58GdCzkjDO0krSWitvYl4rYOXAq3Lv5DqESqwnQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3231022)(3002001)(6055026)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR05MB3142; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR05MB3142; X-Forefront-PRVS: 05009853EF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(366004)(346002)(376002)(39860400002)(199003)(189002)(50466002)(16586007)(101416001)(5660300001)(478600001)(6116002)(47776003)(69596002)(6666003)(3846002)(33026002)(97736004)(52116002)(8936002)(36756003)(16526018)(76176999)(55016002)(5003940100001)(50226002)(48376002)(50986999)(33646002)(6916009)(81166006)(53936002)(81156014)(8676002)(21086003)(1076002)(305945005)(68736007)(86362001)(2906002)(189998001)(105586002)(2361001)(25786009)(66066001)(7736002)(106356001)(2950100002)(316002)(2351001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR05MB3142; 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; DB6PR05MB3142; 23:k3TpmNgEGl7BEZAOISmY5cEUvlerb/R1/wqOcvJZS?= zcctlv/hNjT2AStrwyksfj5IUlCKk4KLD/m02jd6W2JiSJ10+ee0uJYNJKRkTMNWq1vXxWGWIpHThtGsFTbvnquomc0X9KchWOPWpKd/bjl832tmkwgKPcROO6lY/VRax6AQXWU/CZ4D78RFIhhBEUavJTmGCA/c9bPSdN1R8VFPXtS7+5rHTq3ob/yU5EiVZfkcVgzkHpVZqd4HCvnLHj8XwbL6gJjbTaVcgdMaqA2P7XfuUjlHJ0pgzVAqVzHN3BC6eZOnQwu6eehJPEzEvrbSuCSnLRA1Gz/to79A9Flo6LhMu9Ym3rjZ/5502VIeTKygra5rS/rJYJ5BHs84p9s7xreYW1+R0cCCfezfN7/gfre1tpSTkBGl/ONyNPYuhv32XZyhwNt4csfKkutkcts5S+z0wBzlwSoomRTY0ZTpLVZTHaAL9F8AYhKtDsErKY8U05/xiWWOspEwecE2iXvBdOIjc7u3yQJ7ywUeqp/9Z1ekgYQMIcHOAdAExiyDLm90ZTR8nAgQvuQe3IeuRinW17JifVJ8qhd+XB/u8H3JhcFSsCGdDNUoKrvQ56yKbUp/A4RssLv33J4vK1znyRK4CMAYtzvczQDkKPXGFpKHKl9vsH7DATj9KJGr+4QSRMHIusU5JoXXvmreEmaW7ALL/TK4R47Sa/AYSlULAqM2ZTXTVkLyrs0LKE/Szq8aV5L7Q/C3oHYgURC/2NogjVAuSMJFzbZ3q2vVgWZ5R2qEcBX+mteHdc9wMtFLqGxrGGusrYjH5ZUctaVxFUP1Pbhe+7TIgaxJCZmZowhTjCUzXxczvypR3i+nnKKvRf+0qWdtfnkV6aFHCq8a6ko8xlcpjDuN1ZD35D94nkJidV/BzB11Pdyq/J8EsQTPVu2xsf6wnLSW3c4BBtYEEJd/MRFX4w3dIBxwCFn0NF0lpMyIMa7ThfM5m9qrKE3m6VpzPhrAPVHfOzIwt5G2+mGHTQrG//tW2aYzFRBXQS3zCGYVM6nZ/jW28Djqnj49+ZMdYqagcCxWDvRn9we77YVn0ozurEoJTbKLOXEyBzIP7GUEkTD59BsixKxPBavi3/wK0cUUqHgWfXBIodX7WrmLOwxNNEf9krlsnUoJkwMpdZqBnph43iqIknF3f6xXS9C8KE= X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3142; 6:LWd0xolS2wtyOymEpsRmJv21zeUKzj20qUbi4d0tu5bdiodP1YGdUABxrBRa4gtDSUggXkbsk9O8JBBTcBQTpfpco4sg3/IVF8lOqYCFMlNas8RZlt+VkLu3u2cxe6091eJs7fJONqfAIqHM9yg3OkAEEi8XV892friO0u1eAhkJvs0yIRemaeVyMXhpzPuHL75/Y2BdtDeGw6v2g3wy4PhsM6uzr+t9A1wmHgKHims9o0BQw0VcQ0UHVn7+SY5HEF8UciuKZdlkjcjcdknnoyY86Qb4UsNJDJe6YZ7Zt240pEve2iHggpmmhJFmkhIaSOgYqI7ayVy1OKex54qelkUXCqOpWSRSls1qFTGzvL0=; 5:9F9cYLyGYrE6groB8pp71RhVMFrg+y2ePHw/NJqDU3xRrnnlDKM7CUAn5DSAG6AO1sKXsxefPX57tsyDquleEaRtaEy73xYgNMlm1UG6UVkVrypUyaq37CZyEZp4pxEq4Elfq4+9gTCl/SgV2ReaMUxAtPBlGTkeyxOE3oOZ86M=; 24:7UEdMXkxthZkaO9qY4gsJPnoDuDOrGWgEy6LYzna9X8DL7ngzHAlW8k40ccARVzcTrZO3nfEObr/i5YAAGyZzNKrKzXleKkNjj9XsVi8SoE=; 7:Cv9lJWzjrL2INKDJjcDiqbIy+v2QBnTD6qbLQvdwEKE66p86ye/yhRNtIXpuxYt10kqllODh/9MDowYDFZc4YW/zZD2ZBVs8nvOvt/qBZMnrDXEPXVk0WeakKoKje6yno8GGPUypTgvvhkkW82QgCDtL6OIQX79YqRnw4UXDvGN/pyDlvB0IWr13kRveQ67rmZnYyKXvrX6+0qmf8lne3TTpHbPptZBAwqcr9qIGVDYB0tT/TOU2agCDi6bhpGB4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2017 12:20:01.0910 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1ce84e26-2207-4093-9baf-08d5326c8536 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR05MB3142 Subject: [dpdk-dev] [PATCH 17/39] examples/link_status_interrupt: convert to new offloads API 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" Ethdev offloads API has changed since: commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") This commit support the new API. Signed-off-by: Shahaf Shuler --- examples/link_status_interrupt/main.c | 38 +++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c index bc47dcce3..223c41b3f 100644 --- a/examples/link_status_interrupt/main.c +++ b/examples/link_status_interrupt/main.c @@ -105,14 +105,11 @@ struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE]; struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS]; -static const struct rte_eth_conf port_conf = { +static struct rte_eth_conf port_conf = { .rxmode = { .split_hdr_size = 0, - .header_split = 0, /**< Header Split disabled */ - .hw_ip_checksum = 0, /**< IP checksum offload disabled */ - .hw_vlan_filter = 0, /**< VLAN filtering disabled */ - .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ - .hw_strip_crc = 1, /**< CRC stripped by hardware */ + .ignore_offload_bitfield = 1, + .offloads = DEV_RX_OFFLOAD_CRC_STRIP, }, .txmode = { .mq_mode = ETH_MQ_TX_NONE, @@ -633,6 +630,9 @@ main(int argc, char **argv) /* Initialise each port */ for (portid = 0; portid < nb_ports; portid++) { + struct rte_eth_rxconf rxq_conf; + struct rte_eth_txconf txq_conf; + /* skip ports that are not enabled */ if ((lsi_enabled_port_mask & (1 << portid)) == 0) { printf("Skipping disabled port %u\n", (unsigned) portid); @@ -641,6 +641,23 @@ main(int argc, char **argv) /* init port */ printf("Initializing port %u... ", (unsigned) portid); fflush(stdout); + rte_eth_dev_info_get(portid, &dev_info); + if ((dev_info.rx_offload_capa & port_conf.rxmode.offloads) != + port_conf.rxmode.offloads) { + printf("Some Rx offloads are not supported " + "by port %d: requested 0x%lx supported 0x%lx\n", + portid, port_conf.rxmode.offloads, + dev_info.rx_offload_capa); + port_conf.rxmode.offloads &= dev_info.rx_offload_capa; + } + if ((dev_info.tx_offload_capa & port_conf.txmode.offloads) != + port_conf.txmode.offloads) { + printf("Some Tx offloads are not supported " + "by port %d: requested 0x%lx supported 0x%lx\n", + portid, port_conf.txmode.offloads, + dev_info.tx_offload_capa); + port_conf.txmode.offloads &= dev_info.tx_offload_capa; + } ret = rte_eth_dev_configure(portid, 1, 1, &port_conf); if (ret < 0) rte_exit(EXIT_FAILURE, "Cannot configure device: err=%d, port=%u\n", @@ -666,9 +683,11 @@ main(int argc, char **argv) /* init one RX queue */ fflush(stdout); + rxq_conf = dev_info.default_rxconf; + rxq_conf.offloads = port_conf.rxmode.offloads; ret = rte_eth_rx_queue_setup(portid, 0, nb_rxd, rte_eth_dev_socket_id(portid), - NULL, + &rxq_conf, lsi_pktmbuf_pool); if (ret < 0) rte_exit(EXIT_FAILURE, "rte_eth_rx_queue_setup: err=%d, port=%u\n", @@ -676,9 +695,12 @@ main(int argc, char **argv) /* init one TX queue logical core on each port */ fflush(stdout); + txq_conf = dev_info.default_txconf; + txq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE; + txq_conf.offloads = port_conf.txmode.offloads; ret = rte_eth_tx_queue_setup(portid, 0, nb_txd, rte_eth_dev_socket_id(portid), - NULL); + &txq_conf); if (ret < 0) rte_exit(EXIT_FAILURE, "rte_eth_tx_queue_setup: err=%d,port=%u\n", ret, (unsigned) portid);