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 6F7CE1BB1C for ; Fri, 11 May 2018 09:08:02 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine 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-us4.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 6A5F38005E; Fri, 11 May 2018 07:08:00 +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; Fri, 11 May 2018 08:07:54 +0100 To: Ferruh Yigit , Thomas Monjalon , Shahaf Shuler , Wei Dai CC: "dev@dpdk.org" From: Andrew Rybchenko Message-ID: Date: Fri, 11 May 2018 10:07:50 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit 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-23836.003 X-TM-AS-Result: No--11.513400-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1526022481-9E6-a0jrbLRg Subject: [dpdk-dev] Rx/Tx offloads checks behaviour in 18.05 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: Fri, 11 May 2018 07:08:02 -0000 Hi all, I think that Rx/Tx offloads checks behaviour is inconsistent in next-net as of today. Consistency checks are removed from PMDs and substituted with error logs in ethdev. Basically application which is not switched to new offload API has no way to find out if, for example, Rx scatter is supported. Rx scatter offload was introduced in 17.11 to substitute corresponding flag in device Rx mode. Not updated application could try to enable Rx scatter on device configure and get failure if it is not supported.  Yes it is not fine-grained and it could be numerous reasons behind the configure failure. With 18.05 configure will pass and moreover hardware may be configured to do Rx scatter despite of no real support in PMD. Consequences could be really different from simply dropping scattered packet or delivery of truncated packets to spoiling of memory etc. Similar could happen with multi-segment packet on Tx. Application configures Tx queue without NOMULTISEG flag, TxQ setup passes (with error log that multi-segment is not supported, but it is just an error log) and application generates multi-segment packets which are simply truncated (if the first segment length is used as packet length on transmit) or garbage is sent (if total packet length is used, i.e. possible disclosure of security sensitive information since it could be data from neighbour packet). I think we have the following options: A. Rollback corresponding changes which remove checks from PMDs     (at least some PMDs will be not affected). B. Fail configure if unsupported offload is requested (all PMDs must be converted     in the release, so reporting of supported offloads must be correct) AND     add check that offloads requested on Tx queue level (derived from txq_flags)     are supported at least somewhere (i.e. tx_offload_capa) C. Describe the behaviour changes in release notes to try to make it at least     create for DPDK users. I don't like the option at all. Any other ideas? I would vote for B since it is a step forward and even if it makes some apps to fail I think it is better than consequences of missing checks. I'll make a patch for option B and test it meanwhile. Andrew