From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id DBA0E7CBD for ; Wed, 13 Sep 2017 11:13:38 +0200 (CEST) Received: from pure.maildistiller.com (dispatch1.mdlocal [10.7.20.164]) by dispatch1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTP id 5497C60056; Wed, 13 Sep 2017 09:13:38 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx1-us1.ppe-hosted.com (filterqueue.mdlocal [10.7.20.246]) by pure.maildistiller.com (Proofpoint Essentials ESMTP Server) with ESMTPS id CAA7D100057; Wed, 13 Sep 2017 09:13:37 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 603332005C; Wed, 13 Sep 2017 09:13:37 +0000 (UTC) Received: from [192.168.38.17] (84.52.114.114) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Wed, 13 Sep 2017 10:13:32 +0100 From: Andrew Rybchenko To: Shahaf Shuler , CC: References: <223be6bf-510e-e34d-2359-c0f1becd5bad@solarflare.com> Message-ID: <07f35197-ed1c-a959-3518-3a541e259b3c@solarflare.com> Date: Wed, 13 Sep 2017 12:13:28 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <223be6bf-510e-e34d-2359-c0f1becd5bad@solarflare.com> Content-Language: en-GB X-Originating-IP: [84.52.114.114] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23326.003 X-TM-AS-Result: No--10.535300-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1505294018-aC2vIsJQTTM5 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v3 1/2] ethdev: introduce Rx queue 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: , X-List-Received-Date: Wed, 13 Sep 2017 09:13:39 -0000 On 09/13/2017 11:49 AM, Andrew Rybchenko wrote: > On 09/13/2017 09:37 AM, Shahaf Shuler wrote: >> Introduce a new API to configure Rx offloads. >> >> In the new API, offloads are divided into per-port and per-queue >> offloads. The PMD reports capability for each of them. >> Offloads are enabled using the existing DEV_RX_OFFLOAD_* flags. >> To enable per-port offload, the offload should be set on both device >> configuration and queue configuration. To enable per-queue offload, the >> offloads can be set only on queue configuration. >> >> Applications should set the ignore_offload_bitfield bit on rxmode >> structure in order to move to the new API. >> >> The old Rx offloads API is kept for the meanwhile, in order to enable a >> smooth transition for PMDs and application to the new API. >> >> Signed-off-by: Shahaf Shuler >> --- >>   doc/guides/nics/features.rst  |  33 ++++---- >>   lib/librte_ether/rte_ethdev.c | 156 >> +++++++++++++++++++++++++++++++++---- >>   lib/librte_ether/rte_ethdev.h |  51 +++++++++++- >>   3 files changed, 210 insertions(+), 30 deletions(-) [snip] >> diff --git a/lib/librte_ether/rte_ethdev.c >> b/lib/librte_ether/rte_ethdev.c >> index 0597641ee..b3c10701e 100644 [snip] >> @@ -722,8 +800,20 @@ rte_eth_dev_configure(uint8_t port_id, uint16_t >> nb_rx_q, uint16_t nb_tx_q, >>           return -EBUSY; >>       } >>   +    /* >> +     * Convert between the offloads API to enable PMDs to support >> +     * only one of them. >> +     */ >> +    if ((dev_conf->rxmode.ignore_offload_bitfield == 0)) { >> +        rte_eth_convert_rx_offload_bitfield( >> +                &dev_conf->rxmode, &local_conf.rxmode.offloads); >> +    } else { >> + rte_eth_convert_rx_offloads(dev_conf->rxmode.offloads, >> +                        &local_conf.rxmode); > > Ignore flag is lost here and it will result in treating txq_flags as > the primary > information about offloads. It is important in the case of failsafe PMD. Sorry, I mean rxmode (not txq_flags). [snip]