From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 5D130A00E6 for ; Thu, 16 May 2019 14:13:16 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A661B5F22; Thu, 16 May 2019 14:13:15 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80055.outbound.protection.outlook.com [40.107.8.55]) by dpdk.org (Postfix) with ESMTP id 874E44CAB for ; Thu, 16 May 2019 14:13:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=en+zcn5uA/ZPTU7nVwkechS8P8DraD+gh7KLI5riQ1U=; b=OcmKgEH4J2cSyIU98sNaSDELnIc6fW7Bm3vnJu8tecc7gPOWFZQ+UsYSy0TLiNoSVlrJuqZUeagU1D7oFP8zHZB8r/z97xFalk574iNJKkbrL+kCwzl3s/+ZDLKQzdkm9/RHuq1Nh5aUfxQyIx6KDIJPkAsUQzQVZK/tw8MmmHc= Received: from VI1PR05MB4224.eurprd05.prod.outlook.com (52.133.12.13) by VI1PR05MB4942.eurprd05.prod.outlook.com (20.177.51.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.16; Thu, 16 May 2019 12:13:12 +0000 Received: from VI1PR05MB4224.eurprd05.prod.outlook.com ([fe80::486:d7a8:729f:b06c]) by VI1PR05MB4224.eurprd05.prod.outlook.com ([fe80::486:d7a8:729f:b06c%6]) with mapi id 15.20.1900.010; Thu, 16 May 2019 12:13:12 +0000 From: Dekel Peled To: Shahaf Shuler , Ori Kam , Yongseok Koh CC: "dev@dpdk.org" Thread-Topic: [RFC] net/mlx5: add support of LRO in MLX5 PMD Thread-Index: AdUKJbpmu9YzDYRuR/u5j5ozRiMx2wBupwnA Date: Thu, 16 May 2019 12:13:12 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=dekelp@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6a49281d-b5ae-40c6-cdcc-08d6d9f7de2b x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:VI1PR05MB4942; x-ms-traffictypediagnostic: VI1PR05MB4942: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0039C6E5C5 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39860400002)(366004)(136003)(376002)(346002)(199004)(189003)(14454004)(8936002)(33656002)(8676002)(2906002)(81166006)(81156014)(53936002)(7736002)(316002)(74316002)(99286004)(110136005)(7696005)(102836004)(478600001)(6506007)(76176011)(256004)(6116002)(790700001)(446003)(71190400001)(11346002)(14444005)(6436002)(71200400001)(476003)(3846002)(66066001)(86362001)(236005)(9686003)(54896002)(25786009)(55016002)(52536014)(66946007)(186003)(76116006)(73956011)(4326008)(66476007)(66556008)(68736007)(64756008)(66446008)(486006)(26005)(5660300002)(6636002)(6306002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB4942; H:VI1PR05MB4224.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: tYNZqsp827/UoAU7Zl3jL/RwZaTQjsY6u9nl/2goTs9Wnu5caO7ium8lX3oemr/6XMbeziavYCuE5u11SQ7W3qWSZAms6x6nxdHmyN0bR710cmSwJYPrE13k2+7+quafqzma1HsOHud1vjAYL0EXhFl+Nx8YT4sURFwKNQtG/s37XKDzQeNnqRnqofSf/lZAzIbREOxb6GeslUXPxtV3P8XHR4k9u0tY2+rjiSLUdSIiBnKViNX5lPinbR9cR2RUhiugTryfNXIUlnpSf26uHV6OXv8UalAw04ptjh89uUbXDkv/tsYq2qcGC9LFmXtDhrW4y52eJsmpSUJ6BPD4jTOM1w5VhjwbTUoX/0afhBUHDRLMdTcjGEgg+NFWezY+fuHwNpCYBPf0jXe43YEjX/wrKMXnFSFEEV67Lhhkp84= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a49281d-b5ae-40c6-cdcc-08d6d9f7de2b X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2019 12:13:12.6326 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB4942 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] [RFC] net/mlx5: add support of LRO in MLX5 PMD 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" Introduction: LRO (Large Receive Offload) is intended to reduce host CPU overhead when pr= ocessing Rx TCP packets. LRO works by aggregating multiple incoming packets from a single stream int= o a larger buffer, before they are passed higher up the networking stack. Thus reducing the number of pack= ets that have to be processed. Use: MLX5 PMD will query the HCA capabilities on initialization to check if LRO = is supported and can be used. LRO in MLX5 PMD is intended for use by applications using a relatively smal= l number of flows. LRO support can be enabled per port. Multiple simultaneous LRO sessions will be supported, using multiple RQs pe= r DPDK Rx queue. In each LRO session, packets of the same flow will be coalesced until one o= f the following occur: * Buffer size limit is exceeded. * Session timeout is exceeded. * Packet from a different flow is received on the same queue. When LRO session ends the coalesced packet is passed to the PMD, which will= update the header fields before passing the packet to the application. For efficient memory utilization, packets from all RQs will be stored in a = single RMP per DPDK Rx queue, utilizing MPRQ mechanism. Support of Non-LRO flows will not be impacted. Existing API: Offload capability DEV_RX_OFFLOAD_TCP_LRO will be used to indicate device s= upports LRO. testpmd command-line option "-enable-lro" will be used to request LRO featu= re enable on application start. testpmd rx_offload "tcp_lro" on or off will be used to request LRO feature = enable or disable during application runtime. Offload flag PKT_RX_LRO will be used. This flag can be set in Rx mbuf to in= dicate this is a LRO coalesced packet. New API: PMD configuration parameter lro_timeout_usec will be added. This parameter can be used by application to select LRO session timeout (in= microseconds). If this value is not specified, the minimal value supported by device will = be used. Comments are welcome. Signed-off-by: Dekel Peled = >