get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 45456,
    "url": "http://patches.dpdk.org/api/patches/45456/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1537995646-95260-2-git-send-email-orika@mellanox.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<1537995646-95260-2-git-send-email-orika@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1537995646-95260-2-git-send-email-orika@mellanox.com",
    "date": "2018-09-26T21:00:44",
    "name": "[v2,1/3] ethdev: add generic L2/L3 tunnel encapsulation actions",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "0972c1f2eb7ce40df1b10396c3f293c4dbe78d41",
    "submitter": {
        "id": 795,
        "url": "http://patches.dpdk.org/api/people/795/?format=api",
        "name": "Ori Kam",
        "email": "orika@mellanox.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1537995646-95260-2-git-send-email-orika@mellanox.com/mbox/",
    "series": [
        {
            "id": 1527,
            "url": "http://patches.dpdk.org/api/series/1527/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1527",
            "date": "2018-09-26T21:00:43",
            "name": "ethdev: add generic L2/L3 tunnel encapsulation actions",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/1527/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/45456/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/45456/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 6ACF31B44F;\n\tWed, 26 Sep 2018 23:01:39 +0200 (CEST)",
            "from EUR02-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr20081.outbound.protection.outlook.com [40.107.2.81])\n\tby dpdk.org (Postfix) with ESMTP id 3F3B51B469\n\tfor <dev@dpdk.org>; Wed, 26 Sep 2018 23:01:37 +0200 (CEST)",
            "from mellanox.com (37.142.13.130) by\n\tDB6PR05MB3432.eurprd05.prod.outlook.com (2603:10a6:6:1e::19) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1164.25; Wed, 26 Sep 2018 21:01:34 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=in4q2VVOvd/Cbc+HmKU5jMzS+yt9e+GR0hQt6E5dU7Q=;\n\tb=u6fZJcMnSiOp6PL1ycbRU00mDAcWJBncjMsTbQttdNR1i1gBZb1jrp6hi0QHbXZ+VODFYvb6HvmLp3ADn4w/AZwiXkeD7q5hjmCjPDyUdyKhx8MD+Q4+ygsBBolRuXh3eYVXUW/3qEzWWmXav9wzOQDfVN4iz8e2PG9XJg1V1tI=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=orika@mellanox.com; ",
        "From": "Ori Kam <orika@mellanox.com>",
        "To": "arybchenko@solarflare.com, ferruh.yigit@intel.com,\n\tstephen@networkplumber.org, adrien.mazarguil@6wind.com",
        "Cc": "dev@dpdk.org, dekelp@mellanox.com, thomas@monjalon.net,\n\tnelio.laranjeiro@6wind.com, yskoh@mellanox.com, orika@mellanox.com,\n\tshahafs@mellanox.com",
        "Date": "Wed, 26 Sep 2018 21:00:44 +0000",
        "Message-Id": "<1537995646-95260-2-git-send-email-orika@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1537995646-95260-1-git-send-email-orika@mellanox.com>",
        "References": "<1537116824-191205-1-git-send-email-orika@mellanox.com>\n\t<1537995646-95260-1-git-send-email-orika@mellanox.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[37.142.13.130]",
        "X-ClientProxiedBy": "AM0PR02CA0018.eurprd02.prod.outlook.com\n\t(2603:10a6:208:3e::31) To DB6PR05MB3432.eurprd05.prod.outlook.com\n\t(2603:10a6:6:1e::19)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "08341c22-ef5e-4325-ab37-08d623f33eb8",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:DB6PR05MB3432; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; DB6PR05MB3432;\n\t3:zdd8CvnnIcXLQo+x6b/Fvi60C4I1nmWXEF4VXOt0MNB0qcKN498LtrOyuXxrxwt8nKqSDnl1OoaTd4OjrbBUo70hW2WDUDCo9AOWdPAvlFda3lhpd6MNjYyVlzIyne1yQvepfevpSwuCLPaTNF9wIzWcFWcrnNbfy9fXXJNcIW9Tne37e9SyvpcSNTJaXJb+y1tXc/QsfPn3zL+tKi9Hqf17DYCBEXa7baAjHXiPS2yK1q8SU7X5372UMKtAibJB;\n\t25:6+nGFxruKIid+spxCSW305F5imHVxe73L5gZrU2HBaxphyOoO7tGLlVoSXInx5DIh3h8xmZdLLMmLO5xwMrPIbK2IIVDCw59TszzYdTij8jvqoLa/qE6KbuPkY2FbVhwpJ934kehsvlf5dRUsQsdR+IGzMlDuikxgdipqFedWtM1D9H4lEbTtauOQ155ewzgmWguDfu9O7pH+wZsTaqLCO+nSBhAwW4GFOU4XHspKju0gLfF50O6T3TgEjBOFFpa9yOsybTDigJX0Ri22SPdLSeuVsAoFJSqLIIgOVYQyLbwQL5irOnih1NI7JJD7mNkzFSYm0/eQgscj5R40lafvg==;\n\t31:D5sSa6mWOImsnDIPpTTTBbKgeexJnSw23Bv/s7OBAGJBxY6PMNqkBMgOvdvjbCm+QZY/kVwHwvLGR3xZ3MxTGlFaUsowKKsNwvmh4KQfiCXfC/X7ZjEmKOACQUMnl8uRJHourK9skxMth6CiraxEDWtdBLw1d1OqheGbPbkAXqlhbzRwj4KFwnQXhVzvE8mK31zlS2DJF2kNmRTtt1gPfn5+i92FmFENsw+TCtPuM6M=",
            "1; DB6PR05MB3432;\n\t20:ViI4yzqs9wyT05LNH528zkzcY0aMQTf+TG1uRHTUdA7IvpzylhtuSj29if3owKK5qIrQ3M58i50MnikLuS7HSu9Zj/k/kNAiM7RC2U9LEJWze65cQJxBbAysrXrDZuAjB4Klf+Dv3OjENGmGuNPw1g2mR7JTqB3r/24dCBmJRDOJyHihM9MONJHmVj//q9G5oz9mMLSvtuF2qivQ6bj4FM0CEFWBOJNgLZ47hBLMNbuJpqMpWR1PlJSsHoKxGYyZGiRHUjfRVm8lPnDXTjh6g57Tkhu/ingN/1ADFYyvaL5dD4VxkPt/NfTYTeDPtgoDcFmIdJTle83JHiv7Vunwea1t3z3Zk/U0fUpAJifwUsmuGPk4klaABqrJdi2FnwXaQwZCl3bfrDPJpgfpPe9hBCMKS0GMLKvjCa6dOG4g0xs908T1YT0/RUIDE+sNU7OaS4xHv5jkza8zhUHNxfIAvkrt3QZtI6LH2NVnmkBaRDJjdlNiiRbZhLEYgHGtcCra;\n\t4:UWCAA6Mbsz7jd0R/57xdQE9qGQUOhMKZHEG1lzvcaBzV8tXNH624lr6gaw8hHK6vSKmFFMe4Vayl5h75G74HnjO1sIggLe+7U4wJXsGSUE0F02SHXsKMfnEBssB5StcXBTXWc74HzcJmYweFrtckVmeEP86V/+8i+DMg1BYDwHvenZSFibmNeNZGpaBhxmwC5vl2lp9V7hh1GLGHQU1Dr1/Z7UQF43w8oVQl5iwamoBiKGYRAAnTN0b57+jJQREXacA5AVnKvLI96bJyaPTIuw==",
            "=?us-ascii?Q?1; DB6PR05MB3432;\n\t23:o+/avPrJvHjBEKLj9DE9DTKwxqJTRYk2GBc4ffBGE?=\n\t/EluMNZ0tcEurcNO7PK4ZvQHY1RFhXLLNkRhuUF9tAQHPPbRXtlIbbVdfMO8jmplJ2JwKX+8gQVsI6RO1fsTP367VvHIJxF3JFPn4aI4t34tiTlzhMY7wQR0t+kArYWPdLJ4uP+uSInCXK2XacGqHVpqMxCoeLOzzgzW16Ir9A538nieWCv7PTi/Ge+Xxhkv61Sd+rQQ3RXLoPMBzVS2msbzDEiwxCzTZuG+gXKDqiWcDWIM1x+97F3Cjq5i4ot4xf6EfxRZ3jqfcccWJujTVUe0lBEU7VumoBXk3MPGDCF1nraWWG5RqCwkwIZMXVnFr+kKlVHdByzmLyhEjf4dofJgl7FumIsOt0m3JJJ1wtWiNSbAlauLXj6rM30oP8sUIRoXtMqFoIRACYsVVZaubJiNJmnp9da3KwCMLdwtYpLn3QbCT+a/Fl6/dbHBuKTqE6/IVDjl3lldZBo+YGJFCsCoVWs5MXHx8oeXJHp+gYwqdTu7o0nOZhuQknVNtyYXv+SDgWpCRXrOV0YtbEGU4K/z830s0puuB2tZOicTZrIG5+Gz5mYVGw9w+Wq6rUrmswfEChyudQjYG9IiggOQT2u0E2ezEAekNeWggdj6Wgf9e4PY1CtvdwKo71qn49YHh0oyIlFUhNhRf7yLWixQnAJVkRrjRd8ct15fTih/hZtjfKAzwbH3WtebAaVCXCnLM2U+cZbwSFGEf8+X4Tc1tQ5eHfvhNs5C3qgA4g0/AWLq1Eg+xZfzts05R9YZe0gwNaWo5KLTi+9fFGI6R8hnlDgN2I3b4FfW+UMPkFvGBvbzXKkeBe914CPPe3Cv7+h8HJSWrddXkO0q19X1tYQR9kNO0Nv4YQ4jcQT7ofO7WYQR0CmFrcawp1A/CYI+hE8ucfr81a+5WQmdv6i/sASBvZGZBcvLpkQvJOASE0zEGv0n6VUZd2t5sQOIbcJbvfwPTAq2tRrVFV6F5rj88VVeI4CX9gcT6aXerCOMkI/nBobqg7ri4XSY3VaX6GxNFGudBrAhE1SXgphVLcNCSP85jr8LMSMCu6N1zyCFzoWtUaACKiWO98jXb8rqtUBh/fCjiSm3J2Lnjq5Gn1r1MxpLgijBWOkWxcTKK/RD6bbF3eTi/6gKT5ZoezQKTgVQGB1GqgegcZUf0/oLZ3e1/MKPzqj2wH1nf9xjQ7BXgj25kc2x+Clqyu9zxziP3NA0PitEB9mHOUC7kq4wV8I+rccfKhcyEgZ02Qt0WwMcmyddLyUQIMkvwgrWUgjnvShk/7vr69H28afEpDsMc4OkRnP1EjQ",
            "1; DB6PR05MB3432;\n\t6:0Cpjg6LLHIJ59HzowfrF1dvN/twfR26hZGMaqmuEFgJnyHixLq9ECvoa/d6WKbwxcigLutlw5uReK6yufkJEEiqUHKwi8vFAAQL+2NH+VzxFkfCbs4JOKK1igepLSIrlNBDpaO78xtB9nt6xOMC0//CLUYdaLt72JAYgd5y0MWTERX0TZriLxstxcboC2NlQLWkO5rotoIieltGCet644JQWUcCWsCybR2PI5k4X9f7JNYm+NHlLFAfJDKCjXtwa0PWwz5X6F0Q+mTZ6C/yyRdD+6z6Mr7LxmYl8jAYx3Q3wbLlMxVEFQiAgCQGBoVW145sV4DPhPOXouyU+TZWx9Dy0iH1mCRL/9rN7djZEYfxCrKWf/wMwg7hJXWj1oqEPk4rBD9QvLzh5fwx6uwg3ZrpW85yviZyKHQtHqsr7JXfPEw4tATZ0MAoX2Y20ouOUvUpnCGiNk8jwg1EH6Fh+Vg==;\n\t5:FeWyoLb6pATE9KJyDGBwyxTPA1NqL2+hZZbMjHJ7/kCrDGWAng4A8ZBVz/m8yWrf3si2oI/cltAgWyvLwRpBg6TrIwAYjNvmY7u7SRjSUWFm3mNbL/iVTPOjX1DxArJtRpL/qI73pepZQ4hlMkgqcoKWTmrUsz3mSYVIYU2Dk24=;\n\t7:gxEnSwwvD5e383b4Js1+FCgBR2L85OW/UeK9Y7HT7/Ix68AO+JM84UkXC5DglpZRgg1jxM7ob6z++ld5dU4xXBOqxADyYtWT1kZhSksYA6KrSzrVJO1dGMQHDESlrs3gx1nkDvHkPoxUgK5XHVnRJiGBJ/n/M2tAhUKUCIjd7bT+5wVama9+Wh/44HmxWGmKJdVQPa5M/xAuVD2qG9FfhILfqlJoOUPPOJkzjVsqplOdR5S20CdVGtpxK7PgPGQX"
        ],
        "X-MS-TrafficTypeDiagnostic": "DB6PR05MB3432:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "<DB6PR05MB3432D84CDFAE13AD2A41C9D6DB150@DB6PR05MB3432.eurprd05.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201708071742011)(7699051);\n\tSRVR:DB6PR05MB3432; BCL:0; PCL:0; RULEID:; SRVR:DB6PR05MB3432; ",
        "X-Forefront-PRVS": "08076ABC99",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(396003)(39860400002)(136003)(346002)(366004)(199004)(189003)(305945005)(50226002)(478600001)(2906002)(16586007)(48376002)(386003)(4720700003)(55016002)(6666003)(8936002)(486006)(7696005)(51416003)(53936002)(81156014)(5660300001)(7736002)(8676002)(81166006)(50466002)(52116002)(76176011)(69596002)(8886007)(97736004)(186003)(16526019)(446003)(105586002)(36756003)(14444005)(34290500001)(107886003)(316002)(25786009)(106356001)(68736007)(66066001)(6116002)(11346002)(956004)(3846002)(86362001)(33026002)(47776003)(26005)(4326008)(476003)(2616005)(21086003)(41533002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR05MB3432; H:mellanox.com; FPR:;\n\tSPF:None; \n\tLANG:en; PTR:InfoNoRecords; A:1; MX:1; ",
        "Received-SPF": "None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "+E+IvHrGBJv90WUXPx0rplNYVr/JgBNqHgLHsQ8GLD0isAufA/b4k/qk6yiVjmD6OM6OLStPg9wvgjm4grqnmhZmB4m6CXdZoyUJjdHZnrVlf42LRQu/SGb6SOM6YHZhtyK7Xr4sKxLGLB91ruo3Zsdy0Guo+SdGRpeSyJGH07qqVtCdTRznV2jKh7yMysYtemg5PCjYjBM9wGRd8ZMcEzbIc8sCm8oDxmK37VF+V23cEUrT78ddYWJ2RVdbd14srzM4np90nn0Zfckh5LegjNHZu4quC2KeI9FWqSLcVnY+kSTqVkjRTbux2vqwbio7bxELQkk9Ja/CBxo5cz4IJChT33HcH08fqM2D9yDG+eA=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Sep 2018 21:01:34.0207\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "08341c22-ef5e-4325-ab37-08d623f33eb8",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB6PR05MB3432",
        "Subject": "[dpdk-dev] [PATCH v2 1/3] ethdev: add generic L2/L3 tunnel\n\tencapsulation actions",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Currenlty the encap/decap actions only support encapsulation\nof VXLAN and NVGRE L2 packets (L2 encapsulation is where\nthe inner packet has a valid Ethernet header, while L3 encapsulation\nis where the inner packet doesn't have the Ethernet header).\nIn addtion the parameter to to the encap action is a list of rte items,\nthis results in 2 extra translation, between the application to the action\nand from the action to the NIC. This results in negetive impact on the\ninsertion performance.\n\nLooking forward there are going to be a need to support many more tunnel\nencapsulations. For example MPLSoGRE, MPLSoUDP.\nAdding the new encapsulation will result in duplication of code.\nFor example the code for handling NVGRE and VXLAN are exactly the same,\nand each new tunnel will have the same exact structure.\n\nThis patch introduce a generic encapsulation for L2 tunnel types, and\ngeneric encapsulation for L3 tunnel types. In addtion the new\nencapsulations commands are using raw buffer inorder to save the\nconverstion time, both for the application and the PMD.\n\nSigned-off-by: Ori Kam <orika@mellanox.com>\n---\n doc/guides/prog_guide/rte_flow.rst | 82 ++++++++++++++++++++++++++++++++++++++\n lib/librte_ethdev/rte_flow.h       | 79 ++++++++++++++++++++++++++++++++++++\n 2 files changed, 161 insertions(+)",
    "diff": "diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst\nindex b305a72..3ba8018 100644\n--- a/doc/guides/prog_guide/rte_flow.rst\n+++ b/doc/guides/prog_guide/rte_flow.rst\n@@ -2076,6 +2076,88 @@ RTE_FLOW_ERROR_TYPE_ACTION error should be returned.\n \n This action modifies the payload of matched flows.\n \n+Action: ``TUNNEL_ENCAP``\n+^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+Performs a tunnel encapsulation action by encapsulating the matched flow with\n+a tunnel header as defined in the``rte_flow_action_tunnel_encap``.\n+\n+This action modifies the payload of matched flows. The flow definition specified\n+in the ``rte_flow_action_tunnel_encap`` action structure must define a valid\n+tunnel packet overlay.\n+\n+.. _table_rte_flow_action_tunnel_encap:\n+\n+.. table:: TUNNEL_ENCAP\n+\n+   +----------------+-------------------------------------+\n+   | Field          | Value                               |\n+   +================+=====================================+\n+   | ``buf``        | Tunnel end-point overlay definition |\n+   +----------------+-------------------------------------+\n+   | ``size``       | The size of the buffer in bytes     |\n+   +----------------+-------------------------------------+\n+\n+Action: ``TUNNEL_DECAP``\n+^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+Performs a decapsulation action by stripping all headers of the tunnel\n+network overlay from the matched flow.\n+\n+The flow items pattern defined for the flow rule with which a ``TUNNEL_DECAP``\n+action is specified, must define a valid tunnel. If the\n+flow pattern does not specify a valid tunnel then a\n+RTE_FLOW_ERROR_TYPE_ACTION error should be returned.\n+\n+This action modifies the payload of matched flows.\n+\n+Action: ``TUNNEL_ENCAP_L3``\n+^^^^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+Replace the packet layer 2 header with the encapsulation tunnel header\n+as defined in the ``rte_flow_action_tunnel_encap_l3``.\n+\n+This action modifies the payload of matched flows. The flow definition specified\n+in the ``rte_flow_action_tunnel_encap_l3`` action structure must define a valid\n+tunnel packet overlay.\n+\n+.. _table_rte_flow_action_tunnel_encap_l3:\n+\n+.. table:: TUNNEL_ENCAP_L3\n+\n+   +----------------+-------------------------------------+\n+   | Field          | Value                               |\n+   +================+=====================================+\n+   | ``buf``        | Tunnel end-point overlay definition |\n+   +----------------+-------------------------------------+\n+   | ``size``       | The size of the buffer in bytes     |\n+   +----------------+-------------------------------------+\n+\n+Action: ``TUNNEL_DECAP_L3``\n+^^^^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+Replace the packet tunnel network overlay from the matched flow with\n+layer 2 header as defined by ``rte_flow_action_tunnel_decap_l3``.\n+\n+The flow items pattern defined for the flow rule with which a ``TUNNEL_DECAP_L3``\n+action is specified, must define a valid tunnel. If the\n+flow pattern does not specify a valid tunnel then a\n+RTE_FLOW_ERROR_TYPE_ACTION error should be returned.\n+\n+This action modifies the payload of matched flows.\n+\n+.. _table_rte_flow_action_tunnel_decap_l3:\n+\n+.. table:: TUNNEL_DECAP_L3\n+\n+   +----------------+-------------------------------------+\n+   | Field          | Value                               |\n+   +================+=====================================+\n+   | ``buf``        | Layer 2 definition                  |\n+   +----------------+-------------------------------------+\n+   | ``size``       | The size of the buffer in bytes     |\n+   +----------------+-------------------------------------+\n+\n Negative types\n ~~~~~~~~~~~~~~\n \ndiff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h\nindex f8ba71c..e29c561 100644\n--- a/lib/librte_ethdev/rte_flow.h\n+++ b/lib/librte_ethdev/rte_flow.h\n@@ -1505,6 +1505,40 @@ enum rte_flow_action_type {\n \t * error.\n \t */\n \tRTE_FLOW_ACTION_TYPE_NVGRE_DECAP,\n+\n+\t/**\n+\t * Encapsulate the packet with tunnel header as defined in\n+\t * rte_flow_action_tunnel_encap action structure.\n+\t *\n+\t * See struct rte_flow_action_tunnel_encap.\n+\t */\n+\tRTE_FLOW_ACTION_TYPE_TUNNEL_ENCAP,\n+\n+\t/**\n+\t * Decapsulate outer most tunnel from matched flow.\n+\t *\n+\t * The flow pattern must have a valid tunnel header\n+\t */\n+\tRTE_FLOW_ACTION_TYPE_TUNNEL_DECAP,\n+\n+\t/**\n+\t * Remove the packet L2 header and encapsulate the\n+\t * packet with tunnel header as defined in\n+\t * rte_flow_action_tunnel_encap_l3 action structure.\n+\t *\n+\t * See struct rte_flow_action_tunnel_encap.\n+\t */\n+\tRTE_FLOW_ACTION_TYPE_TUNNEL_ENCAP_L3,\n+\n+\t/**\n+\t * Decapsulate outer most tunnel from matched flow,\n+\t * and add L2 layer.\n+\t *\n+\t * The flow pattern must have a valid tunnel header.\n+\t *\n+\t * See struct rte_flow_action_tunnel_decap_l3\n+\t */\n+\tRTE_FLOW_ACTION_TYPE_TUNNEL_DECAP_L3,\n };\n \n /**\n@@ -1868,6 +1902,51 @@ struct rte_flow_action_nvgre_encap {\n \tstruct rte_flow_item *definition;\n };\n \n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this structure may change without prior notice\n+ *\n+ * RTE_FLOW_ACTION_TYPE_TUNNEL_ENCAP\n+ *\n+ * Tunnel end-point encapsulation data definition\n+ *\n+ * The encapsulation header is provided through raw buffer.\n+ */\n+struct rte_flow_action_tunnel_encap {\n+\tuint8_t *buf; /**< Encapsulation data. */\n+\tuint16_t size; /**< Buffer size. */\n+};\n+\n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this structure may change without prior notice\n+ *\n+ * RTE_FLOW_ACTION_TYPE_TUNNEL_ENCAP_L3\n+ *\n+ * Tunnel end-point encapsulation data definition\n+ *\n+ * The encapsulation header is provided through raw buffer.\n+ */\n+struct rte_flow_action_tunnel_encap_l3 {\n+\tuint8_t *buf; /**< Encapsulation data. */\n+\tuint16_t size; /**< Buffer size. */\n+};\n+\n+/**\n+ * @warning\n+ * @b EXPERIMENTAL: this structure may change without prior notice\n+ *\n+ * RTE_FLOW_ACTION_TYPE_TUNNEL_DECAP_L3\n+ *\n+ * Layer 2 definition to encapsulte the packet after decapsulating the packet.\n+ *\n+ * The layer 2 definition header is provided through raw buffer.\n+ */\n+struct rte_flow_action_tunnel_decap_l3 {\n+\tuint8_t *buf; /**< L2 data. */\n+\tuint16_t size; /**< Buffer size. */\n+};\n+\n /*\n  * Definition of a single action.\n  *\n",
    "prefixes": [
        "v2",
        "1/3"
    ]
}