From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01hn0246.outbound.protection.outlook.com [104.47.1.246]) by dpdk.org (Postfix) with ESMTP id A231B1BA2C for ; Tue, 10 Apr 2018 00:33:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=oRsPaHttG6M+YtVVphGqRnfI+6HAQZiFXEyJighOpbA=; b=e4ZMJ0AQ9+R/7LOJV40AezOVp/DHNrz+mAuRPHTzpq86XpMzalKxSjxVzavlFnZX12evLlRxKg7DkgEB5v8OVLkzLTVxrWUJOmT16QxsQLOiWWgdhquufZZGTwTPMHRXrX8TQMgL5R4oTD9KRzZyK0znArvveTdYdfJEcniYwV8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ophirmu@mellanox.com; Received: from mellanox.com (37.142.13.130) by DB6PR0501MB2309.eurprd05.prod.outlook.com (2603:10a6:4:4c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.653.12; Mon, 9 Apr 2018 22:33:30 +0000 From: Ophir Munk To: dev@dpdk.org, Pascal Mazon Cc: Thomas Monjalon , Olga Shern , Ophir Munk Date: Mon, 9 Apr 2018 22:33:10 +0000 Message-Id: <1523313192-18048-1-git-send-email-ophirmu@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1520629826-23055-2-git-send-email-ophirmu@mellanox.com> References: <1520629826-23055-2-git-send-email-ophirmu@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: DB6P190CA0010.EURP190.PROD.OUTLOOK.COM (2603:10a6:6:2f::23) To DB6PR0501MB2309.eurprd05.prod.outlook.com (2603:10a6:4:4c::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f4654358-b233-4736-184b-08d59e69ebf9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DB6PR0501MB2309; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2309; 3:I11MUFzuHu5+Hd44AF3Ye05Aj+tqEUdkuV0cpxBOacNUiuYZ/9cS7Iwm39M1XI1D99BsttjQNA8GFg+Fy3JS8gCoNiH8VZ+lfVmbhC0QcQNq8zSwQI0716v3/dg6Nskfk7Ya8lhPMg+kucLc/sef6AkHX1g1rGcA+vWPP2+0UZ9DHmdc5BRKXN3JXqjOzDWLEntro2GI9kU4bHqNxQYmHHSLw7lmZqZLy/G7SzPsVTJggANg84eccmDF7HaLBNA4; 25:Mcie0JumdfJDhVZRDyQhioTDo8JdG00vi7gRzoWovtkD2A4HfXyv6NtP6lYLALVt6lpxD3JuCK4BhinS38ygsTw4JZKnVPNoyLH65R4Eyupcm6V7sw0OGhG+cGfd/oPUS8c4DCPeahO6O3LNLZxIPRDFlvc4d/SamKIvDYQBiJY8wWEp6N4zxigxlhVa857FY+tkcXPi0dtRxVpckv479cU0raSAM8OtUGaC5a0SqQODDm67dOXQTq6QzLIkVH8mWvyJh/2KngdrrskIF9HprdB22gBiUGJA/lAr47Xyv5x+dEInahL2Q0FVMZkg6XHEtkSxJ8HhtFiotalvmb4gjw==; 31:W2h30aWAFUf6BF2iZQAz2GgCWr5c3q8nmkUKNpEy7QftTMJdBJCOur8WcBlo1YUMowroMO3WhQyGml/B7ijI0VZDRwl9RLbeZ1AtX2bP4BVTlvVDuB72SvrJ4PV0xgb6k07t/rgx3sf1qSSFPvyTE6LW+w37iQcKH++HWLsQ3Uh2fCCRZdjFI8/SPCvPT4vR2zpAbEQN4baEztMqiaRA0VoyfLQ2FA+4+IythqXO1ks= X-MS-TrafficTypeDiagnostic: DB6PR0501MB2309:|DB6PR0501MB2309: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2309; 20:8oKrwl+BDb1+Q4dTRb4dT+0JBES+h9zs5Xj6R6ywRQG6NPg77xkMYf5tG1PlmyOwbILiZxYvzVjboa/ZtTfcT85UZodzw3H/LLYo8pV+IZuILPDPRljmMZHIux6CFUEyQwgFcz4yMfJ8bH0xwKPFHZ0+NOtffe+SOwATAZylUU9laJwv80Pgof0N3Vk6w6gVjAwuZC0uPsFrYj8aeX5+fmkXKATVCp4OGVmbXfxBVe5VnlY8DSv2g1KB7kPZBAzDQw9lixln4gqqBm1119/DRqkOxYd0YojxlFmtydbJ60SnCLWKMwE9ikj5lhWJQvM0aWqGX+zbq8xl1ag1OI6ODbyM6KlVVj/pCgZgYj1JlexO7QEJO4D1AWjSaR3cOz2Xa+Ocr6N7WPOYfLD1RmLldAbovXqWPZecOc7xB+F8rjfcg/mVKEka88UwLW2oaaU6wtD4xgQbJQoIwaHWi56bEjDcAHG/GcraWIwJ5gXBEUQKLYjfMdSxlQa3v4gQlS3x; 4:dlFRT7dAaypDk09PMIXAu9gM1S5s4/4bLZtR/AdbB+wKWDGFOhR0roBzkV3FkVcrmKSA7eR4wfUqhq4JEvmDizc0CEcXi2oneUx8nM1IS/DE9oVTW2A6qoD0lhtNHnxAtR9y4hVjvjXQYxjkWW6Wfla59b86LRxTN8ycrv7nfZ4HT3xZ9CxMOak//O+R2l1C8ny2y+SCbtipfc8RozlC+pzieDzVvwvX6D/d53vDmCMDADBTS/LMQPdrOoRS/Hz5SvGwejZfkYmLumhDzjW3X5udj9I1lFNyeL5KY65Bdv4wAe3mP8PAZ2cu1u5cHQ0d X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(66839620246622); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231221)(2232076)(944501327)(52105095)(93006095)(93001095)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(6072148)(201708071742011); SRVR:DB6PR0501MB2309; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0501MB2309; X-Forefront-PRVS: 0637FCE711 X-Forefront-Antispam-Report: SFV:SPM; SFS:(10009020)(366004)(376002)(346002)(396003)(39380400002)(39860400002)(189003)(199004)(478600001)(81156014)(33026002)(21086003)(68736007)(51416003)(81166006)(7696005)(52116002)(476003)(486006)(386003)(50466002)(11346002)(66066001)(8676002)(47776003)(55016002)(105586002)(76176011)(48376002)(106356001)(2906002)(53936002)(2616005)(16526019)(7736002)(956004)(86362001)(446003)(186003)(97736004)(4326008)(107886003)(305945005)(8936002)(69596002)(50226002)(5660300001)(16586007)(25786009)(6916009)(6666003)(4720700003)(316002)(54906003)(3846002)(26005)(6116002)(36756003)(59010400001); DIR:OUT; SFP:1501; SCL:5; SRVR:DB6PR0501MB2309; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0501MB2309; 23:rBdGXoOevw6ZoHuFt7LniUm3ry4QSDa+SwfCaC5?= =?us-ascii?Q?nBHtBzrE6k+e7lMBKXN81coPvluX1GeRNI0ysQqR4HxsmtujiCi+V6yIM5lu?= =?us-ascii?Q?7CwAPj4MsXBCJnEElvF9lc6LdoS3rxIIxYpzYvYy+Pc+3s7Yf7fVVB5PzuhY?= =?us-ascii?Q?amKVIya1RpCEV5f9KwG7+Pn03zCRuV7WFsLewkXc7zej9zKtKnGLUNgkNfJP?= =?us-ascii?Q?I20noTgH4nWgHHWeagbJR9GlK0bH0KYgwvtiXUoRTqAJJumA79UyOOkNL8jf?= =?us-ascii?Q?B+2o/M2AlKtM1q7p1BTAWZ5DCN9VKvfXZg3QmOzaZQ2NATlpwciB50r07rLw?= =?us-ascii?Q?9FBt1gcSnh77c3chEw1VFGnH+FRBwrZUYGbeV1Jg2sL7W3sEaxEKu8/mPsEl?= =?us-ascii?Q?iaY4VSSG4+IdgUuM258oQjDorkOALTToWvp4Fduq2OYJqP9tX4yDcGKg/mbT?= =?us-ascii?Q?MFJwcy5XlIyiiTn7xrMwYpGv+cR5YET+VHEceO7Ckw84z4L/wJbKrsUhM1nW?= =?us-ascii?Q?S2lkbz4eIVYvM8CrY1vQdE2QL3TbbgSsq60/jJbH6Y3U9kM0MHbi4CsUl9sH?= =?us-ascii?Q?3Btx8NXiLOfeaZgA6mgBDJQWtEshw+0ygR++BouQ6HboyY/SpYaqWrW2cF3Y?= =?us-ascii?Q?PcnEzpSWb8eo3X/8rPjAlRa2BkV69PVrmTFK4qWemiSSIs+aXPYvzIYrfNWb?= =?us-ascii?Q?0/FTJ07aZFu84U5HZF4lbVq0XRZkSFkG9akLQx5FW3Ic9jcHWxVRpmouFgxj?= =?us-ascii?Q?Er2UNNUpxckkIqL7srCiWKMmvLGEVf/Y78fA6oH60iq0lO8/ndTDNc0WPGjs?= =?us-ascii?Q?tiWb598mwuiYpcoG1WWl2aOSuo3gPOXNklNWxEGY1wE1DCyaHgTQrAfQvNwf?= =?us-ascii?Q?xcKBMp9KDthTcZaZTTM53VvuC9tWIFQIN5BCBlL1DK8CIXKhZWbsFyvxT/5s?= =?us-ascii?Q?yWZhCK2EjLTApsnQ+LDIoIkqZH2UzlwKNjD9YeZMDv8yLi/TqXXJHcSSXzqU?= =?us-ascii?Q?QH2lZ06Vy4COEgqFpD+DNMfTLo/tn7hW/3J4XB+AnvsWsi3zmsWRuOZ3dyej?= =?us-ascii?Q?mPccyRVSBMTg3LGLSKB5SaGz25h94TmKTeEuFrJpEN0d/T4TdqouQtGL5WHq?= =?us-ascii?Q?M6eNK91aZojsTRukMFul7cV2cA+n8Wq3ZwB5xmMV7i0vutUkrF+sRNM8wipq?= =?us-ascii?Q?or4G9g7BvJ0yNEt/bcdp/ImgQ2XmF/pIEVlOMA0U9Y5KFxVJ7r0VHMtayoND?= =?us-ascii?Q?JswTrWIbzt4Uw/iZBoskHzw+BTsNnbEEF1WCCxA3JofnNCQQKadYfP4z1+Ld?= =?us-ascii?Q?+VPCTlVCKabBhFReDuVgr1sXmd4OoeBSnKo+dBJdm1bX+nBB3w7hTnbnryq0?= =?us-ascii?Q?EOZ+gug=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2309; 23:A4zoaNW7mL4gxwallFXGERrhH7gUqqFztiG4qY5RmeREqqQVYEOBYRTPvobT0stDWlgNC1TrB9ObSzZT+MlET0Xc0H2TnJCksN9i2dv9mtFNuhxALnnmYWAEwf83xtxU8EW0HVVpDGxiC5FbbmKPEw==; 6:9lNLQxZVcJTYQ5W7lQBxOXIR0K+HWwTy3bF/SDZuoGlHp270q0UxWKKu2YpdtglosnyRh2h34TbE1uQ6Pw5SAismtegISZ2f0CL9MjTAhR0YsLu/Bvlb9B3PEEvUrw+8j01Hv1T2g+jjdoqDimnbNCVX3TW2Y+2EEDY6gOQoQKT0ksjyYCRI496N4NAn+92u8Jz+CG8SYe0KXanbFusw0bF9oc6PqPQg1NV2cNQwVlHaSbepfhN4VtPcNrS5zVwBmD3U6mgLixPEUIkLpphnU4nJw/Qxr+8o4hjdzNWLH8J1tDj4jciPIdy5o+Pb17jxBID5CHB7hS89fQAfhXCjAzrQ0XW7qq8srFY9PksrR3nIjGJG+fN7bzT/MVNGl3HSqv8H/Htuo0wMRC49znF9fTsXXqOjFwOd8LKmThTqT21ZIe531TldDPbWEYw5Yt9ideLKaSHfrEk91f4+lgf6Cd2cmIZrmX881NAIK9YuC1rFHBwrOeO/GCt5d3zc1LnV; 5:+RexRcJT1VbH+V+FovXxn5wKbwsUGxbLAIW7jF2H+BKmmVSv7MxqI8n+XKFRIfVRQ4f4KOHZwjcm3BZmTCgZuMT2qoM1yXNsF9KMhPw+kHnON+yL806vkuVL/Q9qiVqHTsjkrWM0Fne9rW62KE0csNkvr/ctJ8X7i2HGaLSap8k= X-Microsoft-Antispam-Message-Info: JXFWzDaqSICErkbaeEE0Zctob0VlFPPJz1B5fRT7Ac1DbS/+N4ZdjE4S8OAf30DS0GgHrLZYVAawcvY7QO/vMr2aZAORtfQRyEqcwZu19cvDCpN+vmfVditLF0hqZNzeUEpuwrL83kixArVehExJgLx69s5pv/gbvBakahlb5Yd/lW8YMmkoYhjXMP9dlIBdXRed7szDCTkg0wZAkHUuBAh9RKHUBEdNBvn9Tcd8f1tJNCGnAxR9jW0velgbFni7Zv5S04Wvi/Yti0xfGocFib8UB2j3LZer493b6p0QCRlPmISDBuBNREUzQYin2BDd38am23OrJujPLvuZs4qU8rkZBfjbgbUYLzW0/Zapz1ruzK06VMe81fSpA2+8/sHv75j3yIWD+Bfoxk6+4ARU4KFTZFikrpL67Q+g2Weka/74voRb5tkQlOz1Yr4+Pv9RhPpeo4s3HKzesiBxtrflPGPS2GciEKgGFJSr0xxdtB6DP5mixhh/CO/Gxhy8i+3A9lYGTvimfGyGpdb8cVfhD+mEJgaiHcQkZ50xCW7j3AA= SpamDiagnosticOutput: 1:22 X-Microsoft-Exchange-Diagnostics: 1; DB6PR0501MB2309; 7:TcRFuFLQTY7NgTkUIcg/wfb4LyY1ZJoOmXjqLV+/mPaaNOBL0WRQnaWY+RO4Evt+mpVJ6LDjGFJ1L3er1vX7TL6KZGunpwL9ulgLcvriOdvby887hCHGM4BEuAhy0TpyvNq0DS70EuBF8I+lh/3C6ozSZDWeFhVuyYrFzzyMoIfAiBnlfq+KIK5oGqkX0ho9PVzE2qeFo9pnWcu+Wv8RUoMkOH4yNOB9Q14dqHIK3/+2pmKr00esya8EqpIsCe86 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2018 22:33:30.2080 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f4654358-b233-4736-184b-08d59e69ebf9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2309 Subject: [dpdk-dev] [PATCH v1 0/2] TAP TSO 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: Mon, 09 Apr 2018 22:33:41 -0000 This patch implements TAP TSO (TSP segmentation offload) in SW. It uses dpdk library librte_gso. Dpdk librte_gso library segments large TCP payloads (e.g. 64K bytes) into smaller size buffers. By supporting TSO offload capability in software a TAP device can be used as a failsafe sub device and be paired with another PCI device which supports TSO capability in HW. This patch includes 2 commits: 1. Calculation of IP/TCP/UDP checksums for multi segments packets. Previously checksum offload was skipped if the number of packet segments was greater than 1. This commit removes this limitation. It is required before supporting TAP TSO since the generated TCP TSO may be composed of two segments where the first segment includes all headers up to layer 4 with their calculated checksums (it is librte_gso way of building TCP segments) 2. TAP TSO implementation: calling rte_gso_segment() to segment large TCP packets. This commits creates of a small private mbuf pool in TAP PMD required by librte_gso. The number of buffers will be 64 - each of 128 bytes length. Ophir Munk (2): net/tap: calculate checksums of multi segs packets net/tap: support TSO (TCP Segment Offload) drivers/net/tap/Makefile | 2 +- drivers/net/tap/rte_eth_tap.c | 205 ++++++++++++++++++++++++++++++++++-------- drivers/net/tap/rte_eth_tap.h | 4 + mk/rte.app.mk | 4 +- 4 files changed, 174 insertions(+), 41 deletions(-) -- 2.7.4