From patchwork Mon Dec 19 20:54:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 18181 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 [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 61BEBFABF; Mon, 19 Dec 2016 16:22:18 +0100 (CET) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0047.outbound.protection.outlook.com [104.47.40.47]) by dpdk.org (Postfix) with ESMTP id 7A923FAC3 for ; Mon, 19 Dec 2016 16:21:54 +0100 (CET) Received: from CY1PR03CA0021.namprd03.prod.outlook.com (10.174.128.31) by BN6PR03MB2465.namprd03.prod.outlook.com (10.168.223.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14; Mon, 19 Dec 2016 15:21:52 +0000 Received: from BN1BFFO11FD031.protection.gbl (2a01:111:f400:7c10::1:112) by CY1PR03CA0021.outlook.office365.com (2603:10b6:600::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14 via Frontend Transport; Mon, 19 Dec 2016 15:21:52 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD031.mail.protection.outlook.com (10.58.144.94) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.789.10 via Frontend Transport; Mon, 19 Dec 2016 15:21:51 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uBJFKMhm029110; Mon, 19 Dec 2016 08:21:48 -0700 From: Hemant Agrawal To: CC: , , , , , , Hemant Agrawal Date: Tue, 20 Dec 2016 02:24:02 +0530 Message-ID: <1482180853-18823-24-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1482180853-18823-1-git-send-email-hemant.agrawal@nxp.com> References: <1480875447-23680-1-git-send-email-hemant.agrawal@nxp.com> <1482180853-18823-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131266345122033802; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(336005)(39410400002)(39380400002)(39450400003)(39400400002)(39860400002)(39850400002)(39840400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(81166006)(5660300001)(5003940100001)(110136003)(104016004)(626004)(6666003)(2950100002)(6916009)(305945005)(47776003)(76176999)(50986999)(356003)(8666005)(2351001)(86362001)(69596002)(36756003)(92566002)(2906002)(4326007)(189998001)(106466001)(50466002)(97736004)(48376002)(8676002)(8936002)(50226002)(81156014)(33646002)(105606002)(77096006)(68736007)(38730400001)(85426001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2465; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD031; 1:qmEokkii1PWLiiEPdB1vc9bpXnO+hqIIDQQv5idTdDTN3TE37p58O2qdLuiHUTBgMSVQm6Y6CHv7QOPaWc2ATo9hQSsZbizfrOB5vJ1m/PCZp2J4m54IJxvTevBDOWiN2cJW7JGPtIL0+4WSiSLfBlBZgWpp2NjSEz2V8sChJwebzf9MQh1vW8rJZJ+J7AcvgwALkzbBVX3AQULS9PCtk00Nvo3HDHnXxvqlxzmOdizzwg6bP+pUiTEAHFBJ8SxAlQmKFsB9zK8YHm0b4nXTeyxcIlRKhbdRzXDzZR5tXmQhBK9v964dYR+CvPE6GyD1BPMtBcSSry0ccWVw0JNWGM0Ws5ViMYfwmNOGg07pi3uNL/3goFmiFMCkHL2xgQeolO1LVmeEPuB/TojaWtQKfmPFTMjbeocLCLNwJzje5tQKJ+/VcUwuPqkKhFh6tYNDM1xzfKl62czHFOGeqnG0YvYBxPF5z8a7NNkSdhhrUlcxuCpuy/9t+1T4M/GrIDsxQU5zT/s4vQDS8i1VE5o1CvVzQl7pkR/jG4ds5g9SYfyfhu9YRbcpGEWw+eU/XCvT9ePPhBHuRao6vHgnTYuenx2SC4T9EZLD2U3ihHXXzfI/zWhvFju+5HPV+UuzLZfMSlRi9dwYH7lkA6Ng8FYRAwckxR5FjCpwwf4nNGDOQIwtvQ8xxpVguqzMwDtoTgpJUvpz8NdRATDnSNnD2wtc7M1oKqY8qPc6Kj1y189daN1alBakwwHupfmx3uqhw/gkOa5SgeRDPovmPQ6Jj/yLnA== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: e4434a5e-fe04-4e4b-042a-08d42822c258 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN6PR03MB2465; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2465; 3:PMu29iL8ej5lnuXiPzX5s1N+7MfxQXyUP/BHsh4rwzWMOLY51iHDiTK96J2MH4q2VmBneDy7a1DB87WqP1soXFw5YcxSjZh4Ra9vUkdM8tU2zRq1GTOH7qaw5ia45vVQgDUEZyQHlriCH6mFlW7oES1aJDdTGsxpKHDr7kGk0C1iRm20j+mpxH2pT7/k5L1FNls9JmrALYul6YLorA/1GQCn4+UY6DICv2Qh9u0plxnCpGyHnLVx8uN0g+LfTfvx2B2e2oVBgPN6K81z5tLPbIicpO0kR7lhaa0KbyXXCHx251TR8976KeNhoCU1q5aqPRrA498C6QFiO2zV9NQgFzizkAjJ1vHmuI/L9Sq+hS41JUyidMBo6wXMzeevuN8a X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2465; 25:uqj18RhhwJZlvU7OOEWm53oUWvzBQh5YOUZGls9tA3soTgT0U1BPLDMLcjlp8cWT9SevWdQwRJIzQZcCDYZnOJ0iB9lp3a7OOZUGDtxUOxvdh8c0aj+w4vaKdAeSAWjF8bIkEVQpVTOgcSjzFv4PIrcnBAB3qy0Nyhfgh/jThve9kzoaLtzWrXYZ3hcSIGc9XkAjX8cWHL7EXrrnRKe0FFqYDSShz92GpluTkTo4iEl96tB1kZbcUG9moojuvbD2blpuAUmGA0LmVI/LM9EyhuZ49m0XqxSsLaFFpzpyvOMujEM8nUZoKac8Z//FXDJBLGoXki7uWSgeXW+JLAbVYJFJ/u/UhppdOuhb8+EEUNfr04jPPdxPsw+8Z+yPG7OwfgRYkzO332Mtu5WMiSEVAQrzzX85b8Wv19JFcWb4Qn34NL2Jrm398ZWjlFNzN9QkhcH72hWMvP9n2jJYBZkjJMRiSstZrJ3W+WgcRCOHl3kR5Z64/YGEqMo/wAjEr4CTr3Awqoq39Vozk+y/bHOFrzVazsY2VvOki1gXYAG/BDqFmVzccvDkYxFpD4hXltiHThCGyDYlMr56Ip96wlGjzLDE2mgeqg0apf0ahXVCcb9J+BmE89rw1aoc3Eempn6U87RmgqAM6Os8OCv65fiwWbly+P+thCCRSNfO8CYZgoYNr93bNz7fhB45sdzEX6aD4HzMgi+WNEKNYOxvR5zqGSVnO8maGxD0UkV01a7BRrBUT0SGSQV5I6Rj6DeYjVgSMUJjirRDMWxPalT6daY2tA== X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2465; 31:8CaRvBwqbZp0Hle13S2k2uVHPE8ARO4eIs0SXMmmGU1wtUVvwQwpp8uNBRQ5ogPZU5QydOGIW9CYTm0LO8HeI0h6F9u1pmG5JqsFAZRUhCMsyuTcGswmpZ3P/Qn7XcW81E6no90pLduHwM+S1ZxJM3n3OdcDBeRHmUXSJaM5uZzoq56LiHSnTqIuato2jYuug++4bc9LhhchIFde5QSYbe0dH1q5kPo4wDaD95y5bZ/2GYOdaQKkxjSHW1/4sgLVOd+PM2IlfCE9YiSm+ltiucn8IwknKwXlXTkTqbjDZx0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(8121501046)(13018025)(13015025)(13024025)(5005006)(13023025)(13017025)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123563025)(20161123559025)(20161123561025)(20161123556025); SRVR:BN6PR03MB2465; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2465; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2465; 4:SSHVKq1vKbvKt4YCpQm6W1d5LQgf9A83WMguYYEvP24DRBKhlCOKUCVt/4zVWSDVEdM0kqJtaPBvDz1Uysi6LFCraRPBs0PbhnTa87mqNmYrI503ySjpWpiMzoj0ke8BbKgYo6wW4JVTX8+6RgsQ5eyVGMC7M1zlbU18/Qqur8hMLL2M6dh4i8F/wfAQSLStdm/9OhFQJ7KCkIa562RzNkP02e42izYl1jRQ6iSO9bK6idnE9MBZDH0cT5+gJgxpmM4nqQJQZ9PZ9LU98Si8XgpWAOTa/hx2jH6saA9/U8Yaoch4MYV/lIFpe+3S2K9Of8keEQ7LbZT64RVP7C0VaNoZZxPC+SwyIu/0WOJm3UvaG4bWHjfg3+OT6ZpeHdEXmNgiYKmREyi+ikpXKS361h/ScfNGlLoKZvyqVu0berywjt+wF0b8ZCRanUT+/MjcNQr1K2sw6f+cBT/pZ35Ez5HL2ziueRVu5kgSaAckQZtyeoU5gHioTwsuYZKEn06jwYLt7+AQ6KP8x1d6EVX0Z4bF0eRXxwtuWX5e3KrxGnpeAZ70tM/8AAN0fWrYcHG8R8d8+7zWjK5FsibklmnktdssEP191xw60f7iTv+FA/1v8XTA7x7ZYTNI66z0ZMgT7rSOKfO5NevDy+Vt7XDVO1Km9iozKmtyLoPELp+vpksm6Ib5J7Mt65pyY3NwGeDXX1QBIEfCgVCOMVIq9dF74jzKCf++ckQwBgW0C4JRgH1uNANZjyy6XzTM+JyRCpsD X-Forefront-PRVS: 01613DFDC8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB2465; 23:xDpxInvCNsMK+NVUAb7AemSmvlAF4sRodMQx/lyqB?= Cuk/vnskUvterx87zZhHhH6uDck49a16UqyCpCvVpWuBdx8MSyfmynFpf8djwVhAosSKK/9nYZ3yFFHzv17q594h1D+fLWRlz/cZ6lryYeAYXe8CrjpPrxe9Fx0sUpW2M1vEpxTjMkmtKXeg36HP0OdC+TvuLszSyxleQ+Xnm6iqCR8on8rYYFj1h1/sXK9+rdy//53ELspHH6yByHNGcF5cFy7m9V71ZbZL665xaEufE8WWwCI54gNVteiHzPHGP7zek6/noSe6Q4Jiijd9H36Cr3F5avvHNaxsvB/nq0r2YoneI2eabKWvwn3HzEsVjjcvRcWFxWEaMS5zFrHABtOoKccczv7TEN1Vro/ja/oqFOis/Jb7rdlS/agnq6J/goNqYBHeoVhhEcCMfuEyqGbhOW7hLMtPFBicKTKp1JlLK8l8Cp7CwzsHVoH2C3EtWEwr4j4Pl28tKVpSEkHAZEpbk6HnhCgJd9OAr49dc/b8HzHPSvRTEdD+Tyx9cjRipmYLu/fQc4kENZurn2kUcsAothwK6cSYZus2+WEGPCSZAdbxVJg8dumDUSoMUeV9w0YaxdQtA1W79yCvwQA+i4A89EG4Llz4FN54klRxDhI+8YbXpRlWZCXL6g0dE/ZwtPn0kwUKF5YJ/8D3vKiDqwCFT2bQZzE69yB8U94hjm6ZvKJis8oEJsM857ajBx9ai1VfpzwCnBuzbTaqPOryNzCshnXHTH2vQcu7pcjJk7L6xXy8B1ehCIhqIFvSrVVfqMrpKv8dU7fVfWmyjT/PTNXCVYDoS4k8E0D8f+QzD0JJp4ori3iUHbOyh53e6/D7oDU4XM/Xi2zF0M3/ytBwGrhlzqWa9FsoIjJyNaTYRpysspqe5h1nGhIIgoii2DGgIR2fIcksZ/rJTwEz2UJV5pzZ+SYud3dJGhXB9Xe6hdoiiYvQJX4Own0Ywy0HtvMndyA1R6RXMLZ3hx6iIaFv39ujHgohHn7PYC47Vqs9hRgfZiKx1elIzRR7qs886b6nV3tbRmHIzKwgn7DZ+2QYOxw7xtdoKwoW6KbBfpUpHjlLerBMkSKQjBTfV6anlFszFzQmVFaT6bd0HJtOIlMjMPN+XZHa11xfAQIQh7Lqi+dqagKLg6KXTBF2rkGZQwxSiIFW6MkfQ5SIUDttpVJzv6hexH7g1rwJSBYEyScBSr+HN3hEQW8sfXxwAKzdi6puJBZik4DwLYYI2Av9mdcmvdsTYIhCCZJcz0iqqxqdg2Hc+hfPKi5yTCIJTHGuA+1ojM= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2465; 6:WdlBQELLjj6c9OLS3T2uaWbwS6nZtyQr7QMKg7O2cuMSk0a8vGQ66CNmtGtJfQ0MJMzG7sybB4h6OALuIvvQ1ngTUbXKSJq+1ATHc0ekabMLkD05vCNuPymd4/qShFzYoFIQgn+sjCx73MxXzUDfrIKoeFQUMBodctqkjtDGHkPzfKUQ5f3ANqfTBroE9XE68LJVHoW0roT6i7ifhoauOUTxvmxia7Trf47wOgWNdfTsztxr2iRVR05PFpmXVQpAQ9ex4uL1dPR3d8rMRrnWUKGsjLbiwhuuyXxiWFHKCWdKkNHJ5b+uPXa5GFsbB9zmGS5a7tuj+8MTrLxyiwwPbGsH6u1g2OE15486YF1yRg17A8bbxuYelqrZyHDoIJxtH2N0d9InLCHO+z0DAXmmo70tVuOiQ9yjxtsJ8P0lMRrSqbfhRTiAj2ev/IoYY6wf; 5:OpUTwxvd6g1CuKw/jr4X1WCFbpkmCf7KAi93Cy8A/mJm3j/IyOqRxw8TasVNf3ulSN2swfrvkmE5fqa3x7e72hPcrMgR6vFR4hzKYk3iO1RbVOxXh26mNc3jZ63mdxNoi+d+Dlsh+Ahru0Y4dymKPLdH2ylC6yIHg2JhTjh9iIEu2BqV6jkTOAegEE6cqZ8q; 24:kY7jg4Fd6+2pBP4zWdLues+DXMAPqzYHDAHJs9ha9iqHL41MDXF2dmOmVwzz9hyUQLGThrxj9QoUAYTvcOHAvclVphpvPUdlrwN8d+fh6fI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2465; 7:QjLNVEbRU/5hhQqBl70J0lhYuS4Jsp678deWE8O/yziZnUoHS8vkIH9KFzeuzRgMkkdOpZ0qjfJVql4PCjh53ZBXNSqV45kNvpCNzjZhXP5MY5OECMguoMdM1pli9eOADlxLzvJOo2OAVLzDHczBGh/bVL84K8Kp5KMxl5Uk+QILD/2uWDc+dna4FrbndivWXqsQaWxNgvqYi4Hc1SZtruv8xjtI3UStfFQ+jzIPz11RBpMsbfEqD9peGPu8nvW/2PG2lRluw8BKjhZ1Dxaoq+NQwAnO5ZIlSg2TGVxj9n1sMpwX9tbrYNStRRb4OytfScj1STNKhkRoVEnK8eZQ580x3A2DnVA7x79sP+BA+ZtZoPdjlnKB+KTxLumRI88ec6WFoHpY0cRu29HzBO7Nww/qD0saYyZ48YKPguUWU90t8KHLTgXfHXIrxa6QMrXY0VrP/fDtjBjK/0N5S521ug== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2016 15:21:51.8445 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2465 Subject: [dpdk-dev] [PATCHv2 23/34] net/dpaa2: add support for l3 and l4 checksum offload 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" Signed-off-by: Hemant Agrawal --- doc/guides/nics/features/dpaa2.ini | 2 + drivers/common/dpaa2/dpio/dpaa2_hw_pvt.h | 6 +++ drivers/net/dpaa2/dpaa2_ethdev.c | 72 ++++++++++++++++++++++++++++++-- 3 files changed, 76 insertions(+), 4 deletions(-) diff --git a/doc/guides/nics/features/dpaa2.ini b/doc/guides/nics/features/dpaa2.ini index 20152a0..d50c62e 100644 --- a/doc/guides/nics/features/dpaa2.ini +++ b/doc/guides/nics/features/dpaa2.ini @@ -6,6 +6,8 @@ [Features] Queue start/stop = Y RSS hash = Y +L3 checksum offload = Y +L4 checksum offload = Y Linux VFIO = Y ARMv8 = Y Usage doc = Y diff --git a/drivers/common/dpaa2/dpio/dpaa2_hw_pvt.h b/drivers/common/dpaa2/dpio/dpaa2_hw_pvt.h index 2c1ab7f..c5afaed 100644 --- a/drivers/common/dpaa2/dpio/dpaa2_hw_pvt.h +++ b/drivers/common/dpaa2/dpio/dpaa2_hw_pvt.h @@ -37,6 +37,12 @@ #include #include +#ifndef false +#define false 0 +#endif +#ifndef true +#define true 1 +#endif #define DPAA2_DQRR_RING_SIZE 16 /** min_rx_bufsize = DPAA2_MIN_RX_BUF_SIZE; dev_info->max_rx_queues = (uint16_t)priv->nb_rx_queues; dev_info->max_tx_queues = (uint16_t)priv->nb_tx_queues; - + dev_info->rx_offload_capa = + DEV_RX_OFFLOAD_IPV4_CKSUM | + DEV_RX_OFFLOAD_UDP_CKSUM | + DEV_RX_OFFLOAD_TCP_CKSUM | + DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM; + dev_info->tx_offload_capa = + DEV_TX_OFFLOAD_IPV4_CKSUM | + DEV_TX_OFFLOAD_UDP_CKSUM | + DEV_TX_OFFLOAD_TCP_CKSUM | + DEV_TX_OFFLOAD_SCTP_CKSUM | + DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM; dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_2_5G | ETH_LINK_SPEED_10G; @@ -253,8 +263,13 @@ memset(&tx_conf_cfg, 0, sizeof(struct dpni_queue)); memset(&tx_flow_cfg, 0, sizeof(struct dpni_queue)); - tc_id = 0; - flow_id = tx_queue_id; + if (priv->num_tc == 1) { + tc_id = 0; + flow_id = tx_queue_id % priv->num_dist_per_tc[tc_id]; + } else { + tc_id = tx_queue_id; + flow_id = 0; + } ret = dpni_set_queue(dpni, CMD_PRI_LOW, priv->token, DPNI_QUEUE_TX, tc_id, flow_id, options, &tx_flow_cfg); @@ -303,6 +318,7 @@ struct dpaa2_dev_priv *priv = data->dev_private; struct fsl_mc_io *dpni = (struct fsl_mc_io *)priv->hw; struct dpni_queue cfg; + struct dpni_error_cfg err_cfg; uint16_t qdid; struct dpni_queue_id qid; struct dpaa2_queue *dpaa2_q; @@ -338,6 +354,48 @@ dpaa2_q->fqid = qid.fqid; } + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_RX_L3_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to set RX l3 csum:Error = %d\n", ret); + return ret; + } + + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_RX_L4_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to get RX l4 csum:Error = %d\n", ret); + return ret; + } + + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_TX_L3_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to set TX l3 csum:Error = %d\n", ret); + return ret; + } + + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_TX_L4_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to get TX l4 csum:Error = %d\n", ret); + return ret; + } + + /*checksum errors, send them to normal path and set it in annotation */ + err_cfg.errors = DPNI_ERROR_L3CE | DPNI_ERROR_L4CE; + + err_cfg.error_action = DPNI_ERROR_ACTION_CONTINUE; + err_cfg.set_frame_annotation = true; + + ret = dpni_set_errors_behavior(dpni, CMD_PRI_LOW, + priv->token, &err_cfg); + if (ret) { + PMD_INIT_LOG(ERR, "Error to dpni_set_errors_behavior:" + "code = %d\n", ret); + return ret; + } + return 0; } @@ -454,7 +512,13 @@ */ priv->nb_rx_queues = priv->num_dist_per_tc[DPAA2_DEF_TC]; - priv->nb_tx_queues = attr.num_queues; + if (attr.num_tcs == 1) + priv->nb_tx_queues = attr.num_queues; + else + priv->nb_tx_queues = attr.num_tcs; + + PMD_INIT_LOG(DEBUG, "num_tc %d", priv->num_tc); + PMD_INIT_LOG(DEBUG, "nb_rx_queues %d", priv->nb_rx_queues); eth_dev->data->nb_rx_queues = priv->nb_rx_queues; eth_dev->data->nb_tx_queues = priv->nb_tx_queues;