From patchwork Thu Nov 23 12:19:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shahaf Shuler X-Patchwork-Id: 31565 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 091FA1AEEE; Thu, 23 Nov 2017 13:20:12 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30083.outbound.protection.outlook.com [40.107.3.83]) by dpdk.org (Postfix) with ESMTP id 631C72C54 for ; Thu, 23 Nov 2017 13:20:03 +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=tDaLX03pppEjwxCHpio9QiMvQvkR8tcejAWBt10uKT0=; b=GTt81Dw3AWsJMtjBTlOgTXWYg2uqQrBYc63ll4wRCY30jNleNPZ+IQNnrhPFMrWhOTIpeD1xx1F7szbMZx0rxtSCcCf5q+/+zuRZDFqvRnmZogLauVGoknrnis36ufuhWzXeBlEy7QN/W0lT1TvCdyUZKuDdL9r/IZc14qMgjIo= 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:20 +0200 Message-Id: <20171123121941.144335-9-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: dda0f28d-c933-438a-81fa-08d5326c85be 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:21og713vg+rDI79uIcEvcAHMeIuL/rMPg+SpgqFkoJAy9OjqfQUgK0mSsARFpnZi/+dnOKXKbr+YMrJ80CP1TT+UBIi+hreGPm7+MxYHmbE6i8MIHsL9/hw1Fz+JZdw3roYmyAdFYvgD41yLqGAEThih1SICvoNfQFB+qTcFHYlxFkyjHsVarycoJHxgGhInJhLUYepCn1Nx2ktkFShLWGqeDpU8gNviKcTe88z0Go5IW67MyMcrje/vz/VFqQdj; 25:Rz+3YBeWm6vY/cEy9hGKZKeu4n+Xj5Ayf8mzH8/GMOMHfnO9x7evzcQQ+vWjO5twrxtZBqCpDFs6uIMSdCN9OqtKRR9D6z8gR9N78v8HvXtWWuODYq8AV5rHaQRsX++n8tkGzj6pYEOGivD1xeaUHkmpVKAl0nsfvxc0B8VtBvSLM2Bv419q125w8tsQDjJLKe7aACNNw0SCVmLtBSCLWmAUPiIZRO1ylqtYbdQCY2Oo5DPj9EW1I7RvDFxdhDthSsTbI5OIxMgm9EUWZ2OpOlDYCuqhcByWROzlRaTZTiF9eXHfkYH+303LEdGozQ8v1LJ49RdMdXr3GgdPiSr3xgENgzihytEpQEWTqeybB8c=; 31:cO/AxeF0kj7pHxZX8JjaK/cw9YtLdFvLiW3jpJ1g/WTRZkg+CFxf8dm16ZYbLb+WyM0t7hxxcr7UgvBcxMsghfqGjkAl2mP7s2vSJpqx+SXMKfxflzS/zHOF+8M88MYuUSkvnlPtBleDoSNQe8EXIFH9MYQ+/cF3aHwxv+uyRbja3tynkeZXSq6gTrIAv0ZvdJgS3GJKIj3eC1FsLH6/kRXPXsteP3PZsXD1EEGM7O4= X-MS-TrafficTypeDiagnostic: DB6PR05MB3142: X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3142; 20:Mm2gjQfPT3ZojjhgMFnsx/WgW64YSHinGkaf8g6xZ4bZ4h2Cm5NLNY/Mk3Ro5fl7vvN+oM8o2N//gp3heL0Y7uIuwe2vV2UxeId41Ilk4Qfngqk6BAAkPmUIbLdzfB5KlH1uIaWg21AuzTnj7T4KxcXQEofGDeKsDGQlJsnxNAZappcbeR69Ot678uEu0zg48nUTxDiWw9N9F7Pm51zZNxN70O1vU6xdPYwpgES0Dd2rWpX+VJArDsOD5WWbBc8SoOSmZzkhPKDKHlxjDrpgjecCexppPA29lFCxP3gianv5W0Dh4DwYuNJkn5oofj5oNmz9mQ/sf62Ui1d/Z84RbsoivNevBpbRUCRkawBtcLOeruy6OsuJuDJ8jUahrd5Hw0e/WHeQ2ttKOZ00Ykq402nTTJjS8jRR8u3hcsZF+xM2uv3Bimk90KcqQxqZof/2DAYD7SUJCJfM8QnHrBMjbQYHXanQFNTLdzMsxbSywhPgwpUe0NlluZG+rWaJ9IMu; 4:qIOEy2IsyCpuC9YwBCZW33nisv0QpGr0UNAigJKkX5B0FnMFjGocwJ4j39pmYDAsJ8gjXCISVQTckxxy/aDXZ933MOgl0ZUtny2hmKmoh5TDqNLm02dMkxXYG4DD0i5w+fAv1j72sGKyr6ELxY8lOjnCTue6lMQCdWqR7je+sKWavLP5wP2zp2bJ3cvwOgBwVCMDpeqc3fdQSupjJ3CuBfIleBu/w30t1aI2/GMGQ8DPJFeiXkfCVh3TcjvRZbcMb8syeiukfdy3CJiovSc1fQ== 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:G7xzXaJhqdChahdL7IWwYGmwOgCqNlqrHf+dJUacl?= coEScT7ytIxeJSiFjkEhUXS7fOMi7BDPMD7oGnWTPPto/xwtGq6nCk2nVKyx/cYxAa75IgL0B/ZXGWS5K13bR1/JHB47nqAjO421K5kzvO+WlVbsoBtBhCJm6eicoLdw0EwSjad26VVYFMRRLI4asB3398/aBJttZRVONGaMsJGosc9R/fPKEK5KEoLWEHk+KToY7/pDPWsfUHTlXSOeuHu1lglD7RQXI8BeTiXXHmvtEKL7aLaU/K+6XZ6seFQosHXYn31iVve83ibRsDvAR6cWGTZr6dAUY5SUzkRpfI2ByBTuCtMHG/cnoNjPVXwbenMlCc0ZaXsBoDBS4mReuM0PAmjqQgAGuvGVe9AbyZJRU7xmN1widJzv06fd9kxPBP+1/zjM9bVA8JxEsqImWEWnBCLqHJgPB/UwKOJodXrirSgrDHAaup5I58NeH+Ts36K2SbDE68DShoHHoMokKJM5a6E0OfDd1KMWZB5wE9ZBK/VoCgVV+Kk6vBszZ6yjjpExq9VFSjS+exOKoYAm+bpb4kpfxjdGYWIKljFcol2D3xos53xMbMRkW8D5/bZK7rrYIfqjcn4sSE/mboBZiCWUwm6/m6j1GFbQ0j13VuN56XhyfVO6MnJybiAHqUXaf8wJVtvF47UrArAcjGM65oIOFTJi5jKq/GCHG7EuJ1Mg7LCoUMxXX64dB59BfCJ+dRU/Qs4AxKANw2EdfH9dpZazTMVXCpKVv7vOSImeHH7p9vljRAlrqP6abTK9pEKSrj5/G2+bFizppceOLcGltcU+Tpq4LIN3vgwzPQ7Tm8VJZsCGapPlQmym/4UpQXbzLMDcCYhwl4atYAboRs+pxVTS511csF3BhjS7Nzf0E+d9SMBsQ5Fj1Kzn2PZFw5rH2LeFCX+YMsXVihJ05grpERDJ5UzLeV5bWXTkA0Krs0KxU2eNj+fF2skCykngEEl466mObTI1CJGsPYYxTCvOrJIbN7JH8B+BnEphj0tcFQ3Gr/nFst89+zMD6IfaEajenHDi/ve725onBclytU5GnxsZXfPL/zQ7ey+XJvpZPDQKB10ahD4cEQnEIxpXxvklaqnX3XU8ndRGzYi7y+aLR+NpfK3oZZwM/CNXcMReKNrQHAe5JF27tS1axys1nRROTQ= X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3142; 6:9lrc4edsgDJUg96c83DzOMTy+tRJBQHXrPDkva6o9+xBPeRhgqkdW2Rz/bW5+P+05FRqdWAjvSf+Bd33rrfj0yo8KVMrkbI5uosiQga1Cj901uEBiU8AuAoSnh65rIr23msHKTKEHRod5NLMfDC4ZuTjdNb6fReNYwlatzKTNDegEAOZkCUhCPj7o3Ce7bMJSVo8comTGneT0Uv7iStsvM5JxNpPyYQGIVkMBAgDQlI8AkbdWx+4vXpiQDLsY+4NlE2HbHa2notuKvW0ro58TZ9xTmBB4lWHxCP44Hd3Wn/saeBxj/zMXwHM5KduQGmuyAD4kszAJR9ynnkESDVcD2tVKBz05H27hYxde0XcT4M=; 5:fbOvzjDHoiOkZeZvIr1fHH6k7l/LoTDdGNvBouJHrzDmizJIHAjXniDKTHDaRvyXmZM21PJzXnsIbxqvJXhzXez1/IA3ChGIVdCIVDLvp+atj4EYqRnIYqp4IeRedrAt2mVhviaQwm/vdwxMCNLmtuyd6QVq8bUrATkRF9GiGPk=; 24:VLifcSGDfXSfAXlHZqsIYz1ta5Fc1vb1mQq84LQZ1dCo1PFd8hqxWGIwXehKzQdBeTvb8eTIA6dzRKME5hB7J9/tY/6L1gUiKI+1a6Xeoec=; 7:z+KwQMFnzHl8m+VKKp1weG2Z6GHZE0R0FE6BYvTnT7T2RFWV1yMkRyzY7NKbk94kxxGEEGtkQ617NzzlfmWBzQlbJxQw1cdqbYEkaaOMPyr3a/x3LqKwpWYgjOmgDhVHo2eV+zM802ldrSMaSWn4cBO9vdpbuShTVa+Cv5EFmFRHb0Ds6n5QT3NDx+hxwdz5V21JR/ZIA7/7uh+NDwfo5w9sDx5KDHFYMOuDHOMZfxj2tC6IhayQ16MJfhRh0FJ7 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2017 12:20:01.9817 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dda0f28d-c933-438a-81fa-08d5326c85be 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 18/39] examples/load_balancer: convert to new ethdev 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/load_balancer/init.c | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/examples/load_balancer/init.c b/examples/load_balancer/init.c index 3dab7f258..532a8b765 100644 --- a/examples/load_balancer/init.c +++ b/examples/load_balancer/init.c @@ -74,11 +74,9 @@ static struct rte_eth_conf port_conf = { .rxmode = { .mq_mode = ETH_MQ_RX_RSS, .split_hdr_size = 0, - .header_split = 0, /**< Header Split disabled */ - .hw_ip_checksum = 1, /**< IP checksum offload enabled */ - .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_CHECKSUM | + DEV_RX_OFFLOAD_CRC_STRIP), }, .rx_adv_conf = { .rss_conf = { @@ -430,6 +428,9 @@ app_init_nics(void) struct rte_mempool *pool; uint16_t nic_rx_ring_size; uint16_t nic_tx_ring_size; + struct rte_eth_rxconf rxq_conf; + struct rte_eth_txconf txq_conf; + struct rte_eth_dev_info dev_info; n_rx_queues = app_get_nic_rx_queues_per_port(port); n_tx_queues = app.nic_tx_port_mask[port]; @@ -440,6 +441,23 @@ app_init_nics(void) /* Init port */ printf("Initializing NIC port %u ...\n", port); + rte_eth_dev_info_get(port, &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", + port, 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", + port, port_conf.txmode.offloads, + dev_info.tx_offload_capa); + port_conf.txmode.offloads &= dev_info.tx_offload_capa; + } ret = rte_eth_dev_configure( port, (uint8_t) n_rx_queues, @@ -461,6 +479,8 @@ app_init_nics(void) app.nic_rx_ring_size = nic_rx_ring_size; app.nic_tx_ring_size = nic_tx_ring_size; + rxq_conf = dev_info.default_rxconf; + rxq_conf.offloads = port_conf.rxmode.offloads; /* Init RX queues */ for (queue = 0; queue < APP_MAX_RX_QUEUES_PER_NIC_PORT; queue ++) { if (app.nic_rx_queue_mask[port][queue] == 0) { @@ -478,7 +498,7 @@ app_init_nics(void) queue, (uint16_t) app.nic_rx_ring_size, socket, - NULL, + &rxq_conf, pool); if (ret < 0) { rte_panic("Cannot init RX queue %u for port %u (%d)\n", @@ -486,6 +506,9 @@ app_init_nics(void) } } + txq_conf = dev_info.default_txconf; + txq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE; + txq_conf.offloads = port_conf.txmode.offloads; /* Init TX queues */ if (app.nic_tx_port_mask[port] == 1) { app_get_lcore_for_nic_tx(port, &lcore); @@ -497,7 +520,7 @@ app_init_nics(void) 0, (uint16_t) app.nic_tx_ring_size, socket, - NULL); + &txq_conf); if (ret < 0) { rte_panic("Cannot init TX queue 0 for port %d (%d)\n", port,