get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 46847,
    "url": "https://patches.dpdk.org/api/patches/46847/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1539612815-47199-1-git-send-email-viacheslavo@mellanox.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": "<1539612815-47199-1-git-send-email-viacheslavo@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1539612815-47199-1-git-send-email-viacheslavo@mellanox.com",
    "date": "2018-10-15T14:13:28",
    "name": "[v2,0/7] net/mlx5: e-switch VXLAN encap/decap hardware offload",
    "commit_ref": null,
    "pull_url": null,
    "state": null,
    "archived": false,
    "hash": null,
    "submitter": {
        "id": 1102,
        "url": "https://patches.dpdk.org/api/people/1102/?format=api",
        "name": "Slava Ovsiienko",
        "email": "viacheslavo@mellanox.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1539612815-47199-1-git-send-email-viacheslavo@mellanox.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/46847/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/46847/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 15C532BC8;\n\tMon, 15 Oct 2018 16:14:11 +0200 (CEST)",
            "from EUR03-AM5-obe.outbound.protection.outlook.com\n\t(mail-eopbgr30086.outbound.protection.outlook.com [40.107.3.86])\n\tby dpdk.org (Postfix) with ESMTP id 1BD5523D\n\tfor <dev@dpdk.org>; Mon, 15 Oct 2018 16:14:10 +0200 (CEST)",
            "from mellanox.com (37.142.13.130) by\n\tVI1PR05MB3277.eurprd05.prod.outlook.com (2603:10a6:802:1c::22) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1228.24; Mon, 15 Oct 2018 14:14:08 +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=cTZ2fXdYgAQrE1eKO9+i4yjOEu/QqYZIMwIK8qo0f20=;\n\tb=WArClOdHkto69oWNTKNcY38WjgmIoSTfPWiNLbciXinsQBZoIkom8WmTktkRKOKUVWQUUbUO+BQmI7qN2UBtSgsyafuoPkr3Sl69/nXe9u4rVWUg/r4M35ed1ofH5tdf9hRYZ6MG7CRQ9m7hnrUXK2H7qNA6pDU3alRizdrBodY=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=viacheslavo@mellanox.com; ",
        "From": "Viacheslav Ovsiienko <viacheslavo@mellanox.com>",
        "To": "shahafs@mellanox.com,\n\tyskoh@mellanox.com",
        "Cc": "dev@dpdk.org,\n\tViacheslav Ovsiienko <viacheslavo@mellanox.com>",
        "Date": "Mon, 15 Oct 2018 14:13:28 +0000",
        "Message-Id": "<1539612815-47199-1-git-send-email-viacheslavo@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1538461807-37507-1-git-send-email-viacheslavo@mellanox.com>",
        "References": "<1538461807-37507-1-git-send-email-viacheslavo@mellanox.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[37.142.13.130]",
        "X-ClientProxiedBy": "CWLP265CA0084.GBRP265.PROD.OUTLOOK.COM\n\t(2603:10a6:401:50::24) To VI1PR05MB3277.eurprd05.prod.outlook.com\n\t(2603:10a6:802:1c::22)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "65955843-2b70-49c1-447f-08d632a87933",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:VI1PR05MB3277; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; VI1PR05MB3277;\n\t3:Ah/LrweBybLzHUWL+ZQUSoQBTfuUwl3TDdRKC8mZxYnDW6nTIcJE8t90nHyP3pn72/jT/GyF99kGgAq66DUfdl77Jm4mHNKRyVtvrcIeinOstzHIXS5WjAIt3fbIeg9rPRK0Bczwgk44uspU0XuNxwLz7HRtyXQT/01hMDT05+AJ4quu2gf00MGeA+szLyzd3F/p3DcmFw/TEjXr91Y132znsXcHxGd7zeV41PlhAoK2pTeUT9YoDBeILBNjoHye;\n\t25:LuAp/kT1aVPuG/pugrSkJqb6A5AHn8789LeYZL6sh+l5lC/ofEEYH7l+e5FRuUan9no+iOpcn8uCJYRZlBOWCcEsZYNRFMoDB/N3DaB8qPzObwNKlEU4aM+MDeJOyhV6Iso81h8mgPsUqX8rqqu2MwR1xAG3mNSLVvqBM2jid9PsAJYzxC9JbyOybng0leyai8Rs//Q7TksJl7bbIxh/EYJVNNDy674uhQkj4oVI8aDEW96KDN4QJrZL/xS2flSx7Kx3SxYcvI71fuk3be/l1sh9iLfev2+sxainK/2MuMWB08JLZHu3fwzbxRoD5TgoUtI6V4xECt2Z0+7/0FL2VA==;\n\t31:YwgNkvinDVxQrHJGu5RfS6KU8GKGOV0gG0G56tdnaxgotqXckVwc12ZkW5JDMKykY4GALKu2loR8EQWENSRqD6l5rhB0GTti0U/0BKLFqxRxm03dWUvu5QgwnZZbIXCVaZGZTH5AQX5hPanl7+2Ex1DjMI9Cfs5OM7zzfhc8lRXj1+VTswwMtrOWcyYDDprfY0i5xGZM426yVcg/xRZdkZQpP5mdFhZYKX6H4Y5mB2A=",
            "1; VI1PR05MB3277;\n\t20:EB+sb84d5qzEjZMMZQNBFZwQ9K52TpEOHWfYHqijbi7EiZfCHNpI8S1NTn/v9mq8C6Z24gGZlo74gmNLZe3mOckdnEPdfQH3Ine1HekOw/v1qmeofowocONOt4Qhn6m+UFYgCMktMPFlrfLKzC2olSc9G0SRaANHkqDfqTxlj5Kn5awakSE2dcmzV3VjGlVRmWcOLLWPa+0ODdyDk14Y3tpZfSMKnpwD9n0s2tkGBg5ePFM57XIHtTytnVI6cuylEoDCvWvyvNy4uKJwHuUMUfhL8F1YPrrfkxLEmhvvH6jhnIk+1oFBeVVN15eYCMm6iGZakhK2vUWVskpebQkQu34t1PwMyToQXxy7w8SMBdwVE7ILJU1GwCN0g80Rc4SVV/K1QYJJMZGDuzeiIJAssfCfBIz1K5MOZE9Q0uyw2YvtqFl2K1Rg+NvlAQr1F9GUTREKRtGDRgzodWtIj+RkIL7G5SCe0BLRICvt1oCvPob0R5oL8RhjfFsKQYj5hMFB;\n\t4:XQJ2Z0whSTpFYmG48ad0qP1fwCSFe6GSUWQaJjbJlRTFLlnnUQRzDGs/RrcOV3DeUA6KCexNRZ2VglXOwjkE6s2Oz+2NxjvOFx9+ceA1SOT+JJZutYuErJ9pmxnkwB0zAk7UrpTYdUiJGxa326CNCyPLiZUlEsvwR5IkMArnVtPOtMEfLs9lfpuOzQ8U9/nkEnVojSP5jguRTx1ixZNo7ttIJcFC+R0xMY5laErQFV0UDlF2VjUJ/HQlc4Hdes/8ueVkx0m7TtnO7gmV7Df1bw==",
            "=?us-ascii?Q?1; VI1PR05MB3277;\n\t23:kCZeOElbIGZ5fzEHix/jrvGmkI9gbiFoxc7r2+z1E?=\n\tK36X5f7ALDGhD9LGIS3+ujFk9wCKZ1y6PRe3YNQwA7LeGTUa6XRzZ97o/61/4sEGPZp4I/Mz/I7sqtbF0XylFDDmeGXH/PihK9TCw0C6B3MhgFmvMU4CyWZRVh0nzVttwkaH2njatNhWND/bistd4eEq7PpMVZDKsJ5F1UfJfRWR9ZWDL3rtf32Vm5ou1yaoDZp50Dom6pf6bTjvMMwgQdDld1LH5Mga5AMdnbVeBTGJLbl355K1FDzjtM/NN0RjYAi2rO7YIKL4lcNIW3VMXg/xQt7s8qPzpeiOFTBsaugQPawSAAvjyp5rgK2goF3N3RQRDTaCMRiI+jgZka/vCqhN+4MUV2MYmywk2PKdeb/90AxG5yq/mR8IRC0Q3i/ZIOfH8yXbxUATb7CM7SdwGMuE+YcyThBZFvgZ0RMaK0mxKM5pZORHGtgyklcdCUNuOZyfaZuhemxbvBvZEukgNHyEOukkrFPqfKtV/rCrmnTHt+/hRNriaZNT12VaLrAR30tMdTzkF0MShaCzw4nf/yRmplmHkdlVzfhVavj40t60sWdVQBF5VoTakYQyKAcy6qUz876CJm0pWn4cY525ryLwMQYsqop9cOQTv2ge7/FlLsOonJNAAhcJJ4V2ltUulPOY2tu66FdT0ixtawQEe6tZj3ChlsRU6SLD+dfdzWDIyQ8RsE1DTNpbahm1AZ1rfNH2xi4g41XeZvqlFBqP6IRRHGQyYFuZZVsipxNxrgR7erxYF56Z1VvUniwvLdfR2bE7AcvqZI2QQXyQLxJ2NnwvGDXlnZ14oBG6MxlrQF0IBEN83tpo/Z75wb1gIscm5LpxSHvZ2CFZj2Fr4+2qxrs+oWP5KvjSkWwiSax4twOfV8qY3a3AOKJwBpeYBgQNBUUJC+LO+Fsk8XsVNYQmglDAG75lLqsUZlNlOdG9cUSDrr7t1a7neuJPanabu1xTgWMEbuIOCUscXCYYjqdoytIuzGjENPIXPLLHyIS9DR1rg1tAqjvhZcyJQACm2M7b3SmUEoLGPRHozlAIE38pr1al0JS0jM2cPKeXcsEUIwstbWcul/iO0vuEON1Vy3dDlArtDX0Vu8XYeCHHUnmuHGsu6pfJqC27nfRK+DjN4TcY7nRQs2b1CbuY6ry6fp3dTIDMSlgkPIaUc3pNNcig23btWwHgGLZVrfC/M2lMMFZCv5dG32IO+dq/c/Oz4Z5hqRxbrtp6I4F7nQHeR41mATMx/jwpystwb2gKVenRcHDprWnqjCtr2YCrBcr4zIVIkB36O8aDs+tGlU8a+d5EDLeF+coDKAkikN9tvg9YZ7BIE/Pbrpw5QiagcCdtp07dyaoxARdAMcMn1MhSoUDN8L+",
            "1; VI1PR05MB3277;\n\t6:uTweS8j7p68uXMRgOEmcOzvi4nnzTWNE8f+QZ1HKZC7H7wfJNakiVMdpaolO7lIqXcuzk0PknIVQtEaPjdg1jV9DD7pLp8GnJk947IJrlI3f3d/6ysHi/+IltYQdhxZmfF/jkRhwflnuahiy+0rMy3OAB7tn3dmjrY8/TfoD5kGOLXSxjwks/GxB28LfhHJPnFFzxMyLB0C5VJ68IZb158ivUeb0Pioay2oiinWF2MEfVc1sMlOJViMea012x4IESTpZQuPhVJ9DNGIuMOZ/LA1AWLPTYlKUGv2egM/IsIpCqLYxtrxn/cpAMKOwrNTQqOcRFx9l04j7buDZVFx2eg4AR66XCGz2gBnTVNZ9seruhd2Y5HX03fPW2uq9R76Yox8Wy4S2mVehVLBFD5ut/cvApcc0nev74CQz5Ygk9REdILofTkmV9FA+QPbXVQ31Qyz8OX+j3cXHBEWHUkM8Nw==;\n\t5:ZBFQ/JJhKR0Preq6lPSMCpuGM3vHp25ocMRS5LyU9ZwvTMi7tTcfBGLkgGTBSrsHM0/1ZGIiSDeIIc4b0aVDuBuA8zNPqKrFwQIFHlse8g+mEZHY0fppA/DJY8MBSnuvqi4KYYuiOsqEVsLu0ruOhF6ttNBsQWU7tnbYsQk1DxM=;\n\t7:CBRvBPXcYhA+WGn7IkR6j/1Xv7gFAuOJWHSlTBLGmScjb+uayyFO0RCAbbp51lSrBuNLsEUIIHzaCv/ogJwZQBbMjzwsNafxpaVLgbul4Zt3vZ6Y/cdLp70VvNv56+HCvTu/uzdEcic1+9brfc+NLpeprImDsn6dRcvl9SuNxzhS+WzEYrUX0WoMSm0TuyKvrjxGdQpOXOMGIZIm8fq54Qzo3cRiRTB+S7h2Dsgy5OE1uc9YPK+QjdWqjXLx+Tn5"
        ],
        "X-MS-TrafficTypeDiagnostic": "VI1PR05MB3277:",
        "X-Microsoft-Antispam-PRVS": "<VI1PR05MB3277756FEA15C29BC572881CD2FD0@VI1PR05MB3277.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)(3002001)(3231355)(944501410)(4982022)(52105095)(10201501046)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051);\n\tSRVR:VI1PR05MB3277; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB3277; ",
        "X-Forefront-PRVS": "0826B2F01B",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(136003)(39860400002)(376002)(346002)(366004)(396003)(199004)(189003)(107886003)(16526019)(66066001)(7736002)(8676002)(47776003)(106356001)(51416003)(7696005)(52116002)(25786009)(68736007)(105586002)(186003)(16586007)(305945005)(8936002)(3846002)(81166006)(81156014)(6116002)(386003)(50226002)(6666004)(50466002)(11346002)(5024004)(86362001)(14444005)(446003)(76176011)(97736004)(6636002)(21086003)(36756003)(2906002)(33026002)(4720700003)(69596002)(6306002)(53936002)(55016002)(48376002)(85306007)(478600001)(476003)(8886007)(561944003)(316002)(26005)(966005)(4326008)(486006)(2616005)(5660300001)(956004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB3277; 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": "SlLozp/oA0FtSgD5VDVv940BrhENqoMCke2V/hERQBEMV3v40sY2j4mdmWTaO+r37p/5xMi5hPWi79Ssi8vUa6zrSvsjshn67OMMaqYXNb7QcWLpHECoqj+F5wrIrc3gao9X5G/vDKMu4JtUSmXZnCra0c3SiTYQMeBpJ0LJQevFk3bbxe9Qc1sV8cLQGeVilSx7379IApmPkjZpnpPk3SrYN8U7xNnxiKm12rRr9dtWlxQzqUBGGDqdNof1zW+9hR+9HUgGmXkdZwOWmNQyYG+7o3n5oVuCey+3reF9i9dNGSX0O6tWV0ZULAeWf4bOvjxfU6WArv+N8IKdHz7Qc9zgFpMPzA6QuqlD7g/rWV4=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "15 Oct 2018 14:14:08.3020\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "65955843-2b70-49c1-447f-08d632a87933",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR05MB3277",
        "Subject": "[dpdk-dev] [PATCH v2 0/7] net/mlx5: e-switch VXLAN encap/decap\n\thardware offload",
        "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": "This patchset adds the VXLAN encapsulation/decapsulation hardware\noffload feature for E-Switch.\n \nA typical use case of tunneling infrastructure is port representors \nin switchdev mode, with VXLAN traffic encapsulation performed on\ntraffic coming *from* a representor and decapsulation on traffic\ngoing *to* that representor, in order to transparently assign\na given VXLAN to VF traffic.\n\nSince these actions are supported at the E-Switch level, the \"transfer\" \nattribute must be set on such flow rules. They must also be combined\nwith a port redirection action to make sense.\n\nSince only ingress is supported, encapsulation flow rules are normally\napplied on a physical port and emit traffic to a port representor. \nThe opposite order is used for decapsulation.\n\nLike other mlx5 E-Switch flow rule actions, these ones are implemented\nthrough Linux's TC flower API. Since the Linux interface for VXLAN\nencap/decap involves virtual network devices (i.e. ip link add type\nvxlan [...]), the PMD dynamically spawns them on a needed basis\nthrough Netlink calls. These VXLAN implicitly created devices are\ncalled VTEPs (Virtual Tunnel End Points).\n\nVXLAN interfaces are dynamically created for each local port of\nouter networks and then used as targets for TC \"flower\" filters\nin order to perform encapsulation. For decapsulation the VXLAN\ndevices are created for each unique UDP-port. These VXLAN interfaces\nare system-wide, the only one device with given UDP port can exist \nin the system (the attempt of creating another device with the \nsame UDP local port returns EEXIST), so PMD should support the shared\n(between PMD instances) device database. \n\nRules samples consideraions:\n\n$PF \t\t- physical device, outer network\n$VF \t\t- representor for VF, outer/inner network\n$VXLAN\t\t- VTEP netdev name\n$PF_OUTER_IP \t- $PF IP (v4 or v6) within outer network\n$REMOTE_IP \t- remote peer IP (v4 or v6) within outer network\n$LOCAL_PORT\t- local UDP port\n$REMOTE_PORT\t- remote UDP port\n\nVXLAN VTEP creation with iproute2 (PMD does the same via Netlink):\n\n- for encapsulation:\n\nip link add $VXLAN type vxlan dstport $LOCAL_PORT external dev $PF\nip link set dev $VXLAN up\ntc qdisc del dev $VXLAN ingress\ntc qdisc add dev $VXLAN ingress\n\n$LOCAL_PORT for egress encapsulated traffic (note, this is not\nsource UDP port in the VXLAN header, it is just UDP port assigned\nto VTEP, no practical usage) is selected from available UDP ports\nautomatically in range 30000-60000.\n\n- for decapsulation:\n\nip link add $VXLAN type vxlan dstport $LOCAL_PORT external\nip link set dev $VXLAN up\ntc qdisc del dev $VXLAN ingress\ntc qdisc add dev $VXLAN ingress\n\n$LOCAL_PORT is UDP port receiving the VXLAN traffic from outer networks.\n\nAll ingress UDP traffic with given UDP destination port from ALL existing\nnetdevs is routed by kernel to the $VXLAN net device. While applying the\nrule the kernel checks the IP parameter withing rule, determines the\nappropriate underlaying PF and tryes to setup the rule hardware offload.\n\nVXLAN encapsulation \n\nVXLAN encap rules are applied to the VF ingress traffic and have the \nVTEP as actual redirection destinations instead of outer PF.\nThe encapsulation rule should provide:\n- redirection action VF->PF\n- VF port ID\n- some inner network parameters (MACs) \n- the tunnel outer source IP (v4/v6), (IS A MUST)\n- the tunnel outer destination IP (v4/v6), (IS A MUST).\n- VNI - Virtual Network Identifier (IS A MUST)\n\nVXLAN encapsulation rule sample for tc utility:\n\ntc filter add dev $VF protocol all parent ffff: flower skip_sw \\\n\taction tunnel_key set dst_port $REMOTE_PORT \\\n\tsrc_ip $PF_OUTER_IP dst_ip $REMOTE_IP id $VNI\n        action mirred egress redirect dev $VXLAN\n\nVXLAN encapsulation rule sample for testpmd:\n\n- Setting up outer properties of VXLAN tunnel:\n\n  set vxlan ip-version ipv4 vni $VNI udp-src $IGNORED udp-dst $REMOTE_PORT\n    ip-src $PF_OUTER_IP ip-dst $REMOTE_IP\n    eth-src $IGNORED eth-dst $REMOTE_MAC\n\n- Creating a flow rule on port ID 4 performing VXLAN encapsulation with the\n  above properties and directing the resulting traffic to port ID 0:\n\n  flow create 4 ingress transfer pattern eth src is $INNER_MAC /\n     ipv4 / udp dst is 4789 / end actions vxlan_encap / port_id id 0 / end\n\nThere is no direct way found to provide kernel with all required\nencapsulatioh header parameters. The encapsulation VTEP is created\nattached to the outer interface and assumed as default path for\negress encapsulated traffic. The outer tunnel IP address are\nassigned to interface using Netlink, the implicit route is\ncreated like this:\n\n    ip addr add <src_ip> peer <dst_ip> dev <outer> scope link\n\nThe peer address option provides implicit route, and scope link\nattribute reduces the risk of conflicts. At initialization time all\nlocal scope link addresses are flushed from the outer network device.\n\nThe destination MAC address is provided via permenent neigh rule:\n\n   ip neigh add dev <outer> lladdr <dst_mac> to <dst_ip> nud permanent\n\nAt initialization time all neigh rules of permanent type are flushed\nfrom the outer network device.\n\nVXLAN decapsulation\n\nVXLAN decap rules are applied to the ingress traffic of VTEP ($VXLAN)\ndevice instead of PF.\nThe decapsulation rule should provide:\n- redirection action PF->VF\n- VF port ID as redirection destination\n- $VXLAN device as ingress traffic source\n- the tunnel outer source IP (v4/v6), (optional)\n- the tunnel outer destination IP (v4/v6), (IS A MUST)\n- the tunnel local UDP port (IS A MUST, PMD looks for appropriate VTEP\n  with given local UDP port)\n- VNI - Virtual Network Identifier (IS A MUST)\n\nVXLAN decap rule sample for tc utility: \n\ntc filter add dev $VXLAN protocol all parent ffff: flower skip_sw \\\n\tenc_src_ip $REMOTE_IP enc_dst_ip $PF_OUTER_IP enc_key_id $VNI \\\n\tenc_dst_port $LOCAL_PORT \\\n\taction tunnel_key unset action mirred egress redirect dev $VF\n\nVXLAN decap rule sample for testpmd: \n\n- Creating a flow on port ID 0 performing VXLAN decapsulation and directing\n  the result to port ID 4 with checking inner properties:\n\n  flow create 1 ingress transfer pattern eth src is 66:77:88:99:aa:bb\n     dst is 00:11:22:33:44:55 / ipv4 src is $REMOTE_IP dst $PF_LOCAL_IP /\n     udp src is 9999 dst is $LOCAL_PORT / vxlan vni is $VNI / end\n     actions vxlan_decap / port_id id 2 / end\n\nThe VXLAN encap/decap rules constrains (implied by current kernel support)\n\n- VXLAN decapsulation provided for PF->VF direction only\n- VXLAN encapsulation provided for VF->PF direction only\n- current implementation will support non-shared database of VTEPs\n  (impossible simultaneous usage of the same UDP port by several instances\n  of DPDK apps)\n\nSuggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>\nSigned-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>\n\n---\nv2:\n* removed non-VXLAN related parts\n* multipart Netlink messages support\n* local IP and peer IP rules management\n* neigh IP address to MAC address rules management\n* rules cleanup at outer device initialization\n* attached devices cleanup at outer device initialization\n\nv1:\n* http://patches.dpdk.org/patch/45800/\n* Refactored code of initial experimental proposal\n\nv0:\n* http://patches.dpdk.org/cover/44080/\n* Initial proposal by Adrien Mazarguil <adrien.mazarguil@6wind.com>\n** BLURB HERE ***\n\nViacheslav Ovsiienko (7):\n  net/mlx5: e-switch VXLAN configuration and definitions\n  net/mlx5: e-switch VXLAN flow validation routine\n  net/mlx5: e-switch VXLAN flow translation routine\n  net/mlx5: e-switch VXLAN netlink routines update\n  net/mlx5: e-switch VXLAN tunnel devices management\n  net/mlx5: e-switch VXLAN encapsulation rules management\n  net/mlx5: e-switch VXLAN rule cleanup routines\n\n drivers/net/mlx5/Makefile        |   80 +\n drivers/net/mlx5/meson.build     |   32 +\n drivers/net/mlx5/mlx5_flow.h     |   11 +\n drivers/net/mlx5/mlx5_flow_tcf.c | 3285 +++++++++++++++++++++++++++++++++++---\n 4 files changed, 3165 insertions(+), 243 deletions(-)",
    "diff": null,
    "prefixes": [
        "v2",
        "0/7"
    ]
}