From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DA52EA0547; Tue, 15 Nov 2022 13:43:41 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8059140E03; Tue, 15 Nov 2022 13:43:41 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2050.outbound.protection.outlook.com [40.107.244.50]) by mails.dpdk.org (Postfix) with ESMTP id D8BA340DFD for ; Tue, 15 Nov 2022 13:43:39 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NyS1cGxfkkgZxhZQ4vsUh61y0DGpuYtS2eKmrwuKiOhIWKW3WFF1Hpux01ApUopZcXNhmH7Yzi548zjip+fuzGK2zye48gQcDlsiv235WKg6ILfGN/m8wdChh6sTrXSN6JkVTjYzfa53MFtAggGU0tlzbmJI4CuBEUmg82KRpr6EHU9KNLbB9hLxW9uSt4KD3/suany5hXkpgEVHgTeDHOCurqpjwEW7DTHCFm9BBI9dFqcEiHJ8xERbvj/JHxfycV4kmHbPLFu0AkhRheYQuEfA3/UAEX+SRYrNO/Rc5qGfzofWe1IwNvXotztpzUy7o+R8gxOeYJ09PjLoeQvsjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KH4QZCFYIaN0mbHfvSleZ6FTulNwxiEjwi3L0o3c0Hs=; b=FgmGyb98vF8FiIdAAkye/Mfa8MJcNFMtaaTDGW2lJvgCW8QzRdFMEPdwtz3agvWtU6kKO+iAyOlu/iTjtFWY+btol00QLcvMdTIfStOKmRsdrrapznr2hcJ3CHxXCvz3ML7S4P52FRjbmXqbAhkWMvi/0q6X5NF+DVSnRTZQp/9nFsXhOHD0ZDG7hQtH5jZV2YCk3AFUyxMpBuDuHVqmeBe4b6gm1i+S/jZjnKnHJnt94Ycer8vMy28Nuu7Vsl/2GQijezwFbTgicIeu5ryrmlb/4tchNP+maNKTY7Ug8c9F0wzzyGgsQCFN54VLmCqgDWOASVMWWGM0IEFMmgxD2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KH4QZCFYIaN0mbHfvSleZ6FTulNwxiEjwi3L0o3c0Hs=; b=qz/Vgg2CNEHXZbn3Rhqw3SjVZRUn+9sUblrSXvIjXD/vI4PKQZ4ndOZvx5txwg5XZcgkNGzEqlj9sJ74JfUpw8Ql2nrL19aZ7SSA6DoZmzmP4POyoKjzTkCwGK3jZOlwRHq1P4ww+Dvu9qV3qGqYuDiM/boawLOTdoCBaS4dhgk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by DM4PR12MB5069.namprd12.prod.outlook.com (2603:10b6:5:388::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.18; Tue, 15 Nov 2022 12:43:37 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::b482:d5bd:c7d0:3842]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::b482:d5bd:c7d0:3842%8]) with mapi id 15.20.5813.018; Tue, 15 Nov 2022 12:43:37 +0000 Message-ID: <40388ec7-c314-db18-8571-e29f1ab84e8a@amd.com> Date: Tue, 15 Nov 2022 12:43:31 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US To: Andrew Rybchenko , Aman Singh , Yuying Zhang Cc: dev@dpdk.org, Georgiy Levashov , Ivan Ilchenko References: <20221017144133.1899052-1-andrew.rybchenko@oktetlabs.ru> <20221111090423.1600091-1-andrew.rybchenko@oktetlabs.ru> <20221111090423.1600091-3-andrew.rybchenko@oktetlabs.ru> From: Ferruh Yigit Subject: Re: [PATCH v3 2/2] app/testpmd: support TCP TSO in Tx only mode In-Reply-To: <20221111090423.1600091-3-andrew.rybchenko@oktetlabs.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO2P265CA0003.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:62::15) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|DM4PR12MB5069:EE_ X-MS-Office365-Filtering-Correlation-Id: f3f109ac-97f7-4476-66b6-08dac70703b9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2jqBR65Zi1iofNEzzACtwf2PuUK6b3FKqgQsh9mo0CGkx0PKAMo/L4Uu0Vh6Giq6HPpsFtRijb9Lq4wnpsg+81ZRtkj+M7xDwoOSUtRyVyJx6HIttGHXyi6FnDNa+0LGOHcB5yXOjcsDeLTE89jPIPBFL4imQsMoYfS0ULCMMYbepJlCK0XCcWVMzeQIbjoGSiDILgg3fpzmMHNQRk7AmmKjlj9L+4ziltz7vzHQeSoHymDhGrNXP2xPjRBN7+8Ti/v5AFDl2R3HHVHCZTyaxgmwUBryhbd7fZfSmJ9mBlEdoQPokz3+V3nMmJf41cZ60gyuBFLNhy21EvkL6j4jbqZEjsCN69SSw0v+wOddmgoQ3qxvIj9Q81mNvCx+PdVreLQ40vLLoaJC/BrDchHHvJh3rUbptDKQ4bAQNixrmF7qs823e2SKgY9fx9o3x1v7mwA0iQKG7zaZMh3LmMBb5lsaATCyCpOnXcXg1gzuMqB5bjfNPv1fPT43r6B3p+i80lhpBWL3KB+/o6qAJeM2Xm4DE9NMku0RTz1DZpDmfYAQESZJ8eIjtPGuNkqHioCdGWIwS8LRizu1q1lbgXbDq66UKixukx/Hw7qv21h0XE2XZrPTIV0pSItvsPs0kjyD2MuO7bclCWPWM4PpEk8TG5n/k/vkS1uNfHSjc4RNQSOMJGSMzibuNoN1TKRxOrHUfe4BV9vkEdiT011s2vetyKP7Jp4j/R+/wCqYklamEHQuy4RBojldn7dr3a71V1Gzo3SNEUQD3M3RPer9m+ZDaet+yVPg9DKCvMQl74p7ipI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(136003)(39860400002)(346002)(396003)(366004)(451199015)(83380400001)(26005)(6512007)(478600001)(53546011)(186003)(2616005)(6666004)(6506007)(86362001)(31696002)(38100700002)(36756003)(8936002)(31686004)(41300700001)(2906002)(5660300002)(44832011)(110136005)(54906003)(6486002)(4326008)(8676002)(316002)(66556008)(66476007)(66946007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bVllYkFTUFNsVGlpMnRKVjBDQ1pGbEhaSEhkWXZCSUtjbG9TYkFsWGhESEdC?= =?utf-8?B?Y1VvbktqL1NRK2gxRmdQa2ppa1NzQ0ZNQmdpcGM1TUVublZ0dWdFelpMbUFC?= =?utf-8?B?Q2VXMlhhbFAvQzkxOUF1bW9Sb1Q2SjlJYjRXR3FKOXN3em9mZXFmSUdyc01m?= =?utf-8?B?SVk3eVhxdHY3NGZpVmdMWkpsTThncDRiVEFXUlU0VEttSzU2Y0tKQjlkZHQ4?= =?utf-8?B?czNQa3QwWElnRXNEU2FFK3BtajVxQUROZjJNUUYycEJTaGkzNEhVYllDVENM?= =?utf-8?B?VkhScmxsNVFJK2hFbEJqMWRnYWFRNHNVNHhFd3dLQW1uK041dElQVlJaaHh0?= =?utf-8?B?cVJDeWxJajRVTkg5K0t6SVVJdjg2UWpQOEI2dUh0N2p1LzRGU1psMlVWdHhu?= =?utf-8?B?cnVYOHhQa0xqNVVFUVp1MU9XVG9lWVZkY2l1Q0toNElCeUF6cG1mazFMVlli?= =?utf-8?B?WW45aDR4WjhYMUNMT0RndGt6MDFHY1BpQ3A3QkVRbjJPU0U0eTh2ZWdqNzBl?= =?utf-8?B?VHJFd0Rwa0lnQXgwN3ora1Fpc3BhUGJaZkJ6cGVieGhNRzl5cnh2R2ZZODZJ?= =?utf-8?B?MllhTmlHSm9iR1NOQk13ZURCWlBNZTErTzJvWjZOWlBoQ0daK2FBdFF5SW5y?= =?utf-8?B?aE9KRUN0WUV2Z3RMMWhpTzAwNVcvd2xiczlvaVBhb1JMSTZqc1dsRGxaT1do?= =?utf-8?B?UkFvVi9vUVZIMlNsM1JSWnQ4OW93MW1Qb3hobUlOWStFcTcybjc1Z3I0Y3N6?= =?utf-8?B?RktYQURmMGdMeHQ3bWFzSGQ5Q3kyK1FMWnliNXdaUEJpNlFwemkrVnlkL2Ev?= =?utf-8?B?OVRtWG5JU1c1am5mQ1k2VE5xY0JQS1BXMnIrMVc1QlVyU3E0ZTNmMm5nMjZz?= =?utf-8?B?UnNxeExVbkhjeWFHSWZjRFZnRHlFVStFK3cwZ3plai9ST2VGem5EZVZ6MXdE?= =?utf-8?B?SlNSQ0dFK1loYnhQNjdxRzdhblVQTkhYdnR4Y1dqeStoYTRCd3NVNjVvVUd6?= =?utf-8?B?VmZvR0FINjNwQWFyOUdXN25SSGs0NjJOWkhEVmQyUXhRRlp5WklmclJ2dXpJ?= =?utf-8?B?NXRaTHNSd1pqeGZ6RlhHelJXSFNCVmhwWHFIKytCaVVnYWRNOXFIeXZVUWhX?= =?utf-8?B?ZFhieHNXS0dyZGQzRnBEVEh3dkZkUDZXMlNhR3BJVHpYVGV2QWRGY2lvVTNm?= =?utf-8?B?S0UybEhaa2hXZW04bTR1T2tpWTZtTlZiSUtBNnNLRHA1QW1nd1RxeVNRa0ph?= =?utf-8?B?YmtrckluZlQ4R0xxcHMxaDBUVUFqcUlIMXRxY0lrei9HSWJuN080QS9XeE4y?= =?utf-8?B?K3l4QW0zU21EdzRIYUR6ZEN1bXFJc0ZXclQ5VjZlRndLU3I0QUpQMGJ1ODhq?= =?utf-8?B?SnNrWUpMeUdaTEt5RWtvRURHVWZidmcvdStodkhSdHpBN0VWU3p6N3IwS2Z3?= =?utf-8?B?UTlHaHR3dmFMQWhkNWRieWdpM0duZnUxQ2ZBcGNiZU5DVVluL2tqQnRqRFh5?= =?utf-8?B?d2xzdlFYRFdpbktINDlmeWljT0NBYnh6UVNBMDBnZHM2bk9qZ0xiS3hxcEh6?= =?utf-8?B?NWtYd2YxRG5sZHRSdFFWTmhFQ0Z1SHNHODNJWWZTK1g2Y1FBSFdKSUNwYWQ4?= =?utf-8?B?ckYyYVcvMVVSREV2U1M4a2tNUnpTZzJVY3U4VmJRYjJCQmMvZWE4M1JLYXF4?= =?utf-8?B?OFM3YXV4SGtnUldTeGFnaGh5b3l1WktTYmorWVp1K202M3EzTk5QRGhhckNI?= =?utf-8?B?QlRBYXVxbzVTdWR1UVFYWUV6RUxjVDFZR1BFRi9nY0JudDlBWFZOUmRnZjJk?= =?utf-8?B?MnhIZzYvQ3I0NjJGY1RLSVVTWmR3V2FuR0Z6UkJ3SmxEMWFUbkZobnhJNTJu?= =?utf-8?B?VjB5azRKckpSMzhsVElodzlzWWZialZ5NFRFcGFzY1UrUWZtNFdSY3FYM1FS?= =?utf-8?B?amtuaER6UGNqcXhQQTNxTFVOUlhLTjh1YnNxeDUwakFkWWFYYzhiaWR6MXdR?= =?utf-8?B?Q1Z4c29uamtBakp4aGhuay9SQmE4aTZ0YUJ1SWpxNkdid08vSDhwV3dUeTl5?= =?utf-8?B?cHdxanI2S0FMRFJIcGd1aFFzZDlxRDJ6QUVYU1dBT280U0VOSC9zN2pVek5k?= =?utf-8?Q?fTmIBxq8dCF/TapGH4ZM284s7?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: f3f109ac-97f7-4476-66b6-08dac70703b9 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2022 12:43:37.0182 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EBZwTH9GNgANDvie87idSxo8Uz6Z5Q86hmGBg6lmEAIFjVKM57Qm9GIsSbTs+Kro X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5069 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 11/11/2022 9:04 AM, Andrew Rybchenko wrote: > @@ -459,11 +486,16 @@ tx_only_begin(portid_t pi) > { > uint16_t pkt_hdr_len, pkt_data_len; > int dynf; > - uint8_t ip_proto = IPPROTO_UDP; > + uint8_t ip_proto; > > pkt_hdr_len = (uint16_t)(sizeof(struct rte_ether_hdr) + > sizeof(struct rte_ipv4_hdr)); > + > + ip_proto = txonly_tso_segsz > 0 ? IPPROTO_TCP : IPPROTO_UDP; Instead of detecting protocol via txonly_tso_segsz, what about introducing '--tx-tcp' and use it? I put some more comment to have tcp specific parameters in prev version of the patch. As far as I understand, '--tx-udp'/'--tx-tcp' parameters are optional, that is why to detect protocol we can: a) Use UDP by default if '--tx-udp'/'--tx-tcp' not provided b) Have another argument to set protocol explicitly, something like '--tx-proto='. In this case it is better to have '--tx-udp'/'--tx-tcp' parameter as '--tx-l4-port', because otherwise protocol information will be duplicated (need to check against '--tx-proto=txp --tx-udp' etc..). I think both of us think it is not good idea to change existing parameter name, that is why I prefer option a) above, what do you think? > switch (ip_proto) { > + case IPPROTO_TCP: > + pkt_hdr_len += sizeof(struct rte_tcp_hdr); > + break; > case IPPROTO_UDP: > pkt_hdr_len += sizeof(struct rte_udp_hdr); > break;