get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/115566/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 115566,
    "url": "https://patches.dpdk.org/api/patches/115566/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/BL3PR11MB64355C235C730E6B6E2C5AABC6759@BL3PR11MB6435.namprd11.prod.outlook.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<BL3PR11MB64355C235C730E6B6E2C5AABC6759@BL3PR11MB6435.namprd11.prod.outlook.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/BL3PR11MB64355C235C730E6B6E2C5AABC6759@BL3PR11MB6435.namprd11.prod.outlook.com",
    "date": "2022-08-26T14:37:16",
    "name": "[1/2] net/iavf: enable TSO offloading for tunnel cases",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "3dff80d45cacc950b748d500367cb07c4ca3a1e8",
    "submitter": {
        "id": 2548,
        "url": "https://patches.dpdk.org/api/people/2548/?format=api",
        "name": "Buckley, Daniel M",
        "email": "daniel.m.buckley@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "https://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/BL3PR11MB64355C235C730E6B6E2C5AABC6759@BL3PR11MB6435.namprd11.prod.outlook.com/mbox/",
    "series": [
        {
            "id": 24436,
            "url": "https://patches.dpdk.org/api/series/24436/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=24436",
            "date": "2022-08-26T14:37:16",
            "name": "[1/2] net/iavf: enable TSO offloading for tunnel cases",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/24436/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/115566/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/115566/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id DBB97A0542;\n\tMon, 29 Aug 2022 09:02:23 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 2815E4281B;\n\tMon, 29 Aug 2022 09:02:03 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by mails.dpdk.org (Postfix) with ESMTP id 27AFC40143\n for <dev@dpdk.org>; Fri, 26 Aug 2022 16:37:22 +0200 (CEST)",
            "from fmsmga006.fm.intel.com ([10.253.24.20])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 26 Aug 2022 07:37:22 -0700",
            "from orsmsx601.amr.corp.intel.com ([10.22.229.14])\n by fmsmga006.fm.intel.com with ESMTP; 26 Aug 2022 07:37:21 -0700",
            "from orsmsx612.amr.corp.intel.com (10.22.229.25) by\n ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.1.2375.31; Fri, 26 Aug 2022 07:37:21 -0700",
            "from orsmsx602.amr.corp.intel.com (10.22.229.15) by\n ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.1.2375.31; Fri, 26 Aug 2022 07:37:20 -0700",
            "from orsedg603.ED.cps.intel.com (10.7.248.4) by\n orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.1.2375.31 via Frontend Transport; Fri, 26 Aug 2022 07:37:20 -0700",
            "from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.106)\n by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.1.2375.31; Fri, 26 Aug 2022 07:37:19 -0700",
            "from BL3PR11MB6435.namprd11.prod.outlook.com (2603:10b6:208:3bb::9)\n by BN9PR11MB5433.namprd11.prod.outlook.com (2603:10b6:408:11e::13)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug\n 2022 14:37:16 +0000",
            "from BL3PR11MB6435.namprd11.prod.outlook.com\n ([fe80::8d62:bf63:e496:8fd0]) by BL3PR11MB6435.namprd11.prod.outlook.com\n ([fe80::8d62:bf63:e496:8fd0%2]) with mapi id 15.20.5566.015; Fri, 26 Aug 2022\n 14:37:16 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1661524643; x=1693060643;\n h=from:to:subject:date:message-id:mime-version;\n bh=8spy95Bklp5JxylX4Gq4UTVkjBsWvfs4dQbHjDA8GWE=;\n b=ggq0kT/XNH0NOlH4Dia9yWW7/tGuax8VS5UWDd3FQnQwTbXETZ+HCYKU\n kVNWuvJg5eXAX6OuEJFDYYaIg0dv3Q2wIMJaWoLS49NtM3urP+9ByNf+X\n /G+xRNTIgxyQ78xCci6fJ1KGAu+h2/s/IthmRQEvMGyhHBbnBjqdsyrKQ\n zLdJrWfOyLXXkKLyVkuP718yHB9xx5aAbnySdEVj5C8wQDts1tISmTqlS\n Po8yCFeUlV5xHrIuls0xtaKEkFxoUpvlCtctwWwf6ZwQBSRvRC0WvtZ1V\n ktb9O2WA+N6JaBUxcVpGck39WZraH/SZVvLkcnbcppQj1jK1f5p4lH7gN A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6500,9779,10451\"; a=\"277531315\"",
            "E=Sophos;i=\"5.93,265,1654585200\";\n d=\"scan'208,217,223\";a=\"277531315\"",
            "E=Sophos;i=\"5.93,265,1654585200\";\n d=\"scan'208,217,223\";a=\"856031480\""
        ],
        "X-ExtLoop1": "1",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=l/B8ROgglcC0lg8fRO1og5u0QuUa2yS6eJcFPPqWxTfxgRx8d20Fqw3U/9KxXrgWlQGDi9TYjjsB+O2t3iR3finX+OBKMOj/E1NQimT4dlDzW04reNSCLwNUFjR+VRGipd4+GOCTQqPqdCaChW9EPXFXLoSX1JoaHo793bc/WDVE8LZZyapvCiKD9Dy14w3nTrLFuYCRn57i/HoIDKf8wKSL3AXGcPUZFozhD0YelbqvFuWVz7uqebVkyZAMK8rL/UTIrEDsHF4TN/oNByIMclKUexUFHnov+hhRLHB9JIRY6Jh6sDJaOehNRTDb1aZGq7RkwrnUMsGjZFKBJZnFVQ==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n 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;\n bh=NWeZ+nupSlirDk2I90YYByXiXecku+jO5p7RhHmp4jk=;\n b=E17ZWQpGg0u/PtUM4GjD0gWGUrMBCUgIdQQy4Xyz1kMBq8MrQ1GiitgTT22lZuLA+XO2ZhVUdwqd0umsbdRPRHn0NQX84USol8SYG7kKK5xTzl9lfnplFEG6M54d0g5G2M4U0CV8XNhFbRXWXDqJGyVXk2IIwLTcVnwTb0QSL6FmU9odYIroJUCGHTlxPYKVD8zjs/5Eq1yRR33H+sBO0ML9WMxkYoxc1NrcKlNCY3vT4/rPLIlO9GlYO5S6YHB3XZcdR/Y0JzolRjnzA6Ql4UslwNavhzCBu6gQZmtO0WX2Ow1eYF5tucs/q3EqtSiY0NnQ65ysU6Nk7yE1zMNPGA==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none",
        "From": "\"Buckley, Daniel M\" <daniel.m.buckley@intel.com>",
        "To": "\"Jiang, YuX\" <yux.jiang@intel.com>, \"dev@dpdk.org\" <dev@dpdk.org>",
        "Subject": "[PATCH 1/2] net/iavf: enable TSO offloading for tunnel cases",
        "Thread-Topic": "[PATCH 1/2] net/iavf: enable TSO offloading for tunnel cases",
        "Thread-Index": "AQHYuViZ4EurakFSWUW1jKeNObjH5Q==",
        "Date": "Fri, 26 Aug 2022 14:37:16 +0000",
        "Message-ID": "\n <BL3PR11MB64355C235C730E6B6E2C5AABC6759@BL3PR11MB6435.namprd11.prod.outlook.com>",
        "Accept-Language": "en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "msip_labels": "",
        "authentication-results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;",
        "x-ms-publictraffictype": "Email",
        "x-ms-office365-filtering-correlation-id": "5ff34425-7e23-48e3-a8ce-08da8770793c",
        "x-ms-traffictypediagnostic": "BN9PR11MB5433:EE_",
        "x-ms-exchange-senderadcheck": "1",
        "x-ms-exchange-antispam-relay": "0",
        "x-microsoft-antispam": "BCL:0;",
        "x-microsoft-antispam-message-info": "\n zD6b6wQHIEFQEhcDvbGSewTYMcSv5CVEAurG3JA5EolackNMiiEjE2q7MTMyapU1pEeXczfq4qIZOhe6XOMv4WbXJmYCKnADoPBeeNe/ug6CceZUrKZg8IXsv+7Y9cZ4ycKNQZYMsR8F8rJ4fzAOxd2oBZG33gYlI2rJVnpw1Yt+X5sZ7mETc5jC+lxZ35bdcXAR1bOM/1zrOPLv37YCTpXIg/BCxru76f5l8P9moVAGglueCRCaiy3wjyfKwTMtVr0efsB/n5SUU0+muMJzowudJ6bFYgECgDWBtpyAFTCnnxRCw0ACiNRB/P/4aulrXI8kqKS0jhhEogLJecEesry/BeAldoPW/wJ+mplUIbqq/+1Lv+qS7IF2r5fnLbp/mvODocqWKgbVqn61ceDkddmtWNyjd0Bvnc9Q0yeM3quRv1tbTHPOcve8c5QpeFb05BlaWQ0B+LWwOw1K1mS56R2dESPog8lYzyI68DUILUer+UMJLICEh+moBavp4n7eLxJa4psGDO/Z5C97j2p75GAvJ7EH5TyeGu6fMZrBVAataZ636MIikOsxmd8ysQDDZKyUItNt8UvAcPULo/Gs9wWXNJMJZW/d0VI3zxNvpiXGbFYOCfg9CoUVkg2/0z7AC0JaAPu6Cd56eRpwUtEGSvjU05k9MahYJW7W9MYAhaym45c7s7N7nJYpJIZC1LoXusJNUGA2DWGWYG1rQo0WoJb56qTr0Kap1tz2wE/CUro+HxjtbHvtSlFMnFthq/JrZn1zCScvrGpHV/RT2QAwx6XcRPOGgf7Tupb4zYgbgyWMD6jBr07A+QkRRQKhbRco3C7+XWTPhdVJnCJmyEBRKQ==",
        "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:BL3PR11MB6435.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230016)(376002)(136003)(346002)(396003)(39860400002)(366004)(7696005)(9686003)(26005)(186003)(52536014)(55016003)(5660300002)(8936002)(86362001)(33656002)(19627405001)(6506007)(71200400001)(478600001)(41300700001)(38070700005)(83380400001)(82960400001)(38100700002)(8676002)(64756008)(66446008)(110136005)(2906002)(66476007)(316002)(66556008)(122000001)(66946007)(76116006)(91956017);\n DIR:OUT; SFP:1102;",
        "x-ms-exchange-antispam-messagedata-chunkcount": "1",
        "x-ms-exchange-antispam-messagedata-0": "=?utf-8?q?R048tRuQoyDIEfGpE6IVQvcMxS5k?=\n\t=?utf-8?q?sCPWDFsmDDDHmpz97+8HMiIya3w3ppupqBb+lVuzi++o+9c4rjfuwuk1CuCqHZMR6?=\n\t=?utf-8?q?4vFvfr78GimVDqavEUi1li9tQGF3kZid7a+DFRzGx0PoqpgwjEWYa5LxNwhAVrXH/?=\n\t=?utf-8?q?OD7sfOZGiWDp/DymcsnPFASc3ttN1aTbPy2bJXbp6hzHtdXEN+tR7OEKLS3cw5FRR?=\n\t=?utf-8?q?BeACOZ0UY/M6Tpn8o5PF+DWr4VP2801EIGmAMrNeMOf12VPlXIOtI1KkBPrvMX0Gj?=\n\t=?utf-8?q?2szt9jzQRyuiV/jyPGfjNa3Zgs98NvJ+Q5Ux5mBoPkqM3qJivc9WfCEy2UoQK1mCI?=\n\t=?utf-8?q?QzYecLhF1jwoKqsqyS82pPnTYMFm2eNhC1g7nNZuYreMKn+ChlW444qc91uNP+GtH?=\n\t=?utf-8?q?lFVscItsDi03QlRoGebrsbIUEc4WrwVsYFlXdGItqVbyr5ICXRXULwLrer2Yzkj83?=\n\t=?utf-8?q?h80xtTxxRBEiitIv+NOHAQ/SGr6AymfXhSZkR390iHfQ/3NQd1jQKXlN2GpVydZML?=\n\t=?utf-8?q?BHi9XhvpJLh28m+xfcEecFxSS4VfeCsmJFs0L+TCRofFG5Cg7DFyuvr8KKK8sCMZc?=\n\t=?utf-8?q?bN/e+3oo4kO3QXK536imMiIWv3VygVd1zHYBLoFS7vaDLpLAlBNBw/elMPNFUx6ce?=\n\t=?utf-8?q?qqeS5UBKToC+ujdJQM+Phpa1qfgBkhLyFpCHu0Tk/G9n4+fp6MeC0Oyk2GuNAtmip?=\n\t=?utf-8?q?jeJZSsR4oDM7SwbWVwIgzYeBp3dheGjdv1Q2bW0PmiCTLaGFCfd3k2ev6lsGzaeDa?=\n\t=?utf-8?q?ld3hdwiFMUEy7GFYxEW0eltdyPRARrAreEabLCz0uqLDXzz4vuuIthIUFQtBr+Dt7?=\n\t=?utf-8?q?5FvEir2oe+qqJ7McB9fvfzH4FdAghw4CIb2L1T//ye3szfh/MAH4XaIfUVHbtnD3C?=\n\t=?utf-8?q?xxpA57l+3iITx2TMJzJ3eva9ekEvbVDOKGDmBllvDAf+iVRmjVITrX1oErRbZDR3G?=\n\t=?utf-8?q?vKAlNbaX5qPkDoauaZp3seM04AWu54R3aShsH20iqplfG6c+Uwf9/6obbYl1EVM5T?=\n\t=?utf-8?q?d7KMGvk7JKGlZ1g8j0ddctJ96Dj2Nhd+dzidGu6JN3obkqcH6rROUNUuU9F7GdmK9?=\n\t=?utf-8?q?7qKOQuyNXIqKVM82ZOuy8paR8c0q/p0oWojPN22zO4IPjYJNtMPkHAer+o6ldfp2R?=\n\t=?utf-8?q?H398txbsQofuzk33KQ6/Iaxn7p2D+iihCrVXw92lHuPpT0NqgznLADmF60dYMFFkN?=\n\t=?utf-8?q?RVilqdFP6hYfcNDHbhc5Vf0Dpk+Umd0V5G1uJopEdR3/LczbXS8IcfAoaQ0OMtUGY?=\n\t=?utf-8?q?UlAgXP18gJBDQI241kSEZlimur3JGV8THsx4aVYXmqU5fkxmLrGHtkRz48lkqRSTy?=\n\t=?utf-8?q?C73MqX496S84NEyQF18JcXglqLU8ihREN1TZbXeFK88YYCVfA7bPvcIIGdZ7jDDr9?=\n\t=?utf-8?q?1Fp4ZoPC5l6+9GOT1eD7YzjDOY+EMUxCsdNsEncEiIYo9oHdsXh7Thgz78Anh60IU?=\n\t=?utf-8?q?LTu6FzfRTBjy70tW9nnpcSKyJlFHqIxb8+rsR0BYSDXt1nMDwFKGsOlqgz+JBNaOz?=\n\t=?utf-8?q?NWBiYXeDtwWj?=",
        "Content-Type": "multipart/alternative;\n boundary=\"_000_BL3PR11MB64355C235C730E6B6E2C5AABC6759BL3PR11MB6435namp_\"",
        "MIME-Version": "1.0",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-AuthSource": "BL3PR11MB6435.namprd11.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 5ff34425-7e23-48e3-a8ce-08da8770793c",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "26 Aug 2022 14:37:16.5983 (UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "46c98d88-e344-4ed4-8496-4ed7712e255d",
        "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED",
        "X-MS-Exchange-CrossTenant-userprincipalname": "\n l71W9Vpcf8bnozqHw9X517dtmhABf3+kRyHY+yXctwfnf9XBu5MCK7umYkMdF4Tusuw7sAGs2zFs34a0NETNj2J3vsRRUbNBn42FsW9x6MQ=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN9PR11MB5433",
        "X-OriginatorOrg": "intel.com",
        "X-Mailman-Approved-At": "Mon, 29 Aug 2022 09:01:59 +0200",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "From patchwork Fri Aug 12 16:52:22 2022\nContent-Type: text/plain; charset=\"utf-8\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nX-Patchwork-Submitter: \"Zhang, Peng1X\" <peng1x.zhang@intel.com>\nX-Patchwork-Id: 114858\nX-Patchwork-Delegate: qi.z.zhang@intel.com\nReturn-Path: <dev-bounces@dpdk.org>\nX-Original-To: patchwork@inbox.dpdk.org\nDelivered-To: patchwork@inbox.dpdk.org\nReceived: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n      by inbox.dpdk.org (Postfix) with ESMTP id F30E1A0543;\n      Fri, 12 Aug 2022 11:02:17 +0200 (CEST)\nReceived: from [217.70.189.124] (localhost [127.0.0.1])\n      by mails.dpdk.org (Postfix) with ESMTP id A76A040A7D;\n      Fri, 12 Aug 2022 11:02:17 +0200 (CEST)\nReceived: from mga11.intel.com (mga11.intel.com [192.55.52.93])\n by mails.dpdk.org (Postfix) with ESMTP id AA3CB406A2\n for <dev@dpdk.org>; Fri, 12 Aug 2022 11:02:15 +0200 (CEST)\nDKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1660294935; x=1691830935;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=QjzGaVZvnEkF2FllVFU+xR8Y5DYCqb7NHx81eAGH2xU=;\n b=nvX/giSyIEaEGzx/ohuqZY1N0eibgtx/4jxW1rUSWVasoU/e7fGz2iw2\n KJwvpm8fGWrGF4p8joSgBP7UM++xo/D/ogAsc9W2HLRYgbFd2ckvvQxsq\n gnD1LsI3zO5+J5AKJTzu5Kohlcwmkb3kurwZI56MHThZIVnFFYD9RTQ+c\n mUTgBaiWvKNGAvnM4BEj2OXxHPwgy0TadKLMKX9fssQUQZ/95V1wAXCyS\n kPwqzX5wNQeb4nEHGrw6H3jc5my/E5bOwga+A3K/cGd1Kv2MvZqL1u2l4\n BfrZGZWkbejkuM0i8WfIPiMFXC/7GdTuBwVf/oe7S1hh0qSFarxYo0Ll6 g==;\nX-IronPort-AV: E=McAfee;i=\"6400,9594,10436\"; a=\"289127450\"\nX-IronPort-AV: E=Sophos;i=\"5.93,231,1654585200\"; d=\"scan'208\";a=\"289127450\"\nReceived: from fmsmga008.fm.intel.com ([10.253.24.58])\n by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 12 Aug 2022 02:02:14 -0700\nX-IronPort-AV: E=Sophos;i=\"5.93,231,1654585200\"; d=\"scan'208\";a=\"665750825\"\nReceived: from unknown (HELO localhost.localdomain) ([10.239.252.253])\n by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 12 Aug 2022 02:02:13 -0700\nFrom: peng1x.zhang@intel.com\nTo: dev@dpdk.org\nCc: beilei.xing@intel.com, jingjing.wu@intel.com,\n Peng Zhang <peng1x.zhang@intel.com>\nSubject: [PATCH 1/2] net/iavf: enable TSO offloading for tunnel cases\nDate: Sat, 13 Aug 2022 00:52:22 +0800\nMessage-Id: <20220812165223.470777-1-peng1x.zhang@intel.com>\nX-Mailer: git-send-email 2.25.1\nMIME-Version: 1.0\nX-BeenThere: dev@dpdk.org\nX-Mailman-Version: 2.1.29\nPrecedence: list\nList-Id: DPDK patches and discussions <dev.dpdk.org>\nList-Unsubscribe: <https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>\nList-Archive: <http://mails.dpdk.org/archives/dev/>\nList-Post: <mailto:dev@dpdk.org>\nList-Help: <mailto:dev-request@dpdk.org?subject=help>\nList-Subscribe: <https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>\nErrors-To: dev-bounces@dpdk.org\n\nFrom: Peng Zhang <peng1x.zhang@intel.com>\n\nHardware limits that max buffer size per Tx descriptor should be (16K-1)B.\nSo when TSO enabled under unencrypt scenario, the mbuf data size may exceed\nthe limit and cause malicious behavior to the NIC.\n\nThis patch supports Tx descriptors for this kind of large buffer.\n\nSigned-off-by: Peng Zhang <peng1x.zhang@intel.com>\n---\nTested-by: Daniel M Buckley <daniel.m.buckley@intel.com>\n\n drivers/net/iavf/iavf_rxtx.c | 66 ++++++++++++++++++++++++++++++++----\n 1 file changed, 60 insertions(+), 6 deletions(-)\n\n\n--------------------------------------------------------------\nIntel Research and Development Ireland Limited\nRegistered in Ireland\nRegistered Office: Collinstown Industrial Park, Leixlip, County Kildare\nRegistered Number: 308263\n\n\nThis e-mail and any attachments may contain confidential material for the sole\nuse of the intended recipient(s). Any review or distribution by others is\nstrictly prohibited. If you are not the intended recipient, please contact the\nsender and delete all copies.",
    "diff": "diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c\r\nindex dfd021889e..adec58e90a 100644\r\n--- a/drivers/net/iavf/iavf_rxtx.c\r\n+++ b/drivers/net/iavf/iavf_rxtx.c\r\n@@ -2642,6 +2642,47 @@ iavf_ipsec_crypto_get_pkt_metadata(const struct iavf_tx_queue *txq,\r\n      return NULL;\r\n }\r\n\r\n+/* HW requires that TX buffer size ranges from 1B up to (16K-1)B. */\r\n+#define IAVF_MAX_DATA_PER_TXD \\\r\n+     (IAVF_TXD_QW1_TX_BUF_SZ_MASK >> IAVF_TXD_QW1_TX_BUF_SZ_SHIFT)\r\n+\r\n+static inline void\r\n+iavf_fill_unencrypt_desc(volatile struct iavf_tx_desc *txd, struct rte_mbuf *m,\r\n+                  volatile uint64_t desc_template, struct iavf_tx_entry *txe,\r\n+                  volatile struct iavf_tx_desc *txr, struct iavf_tx_entry *txe_ring,\r\n+                  int desc_idx_last)\r\n+{\r\n+           /* Setup TX Descriptor */\r\n+           int desc_idx;\r\n+           uint16_t slen = m->data_len;\r\n+           uint64_t buf_dma_addr = rte_mbuf_data_iova(m);\r\n+           struct iavf_tx_entry *txn = &txe_ring[txe->next_id];\r\n+\r\n+           while ((m->ol_flags & RTE_MBUF_F_TX_TCP_SEG) &&\r\n+                 unlikely(slen > IAVF_MAX_DATA_PER_TXD)) {\r\n+                 txd->buffer_addr = rte_cpu_to_le_64(buf_dma_addr);\r\n+\r\n+                 txd->cmd_type_offset_bsz =\r\n+                 rte_cpu_to_le_64(IAVF_TX_DESC_DTYPE_DATA |\r\n+                 (uint64_t)IAVF_MAX_DATA_PER_TXD <<\r\n+                 IAVF_TXD_DATA_QW1_TX_BUF_SZ_SHIFT) | desc_template;\r\n+\r\n+                 buf_dma_addr += IAVF_MAX_DATA_PER_TXD;\r\n+                 slen -= IAVF_MAX_DATA_PER_TXD;\r\n+\r\n+                 txe->last_id = desc_idx_last;\r\n+                 desc_idx = txe->next_id;\r\n+                 txe = txn;\r\n+                 txd = &txr[desc_idx];\r\n+                 txn = &txe_ring[txe->next_id];\r\n+           }\r\n+\r\n+           txd->buffer_addr = rte_cpu_to_le_64(buf_dma_addr);\r\n+           txd->cmd_type_offset_bsz =\r\n+                 rte_cpu_to_le_64((uint64_t)slen << IAVF_TXD_DATA_QW1_TX_BUF_SZ_SHIFT) |\r\n+                       desc_template;\r\n+}\r\n+\r\n /* TX function */\r\n uint16_t\r\n iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\r\n@@ -2650,6 +2691,7 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\r\n      volatile struct iavf_tx_desc *txr = txq->tx_ring;\r\n      struct iavf_tx_entry *txe_ring = txq->sw_ring;\r\n      struct iavf_tx_entry *txe, *txn;\r\n+     volatile struct iavf_tx_desc *txd;\r\n      struct rte_mbuf *mb, *mb_seg;\r\n      uint16_t desc_idx, desc_idx_last;\r\n      uint16_t idx;\r\n@@ -2781,6 +2823,7 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\r\n                  ddesc = (volatile struct iavf_tx_desc *)\r\n                              &txr[desc_idx];\r\n\r\n+                 txd = &txr[desc_idx];\r\n                  txn = &txe_ring[txe->next_id];\r\n                  RTE_MBUF_PREFETCH_TO_FREE(txn->mbuf);\r\n\r\n@@ -2788,10 +2831,16 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\r\n                        rte_pktmbuf_free_seg(txe->mbuf);\r\n\r\n                  txe->mbuf = mb_seg;\r\n-                 iavf_fill_data_desc(ddesc, mb_seg,\r\n-                             ddesc_template, tlen, ipseclen);\r\n\r\n-                 IAVF_DUMP_TX_DESC(txq, ddesc, desc_idx);\r\n+                 if (nb_desc_ipsec) {\r\n+                       iavf_fill_data_desc(ddesc, mb_seg,\r\n+                             ddesc_template, tlen, ipseclen);\r\n+                       IAVF_DUMP_TX_DESC(txq, ddesc, desc_idx);\r\n+                 } else {\r\n+                       iavf_fill_unencrypt_desc(txd, mb_seg,\r\n+                             ddesc_template, txe, txr, txe_ring, desc_idx_last);\r\n+                       IAVF_DUMP_TX_DESC(txq, txd, desc_idx);\r\n+                 }\r\n\r\n                  txe->last_id = desc_idx_last;\r\n                  desc_idx = txe->next_id;\r\n@@ -2816,10 +2865,15 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\r\n                  txq->nb_used = 0;\r\n            }\r\n\r\n-           ddesc->cmd_type_offset_bsz |= rte_cpu_to_le_64(ddesc_cmd <<\r\n+           if (nb_desc_ipsec) {\r\n+                 ddesc->cmd_type_offset_bsz |= rte_cpu_to_le_64(ddesc_cmd <<\r\n                        IAVF_TXD_DATA_QW1_CMD_SHIFT);\r\n-\r\n-           IAVF_DUMP_TX_DESC(txq, ddesc, desc_idx - 1);\r\n+                 IAVF_DUMP_TX_DESC(txq, ddesc, desc_idx - 1);\r\n+           } else {\r\n+                 txd->cmd_type_offset_bsz |= rte_cpu_to_le_64(ddesc_cmd <<\r\n+                       IAVF_TXD_DATA_QW1_CMD_SHIFT);\r\n+                 IAVF_DUMP_TX_DESC(txq, txd, desc_idx - 1);\r\n+           }\r\n      }\r\n\r\n end_of_tx:\r\n",
    "prefixes": [
        "1/2"
    ]
}