From patchwork Thu Apr 5 13:23:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh X-Patchwork-Id: 37297 X-Patchwork-Delegate: ferruh.yigit@amd.com 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 AFDB51CBAA; Thu, 5 Apr 2018 15:24:00 +0200 (CEST) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0044.outbound.protection.outlook.com [104.47.37.44]) by dpdk.org (Postfix) with ESMTP id 0C8A21CB9C for ; Thu, 5 Apr 2018 15:23:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=3s03iXY6SVoArfHXuhvC4+BcNwheSiuEXU6zoHPY9P4=; b=Pl/dmJD2T1M1btu2c/fuOvAPgxz2qEwJ36lHbNlmpq50r4dPWQejH9s01Ccm35FHAHw7xqxFRPixbeg+yBhCd4T4EplHaPlAZOdw21PBbGypAOda0BSHdmMO5AYZHfMbgwdH/7iJuF7x56dxhn9XHJ7hxsg8mpeKn7t6Iu/RIZI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from ltp-pvn.caveonetworks.com (111.93.218.67) by CY4PR07MB3464.namprd07.prod.outlook.com (2603:10b6:910:75::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.631.10; Thu, 5 Apr 2018 13:23:54 +0000 From: Pavan Nikhilesh To: jerin.jacob@caviumnetworks.com, santosh.shukla@caviumnetworks.com, ferruh.yigit@intel.com, shahafs@mellanox.com Cc: dev@dpdk.org, Pavan Nikhilesh Date: Thu, 5 Apr 2018 18:53:32 +0530 Message-Id: <20180405132332.25676-1-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.16.3 In-Reply-To: <20180308190716.31061-1-pbhagavatula@caviumnetworks.com> References: <20180308190716.31061-1-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BN6PR14CA0017.namprd14.prod.outlook.com (2603:10b6:404:79::27) To CY4PR07MB3464.namprd07.prod.outlook.com (2603:10b6:910:75::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f64f008-bafa-4c5f-10c0-08d59af87c6b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603328)(7153060)(7193020); SRVR:CY4PR07MB3464; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 3:nRZMYv+FhB/nTL6NRF0c1dS8V0d63vwspKpEReI6Sh3Hc1MhHPHZKkM/NGnQfQ0JlTQpr1JLTyRbq7HmBqrh+QPBLg9pegEbdUxy7wC1QtVPW6ThK0BoFgUc3GLA5k/V22Je2HzA77gib+gs365XhxCtjNHNjcyPWTRSWdi5Sg9RXCe20UoABiNnRLKbckudJ3AdYMbqd5qQBBStpw1pGdHqI8on0P8bzVw1abEmbQeZWeslbK7Av8B+EI+Tp6W2; 25:7+xz+OKou7a8Ex+amXq6c0DN+zXZPoRIldvOUxzfX9KzqTHroFRG2UsXHcjgEbYOzGPNWWh+CZkkeCDLEIArgX0WY8OfX/AhKmFWRAkHTKiuUfdQ//6vsFW1uw6SUGF/39ieU9WtwxS3wBhNfP0H1/VsscF7PmxQwvTFtB2dEjUjBvNHF9sWSEDcBLd9I5SX749tB/kg8r/V6RMgDLSWomaDyA5fOeO3ExVnFhhW/2P4bcfrxLlOkDuEwyju+J8ZbhrCYcXkn6yZR2qsqR7DOt+WwzPeuznLaCpEkfdPmzDNQqpfXMfR7QGZWO44PXrRYs3bSjmXFQqYbZFpTGuXRw==; 31:LCjAzNGI0GpxfEk15Gdw3mGiTxeNsP8okkW4yNQOnuYm2sP3raaMcivPm9sHotPAyW9+LUB7uAvxOE09yPHmcuqEM3zNvzMTiNDRYW79ZXasrdzY3u/CwdSvhnVvDR+DmngMknm2NnnUUzqY2t9gao6FJfSdT3BgJ1+66PAZ35ojRaAokR8Pi9QylwNjH88M3WkZrjJF9J2Mm2ECih5D7HRTqRbzQWD5N8eQajic9fw= X-MS-TrafficTypeDiagnostic: CY4PR07MB3464: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 20:hTj2ol0ZtUNpaTHSokVIfV5cDm0q7yaLvQArx74zB1tDTtuPl5D1uMvDCy4VXNkQ7ydMS8K7FDgaH2a5QrntykOMZz3CuJMU68wT3js32xEx0le3E0dERiKchjJ8rbazJGpkvRCZmdewMrCwjXHinSBgFam+dMVf6WL3apjVFkQ41RYjOoQGAPWePwLkTkJ08OjUpTHkFZi06pQdGKPJgdTCHMIRFqG9fX9oSytkUjU4c7fJXUdtykySva71AbO/dIw1w1qXxv9xbmQ5OXHFxWQ9gkCL/YkT9V3FM3lNJ6+sqkwujGdX1iuN9penKqxifK9yBbq1Fw1Hk+JpsUsmU9CWJw3Hrffs/qsbpVjhX0bwDIqgAfyxKAnXdrtfFkoJ15d3CL3lV0US87Y341RAsdrFN0VV2cR/No/B1/iHP8KOaJjRs9XMnxTczxuNEih0LU5Ii5eW3LpoJNQMAjlYeA89phKsWjOJDA9zYZy6+gTYKA38jPzlTNS639vkAztSoBo/iqEB12llnvWex98QpQsC5/y9W67HvN6p/il2v3bSo2VOy2ItG+0u7i+MMm+QYz/wdFUeD6AjBCzMCr1IBGh1eyPmNaHbOdF2vwnkCO0=; 4:D+d9gJOEw9q3WJjZFu/LKXN0EmHj856GvyNbZSTTkx2/ZYFP+YVqUq8pt4J/6GIBFo+n41pTglkFhZrYhd1x5NrmnyXPbBl+N+59i43sLJrpWqBkQwIoNGOd+xBRjeG27eJuJ83dOiHz9KjNIzFIpztDoCoQePevfLMACKubYnBLeypjMZnMcNfkYEu6Htavxr9l2BRab9lbyeNlGSVL2dj6zJ41Xy0PCItvtjVnkIhm9/x80LyFFrG3+Dgzyxm5dYSCDfBV2yAGM7Z1J2ofwA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231221)(944501327)(52105095)(10201501046)(3002001)(93006095)(6041310)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:CY4PR07MB3464; BCL:0; PCL:0; RULEID:; SRVR:CY4PR07MB3464; X-Forefront-PRVS: 06339BAE63 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(366004)(376002)(346002)(39860400002)(396003)(189003)(199004)(47776003)(6486002)(76176011)(50466002)(6512007)(11346002)(97736004)(53936002)(51416003)(42882007)(36756003)(50226002)(316002)(52116002)(476003)(66066001)(25786009)(575784001)(72206003)(446003)(106356001)(6666003)(59450400001)(2616005)(81166006)(7736002)(107886003)(6116002)(16586007)(486006)(48376002)(53416004)(26005)(3846002)(6506007)(5660300001)(105586002)(68736007)(386003)(8676002)(1076002)(956004)(5009440100003)(81156014)(8936002)(4326008)(1857600001)(2906002)(69596002)(305945005)(478600001)(16526019)(42262002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3464; H:ltp-pvn.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3464; 23:IrG+ip/TODmUzrxnPLolSX3LvneM4vNQf/aXDaG8b?= n/FIy+odBCVJm0FVi9oXiH1GNl93BfJPriZtBht+mTfBwlrSurm5T8Lwe4V0BCGNZB2F8Qd7rW+8unJVpCuHAdEufWx5vFPRttCP8sFBlXNDnG49ALLrLK2euZefuqQ8b8vN19WImSIQyocJYmuMLBPQQWjeIBqJZLDy6e2Nt/feW7uVRasvLitmOaFSwD2M98SveWoRj8s/Yg+e0yKFbZ2AF9j6dxJZPLznzM6RnLH7AKFT2DN5jCwXnIHA/b1hZlsX/HCFwyyKEoBLh7DviQk4V4Iz3u/NJx+xDsqnaacTWmP24rM/CYyBTt0XU41ZgIYWwHjJvsPYANdSY0aL/txdiIi+WS4kuVe83BylbvaVRzMFO+ebHq3GNlq4fqwVpHRo9vV4XzRhrMWJU3xAhroQ21IpEDRxtLRzvccnn25Sv9HimbrOWrrBbzNzmdSKZaIj2Vkn8LlBcCAJWuQ9GVSVNAH3K4e/GCugbTj2ryMdwKNfnmeEDQln3OoZOSQfRGwgTLRM0H+yijrXQx4+mxg2kouK4jZBf/r9Q5S3gurDQKEySCSgEKRa1oB2FsOEEB5xjTYD84xQ+ByNFqM4xiwGHp0o9AI2C52vmTtHxeY20IyaktjP3bU3Vu9M0oYyQ6EX5a1iFWZBdM09F+UYPNL1y3jNC5qEvB4w4cydGQeGHNXG2zw+9Ib///Xb7wJUZrwG8mVMF6bAl+8QbE0Vfe8SNMghVdfMEUjuCJLntemOO28DohfjiYLM33xW0A8pGeNH7h1hTlsQG2d+mdv7zoRDikafvcbn3QjmLp/aJN5GtBPEWBlRshl/2QjkBvukbXtAUxbBMwm/vIcS4VCg8mW+NC0D2I4C/7fiMdFjbyLRc3x+Km1QaW5Ymmwj9AD5eRaliZHqGISym2PGXcc1xgE5+WctVtt5ar3XPZN5khnIrMev8Z06piB4COEMbFvydCOUxJZEgpXrWyMFxRr+uMRhU4pJzs2fhPt5HYwvjf0iVF9xBO3R6xyc6sJRl8N0ae1R8FguWfjoH8LBH4hOBjoIjR6FBHFI3dPGGvRYYLhfYjoOX0e/G367GGJ5K/qGjAPomIQNmRuWaxAYtDEjDnWAMDkNCyyzcirKFn6wd/fClDiRbPsn7i+YxDGvsWTVcCm+Ogbi7O8W5D7UyUwltYWU3rJtFLa58D/xV4SuGVbgixE++aFDX0bDnZ+LM+LZ3kOUSVCKspJ8v5SUqZb94V3HxhhDGlPltTtNZzSXV24DnjAvAGL0UlcFdmm5erG8pXGX4tCurAkbSDC4kejibuAWoEqykQyZoNT1REDKYrocdf3xfLufuQ2MemAA5VN5kk= X-Microsoft-Antispam-Message-Info: 66KK+dUUPs+ZQZ6M5OA1D4oMESffLsoNIx5Ew7+ce6O011/fVaN7fi+H0tHRf47joGQd/tBQUzfrPtHN54/1NtNlNDjx59sj/orihbyq5ROEPjCCPsazl1gURcObexdZyrIrCq2wnC0d+yeQ1VVTUIcdz9zkWwh9KiBrxslbke2CQVx6lnLkC2Hg7uW7GcvV X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 6:l6TZvNR3CyofCcO0SkQQaRaeSKDdchbP7UgLE5ekIOWUuaiPlHjPGKkYY5med2oK43K80VeARzAjddD0TMa8B+7cDWgV+Qjv2MnSC4nouQ/QGtY0TXR5XTNftBaE27GY1qd9Gg9nZ+EZS1YJAR42fMuPJCwOMZnN96V3n95pZR/nrKnYtYD7QGGHx2EmQ8klxpC/dNYd/ikPT85odXhnnAR34e8HvOBZxLmCsy99AeZm/7O3e7Ax6Ba0hHkiIdtGzuV2diEn42ZAfRvensRSeIbhRNrgMD4xv0PGuSMbn3/F/dkhf+XIM0rhcH56YdCYdA3RYin9PIiEz5AImcUUgljIouo1ROhQYEkwFrkj/U7wJCxjzP8P9ruY/ZZotiZ1TToJLy84P5iSweZFsItafL1UsmI/auL8KXr/9sYxtwk46blDv5eoghBIH8Ke62m99F1LE8B0Q65n5L/qtjQjOQ==; 5:/Mgd0Tc5wTAQV5o8j0qe25U+RgTlQ/P05BKZYVidbTNAaWzcMskOYFhLszGg9sVTQhGcs7Z+kT8PiPWWPiedtjMVFK5K481aL9iScDadXlivdYSIoP5CJj7SCfnHFzZ6XcVmgKFc5KKPcqpqmjZy1UK3v+LEhlC92Urz9TZhmJs=; 24:yKDxk0ARYNWBsJ1uqj7aCkzjrdhsT1vuRhiN6J2jJhUm9tS/5jzFkdKcBYaLKEiBD8sUmQn28rrOXplYuZk5UXxZ5OfKRo8WkdmBOHJsFf4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 7:bN/phTpxfmDHtJn/8LtAkT+oEHSPs/v5d2pwKRxsrEMJF30G75ZJie9T+WgNSJ4FumYdDjQzIyq+0faGe4F5MIfEJV0Ti7/euck58ICWNuHfbvWhp9yTM4Kr/ADN5W6CcmqgO5AiZyWMhRsMFY1m+m0QNqHVcsvSiEWAqHYNU7/B1Et0ZcIaFVkY6ezb8bfPXWbDBPTb6ww35TsxNMo7cTFY6GSZJoASUzeQrJNgFyDBCS4fcpCYc/Pj8z6HWXTQ X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2018 13:23:54.8688 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0f64f008-bafa-4c5f-10c0-08d59af87c6b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3464 Subject: [dpdk-dev] [PATCH v3] net/octeontx: use the new offload APIs 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" Use the new Rx/Tx offload APIs and remove the old style offloads. Signed-off-by: Pavan Nikhilesh Acked-by: Santosh Shukla --- v3 Changes: - update dev_info rx_offload_capa to include OCTEONTX_RX_OFFLOADS. drivers/net/octeontx/octeontx_ethdev.c | 85 +++++++++++++++++++++++++--------- drivers/net/octeontx/octeontx_ethdev.h | 3 ++ 2 files changed, 67 insertions(+), 21 deletions(-) -- 2.16.2 diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c index 90dd249a6..4d7d1d7f4 100644 --- a/drivers/net/octeontx/octeontx_ethdev.c +++ b/drivers/net/octeontx/octeontx_ethdev.c @@ -262,6 +262,8 @@ octeontx_dev_configure(struct rte_eth_dev *dev) struct rte_eth_rxmode *rxmode = &conf->rxmode; struct rte_eth_txmode *txmode = &conf->txmode; struct octeontx_nic *nic = octeontx_pmd_priv(dev); + uint64_t configured_offloads; + uint64_t unsupported_offloads; int ret; PMD_INIT_FUNC_TRACE(); @@ -283,34 +285,38 @@ octeontx_dev_configure(struct rte_eth_dev *dev) return -EINVAL; } - if (!rxmode->hw_strip_crc) { + configured_offloads = rxmode->offloads; + + if (!(configured_offloads & DEV_RX_OFFLOAD_CRC_STRIP)) { PMD_INIT_LOG(NOTICE, "can't disable hw crc strip"); - rxmode->hw_strip_crc = 1; + configured_offloads |= DEV_RX_OFFLOAD_CRC_STRIP; } - if (rxmode->hw_ip_checksum) { - PMD_INIT_LOG(NOTICE, "rxcksum not supported"); - rxmode->hw_ip_checksum = 0; - } + unsupported_offloads = configured_offloads & ~OCTEONTX_RX_OFFLOADS; - if (rxmode->split_hdr_size) { - octeontx_log_err("rxmode does not support split header"); - return -EINVAL; + if (unsupported_offloads) { + PMD_INIT_LOG(ERR, "Rx offloads 0x%" PRIx64 " are not supported. " + "Requested 0x%" PRIx64 " supported 0x%" PRIx64 "\n", + unsupported_offloads, configured_offloads, + (uint64_t)OCTEONTX_RX_OFFLOADS); + return -ENOTSUP; } - if (rxmode->hw_vlan_filter) { - octeontx_log_err("VLAN filter not supported"); - return -EINVAL; - } + configured_offloads = txmode->offloads; - if (rxmode->hw_vlan_extend) { - octeontx_log_err("VLAN extended not supported"); - return -EINVAL; + if (!(configured_offloads & DEV_TX_OFFLOAD_MT_LOCKFREE)) { + PMD_INIT_LOG(NOTICE, "cant disable lockfree tx"); + configured_offloads |= DEV_TX_OFFLOAD_MT_LOCKFREE; } - if (rxmode->enable_lro) { - octeontx_log_err("LRO not supported"); - return -EINVAL; + unsupported_offloads = configured_offloads & ~OCTEONTX_TX_OFFLOADS; + + if (unsupported_offloads) { + PMD_INIT_LOG(ERR, "Tx offloads 0x%" PRIx64 " are not supported." + "Requested 0x%" PRIx64 " supported 0x%" PRIx64 ".\n", + unsupported_offloads, configured_offloads, + (uint64_t)OCTEONTX_TX_OFFLOADS); + return -ENOTSUP; } if (conf->link_speeds & ETH_LINK_SPEED_FIXED) { @@ -616,6 +622,7 @@ octeontx_dev_info(struct rte_eth_dev *dev, dev_info->default_rxconf = (struct rte_eth_rxconf) { .rx_free_thresh = 0, .rx_drop_en = 0, + .offloads = OCTEONTX_RX_OFFLOADS, }; dev_info->default_txconf = (struct rte_eth_txconf) { @@ -626,7 +633,8 @@ octeontx_dev_info(struct rte_eth_dev *dev, ETH_TXQ_FLAGS_NOXSUMS, }; - dev_info->tx_offload_capa = DEV_TX_OFFLOAD_MT_LOCKFREE; + dev_info->rx_offload_capa = OCTEONTX_RX_OFFLOADS; + dev_info->tx_offload_capa = OCTEONTX_TX_OFFLOADS; } static void @@ -736,10 +744,11 @@ octeontx_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx, struct octeontx_txq *txq = NULL; uint16_t dq_num; int res = 0; + uint64_t configured_offloads; + uint64_t unsupported_offloads; RTE_SET_USED(nb_desc); RTE_SET_USED(socket_id); - RTE_SET_USED(tx_conf); dq_num = (nic->port_id * PKO_VF_NUM_DQ) + qidx; @@ -757,6 +766,22 @@ octeontx_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx, dev->data->tx_queues[qidx] = NULL; } + configured_offloads = tx_conf->offloads; + + if (!(configured_offloads & DEV_TX_OFFLOAD_MT_LOCKFREE)) { + PMD_INIT_LOG(NOTICE, "cant disable lockfree tx"); + configured_offloads |= DEV_TX_OFFLOAD_MT_LOCKFREE; + } + + unsupported_offloads = configured_offloads & ~OCTEONTX_TX_OFFLOADS; + if (unsupported_offloads) { + PMD_INIT_LOG(ERR, "Tx offloads 0x%" PRIx64 " are not supported." + "Requested 0x%" PRIx64 " supported 0x%" PRIx64 ".\n", + unsupported_offloads, configured_offloads, + (uint64_t)OCTEONTX_TX_OFFLOADS); + return -ENOTSUP; + } + /* Allocating tx queue data structure */ txq = rte_zmalloc_socket("ethdev TX queue", sizeof(struct octeontx_txq), RTE_CACHE_LINE_SIZE, nic->node); @@ -812,6 +837,8 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx, uint8_t gaura; unsigned int ev_queues = (nic->ev_queues * nic->port_id) + qidx; unsigned int ev_ports = (nic->ev_ports * nic->port_id) + qidx; + uint64_t configured_offloads; + uint64_t unsupported_offloads; RTE_SET_USED(nb_desc); @@ -834,6 +861,22 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx, port = nic->port_id; + configured_offloads = rx_conf->offloads; + + if (!(configured_offloads & DEV_RX_OFFLOAD_CRC_STRIP)) { + PMD_INIT_LOG(NOTICE, "can't disable hw crc strip"); + configured_offloads |= DEV_RX_OFFLOAD_CRC_STRIP; + } + + unsupported_offloads = configured_offloads & ~OCTEONTX_RX_OFFLOADS; + + if (unsupported_offloads) { + PMD_INIT_LOG(ERR, "Rx offloads 0x%" PRIx64 " are not supported. " + "Requested 0x%" PRIx64 " supported 0x%" PRIx64 "\n", + unsupported_offloads, configured_offloads, + (uint64_t)OCTEONTX_RX_OFFLOADS); + return -ENOTSUP; + } /* Rx deferred start is not supported */ if (rx_conf->rx_deferred_start) { octeontx_log_err("rx deferred start not supported"); diff --git a/drivers/net/octeontx/octeontx_ethdev.h b/drivers/net/octeontx/octeontx_ethdev.h index 10e42e142..9d6c22b0d 100644 --- a/drivers/net/octeontx/octeontx_ethdev.h +++ b/drivers/net/octeontx/octeontx_ethdev.h @@ -28,6 +28,9 @@ #define OCTEONTX_MAX_BGX_PORTS 4 #define OCTEONTX_MAX_LMAC_PER_BGX 4 +#define OCTEONTX_RX_OFFLOADS DEV_RX_OFFLOAD_CRC_STRIP +#define OCTEONTX_TX_OFFLOADS DEV_TX_OFFLOAD_MT_LOCKFREE + static inline struct octeontx_nic * octeontx_pmd_priv(struct rte_eth_dev *dev) {