get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 45331,
    "url": "https://patches.dpdk.org/api/patches/45331/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20180925150340.25378-3-jackmin@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": "<20180925150340.25378-3-jackmin@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180925150340.25378-3-jackmin@mellanox.com",
    "date": "2018-09-25T15:03:39",
    "name": "[2/3] app/testpmd: add commands of modify MAC address",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "90db006d7e2bca470be4d3d0790d3c634d5c2e50",
    "submitter": {
        "id": 1065,
        "url": "https://patches.dpdk.org/api/people/1065/?format=api",
        "name": "Xiaoyu Min",
        "email": "jackmin@mellanox.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20180925150340.25378-3-jackmin@mellanox.com/mbox/",
    "series": [
        {
            "id": 1498,
            "url": "https://patches.dpdk.org/api/series/1498/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=1498",
            "date": "2018-09-25T15:03:37",
            "name": "ethdev: add generic MAC address rewrite actions",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/1498/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/45331/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/45331/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 54EB61B429;\n\tTue, 25 Sep 2018 17:04:34 +0200 (CEST)",
            "from EUR03-DB5-obe.outbound.protection.outlook.com\n\t(mail-eopbgr40080.outbound.protection.outlook.com [40.107.4.80])\n\tby dpdk.org (Postfix) with ESMTP id 88BC81B3E8\n\tfor <dev@dpdk.org>; Tue, 25 Sep 2018 17:04:30 +0200 (CEST)",
            "from dev-r630-08.mtbc.labs.mlnx (118.201.220.138) by\n\tVI1PR0501MB2031.eurprd05.prod.outlook.com (2603:10a6:800:36::17) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.20;\n\tTue, 25 Sep 2018 15:04:24 +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=tooHFHKC5cI6Gin+krqQ02+vgXPy6Gq4oU28EH8NCQE=;\n\tb=LURGa021TOxTryZq9FZB9IwR+4eOMldqBtRum/CfQ8Q43pJsR+xRQUaKDg7vfZcuklfMVCpLC4uTnLQvLA8Uxj8cNimwjrlhPtzAavO6cziMyUQ04PVGqER4IJJ2MlNGtwqaMLdbA8CfGtfUGICI5kyN/WBBymdDN3CgLB1j2QA=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=jackmin@mellanox.com; ",
        "From": "Xiaoyu Min <jackmin@mellanox.com>",
        "To": "ferruh.yigit@intel.com, Adrien Mazarguil <adrien.mazarguil@6wind.com>,\n\tWenzhuo Lu <wenzhuo.lu@intel.com>, Jingjing Wu <jingjing.wu@intel.com>,\n\tBernard Iremonger <bernard.iremonger@intel.com>,\n\tJohn McNamara <john.mcnamara@intel.com>,\n\tMarko Kovacevic <marko.kovacevic@intel.com>",
        "Cc": "dev@dpdk.org",
        "Date": "Tue, 25 Sep 2018 23:03:39 +0800",
        "Message-Id": "<20180925150340.25378-3-jackmin@mellanox.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20180925150340.25378-1-jackmin@mellanox.com>",
        "References": "<20180925150340.25378-1-jackmin@mellanox.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[118.201.220.138]",
        "X-ClientProxiedBy": "HK2PR04CA0053.apcprd04.prod.outlook.com\n\t(2603:1096:202:14::21) To VI1PR0501MB2031.eurprd05.prod.outlook.com\n\t(2603:10a6:800:36::17)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "bc6368a4-24dd-412f-a93e-08d622f83076",
        "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:VI1PR0501MB2031; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; VI1PR0501MB2031;\n\t3:0MGM+5ug8KKBpAlfEA/eUBus86nbMvMl3/9DxeGv6Kw141wHzAB/sZfL1URLcpFrJo+TMpQCTs3rf93G0lbbh9eJSd/wEOeu9hfQp4ysycM3QGrpgWGVHohY+Va+3T4j/hN60N8QIWgFCz7/CdoYPqCIJGZP0fnEo45V3rEeEvM5uj0mcgwqEDbndTyqmlt/GCZET8mRVytQ/0qwC6kvJGd3DYaoeGoXCh9bdOgfeb7bF4xkSDy79TTZ+P15kDQL;\n\t25:w+0qM0RH4DBugz/NtXrAOSoOkIcrZrWPwPTWDLHXMop0bWzmf4RU/+J3dko7PvUmqNJGfbBWJgU4tmj45icPYfFAaR/xbutJPsU5FEUR9alE0PHrKX2R7VKDUfetFbQfC+CSWLuKPcQDKmlHhamfYd+DlV/q/i1VlZqcFMfBTqGrSVeJwBxVXjhjgW9ViSSJyQJKUweIliOblAa1luSfPVWlTwEvaPo21ZBmflqVvtLDfyPqm5YqKviOkZRWQHTVamEsei6Wuzy+wqa8RjedrSdd+IKH5rAtgsup2x+9/cJv/lYQtvwfdj7o96A12Wt+YV2YiVQQbjWYeTwA0Kr2JA==;\n\t31:WuUBuOQiew7wB6oJ0Wq+PjBIKMxe6VTLkANaZtV7zK+3uBEYrBGXZ8DtL2AeZ5mATOqP421PpDlfNSh90hzgcGgl8urDlQsYw3Ir7+w4Ui9Ens4TJZs7nSqX15qazXi6uHmzcjWhrSioauzf8HMg5n+d67tbHfWBVWVLoIcZW7DF+t3fZF0qH6kXM1B4kYtr0AUQRXnX/HHzrCtGRVWxAcIvqZW7wLpNLR1AoHBuIzc=",
            "1; VI1PR0501MB2031;\n\t20:JSYe+28Dwv/+ig7Ev5FTFrQ6Fp3KnYJV3OJqCC/gI8nZQylRpwGbnbkGENe6k72NRuG/gfrfR1xbRu5M2RBftlEVX0mM8r5H22pPvVpRWPDY0dGBL9RhIXjJ4ziFGhlyK5Hu9F3xWZ+/betCfV3OZq9KUDlvb+b8HHeSRkfIxn5KGMHWKdA+gli15G+8AsxZqaEHO+ilrNMapnhmskXlXXayFgmDYKrssTvePJwqOlI7LHZkcDaGDFc5PBDt4FC5w49LeggCKH9EpXH3qeHMuNjznsbxJc7baDrGyB6AXxIeLFZgaGnOZPsaSwjxeK1rD2N+je1cAcVoWeodw8VpX5kp4Z2ZoMNzlPmFQK/F1UJNZ0EBjWv8AAbNpd2bS4WFskWGRbO+E5OwVZnBs1n+meW/Zj1h4Dwf9R1G+5rhfLq2uqHtar8uBflVdlu6aeXoM8X07tE9aJ2XJb3WCmlr8V6o8/yc3zY/SG+c4N2dYNoJTiDwcghQ7o/IGPcnpk61;\n\t4:Zw7bQiVajSWjy2fgwnrrLwsI7R+OsNQKPLQUzY7Utl3rxkqhNpnn8Ql0Vzi8p4xNScynadQgHkJiMgz0GR6L/O4ynThDawM4UsePoOS0eeX2klUii7+L4PE859SALldLD4l3Caxw7QgSoSdUSYYqq/0srf0hP4MXCjQSofZuiQb7E8EGfN3BcDTkuU2Pu9z8wXsutIkBIlDJbxmMKiC/tJ3+Y/N+25OVV72x6boxNyRC0xIUWJUUfIUzZHIxG+bGLG3QxXYNaK3F7BEAW/YwTA==",
            "=?us-ascii?Q?1; VI1PR0501MB2031;\n\t23:rPG69dSNFcfOdnpXEH6hRpO5oPUqtMZK3oQMT7H?=\n\tDqKNNJyF75bqqj+H2v3lhSw+E+KKqXvCER2237mF660xXSkEh44eGunAx+F7s4SChkyZk5aNA5Ubr+HHdw/cciBTwumK8k8H9oahNimYIiWzpJn9czgcxVcMjHxjVLgsdtBgozZuSyXRaaYNtqVpI1xHdhBazOu4Xr18Ntx+rlcwg3bJ5Kpg0WzFlLqFbvLf1+4FHKb5fTRWwAjhsfH1KYeHNfkuGMS0va2b2oMogzoZVH9O6Q3GZB0qOaTZOhRP4d2B4yQqoHN6uEfLgqmFYWHrtItMfq0VTyFQjckJDKDdM1fY3/KOrl0qgN6SfA29ZC5QOQ5Bw7nB09NAQR9r79WSHaBWLaijdDP/uKnth2C9JRY+eN5TjYaWkf5WzmDyo9HV401ceyJeTRgoXX33xf1P4dNkx9FYwVsi4YN14eZ6qn/hcvjvUKr0iCoy70JUr5bQnrnOWamCWNpl+ccghHlBjGdKQbO5fhXtiH/R7NV1Q/rV/B9WinyDeA8V7hmWcG6cRiHAIfkL0Rfz1Xpd/Yc2MYagRuf7Ldz5yvl4Ywui3+vZYqlgMaY7ZAZ1z/yCMV2/R5++/vraw180J+oDQN+a9W8x4Kyg7XwR4O4ElUBwRCylOq8X6+5rFgjnjS0Xrq1fqBr1UWqgFevM2p9i6eHQ86ZcSqz/Kuxz2cI9vXb+2KzS5QEH2hhamlz2cg4vRVPL+Ms4IiQubGzu+1nBBDQPkztSvtni+6Z0P69wzEo8M2UhUHzp/w44l59DIQigLcBSIyf9okz6jcHHKQnWJPr8Nn5rd4hDDty6+vysnPgX6kFDNmnJVN2UWzIXgFfj076SKy/pDC3uMxA991xmZVPQuzAGEHiw/qd9MHQT7TaSSdvLuaNwheA07y2mwhzzN4RAKfPcj3EjqEY+/JOZ2lkQWBfG75uVi860YHSvdv+BebPqugOiNV8hjeIqS8kVLyjse10K18mkhkCYU6soMV/RYnYucGVeLqdYmAkEvVSM0xqvcvw8cSYj59eWqR/56w+otXrCCxbj2GBBwU1tchag3SGflt6YJA+OAsvzBrMWNAe+b6yZ2z2485WTthmKS2PtWDVD1DAwvCuqE3/IeAuFS2lwc5QWLZihVJkurZS4S/zEfLPnAXHNc9MxU8BHY7dqSkNPamFKmcPDtzkoA4TIgq4freYB8lxRcZOW7x6anqA==",
            "1; VI1PR0501MB2031;\n\t6:x+HWnbLHvCPw49YiojZagjzFWoENwswcl8mFuJ4m+s8+Mvyma1TCs65K9MGjqz57ZgrNfJAh0ep2n9Klqc5gCht5BKtLbcy/VCDznnScp2DHT0Onu4wEdauaIfWJkIF1xXFe2yke5/I0O6UBs8zoK/n47p0bOWIPTDmvr95VABSI4KLfjiYIusMF83JV9OY7m2+hkENNc9fb9swQK266ERrOgcDd1qKYCvVSnBg0/JkskkBZf9Nrqi/PVjkipoPLgv2aHdkwLKuORMvmIXz4R5lvPKkmCgcEd4ZGJf0hSUbym7zKH5EkTO0pAJqL1+4RiRjdc5y7zgSKpqCq9epwnhpbEvzb2gqUosF031090WBYFD+lpt5x/2rOa+Mxh5xFzvLIdPaGIYz7OznWxNfMnJmCWpgUHF5fKD5vdYQaZ4HgBcdWMm0CaLaqgC9yV0Dlz97tPpk2bXoq+wYv77VyTQ==;\n\t5:ydbb3VyUxQl3cTNH0MS85mzoUk0WhQbGubokqSxiUSe+xkuvwjnsS1by5jUQ7RrwgdSfQprBZS5QPgCQRrOIM19elIAFMVTS91paWtWJtX+sm/AmOvnelTyy9qEya/0JAMcxi0x1uo7z7KdC+a75SvBmsytP+014dz1p1WFfz3A=;\n\t7:TG1rM7+66Yu1Iu5uz12aTdQF3D2H/TWb5qmVTAgEg5ompVJ2xeMG5hlL3FQd8ZnAGDaG8jacre4Pyxqqllf/DkhRT65tvaBxdr+14KanEuR2ZC8y9vHaVFJyXzJvDJS6fd1/zKA7mykEM7B24J+MPP7vI0eBXzrZ5kZJuy4Z8sw4JK0JccDmJ4V806tjPlFlbcmQxkmZonLmwfe3/emZq0l6/7C8/FdJu4wwD5WnfcoOKGg1AoLdhDSnJB3lw6yq"
        ],
        "X-MS-TrafficTypeDiagnostic": "VI1PR0501MB2031:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "<VI1PR0501MB2031372C04BC177415B5A8EDCC160@VI1PR0501MB2031.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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150027)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(201708071742011)(7699051);\n\tSRVR:VI1PR0501MB2031; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0501MB2031; ",
        "X-Forefront-PRVS": "08062C429B",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(396003)(136003)(366004)(346002)(376002)(39860400002)(199004)(189003)(26005)(956004)(6506007)(106356001)(105586002)(386003)(446003)(11346002)(486006)(2616005)(186003)(16526019)(476003)(6666003)(6486002)(305945005)(478600001)(34290500001)(8676002)(7736002)(2906002)(81166006)(97736004)(81156014)(5660300001)(6512007)(6116002)(3846002)(1076002)(53936002)(16586007)(4326008)(25786009)(110136005)(48376002)(51416003)(76176011)(52116002)(68736007)(50466002)(36756003)(50226002)(14444005)(316002)(66066001)(47776003)(86362001)(8936002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2031;\n\tH:dev-r630-08.mtbc.labs.mlnx; \n\tFPR:; SPF:None; LANG: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": "ShgoitutPYDUpJuUYlx1X9L8qe+VjeLUXiLe7TTqpuiNhN8NVXRpmcpj2iBovbsvZmXIaHEub/6ONlkW5EvP4QFEbywQ9CQl9jTRF/LPs/RGZh3QyzT2fgft82DqZ2ae2ku78GXkA1EwCKoTOYojEAILdVVoSWOywiin8C3iOEVJfAqF9qE2t7igpebWaO5XXwirOmThusZxRsvtWZbuP5TaOwt5tTmyOzNAvhXgaR+FQE6ZVKCeZjfpsVfH23qcxetTK0fXRoAazMM+WHhWQ9FQ0AWsYlm8btvkNp3dsYwqUP2VqhwV5sj1LMHRWKrfWOnpn3KsIHk7hmaK1Hu7mIsVaR16z9CQL4qhQfbf31o=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "25 Sep 2018 15:04:24.1679\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "bc6368a4-24dd-412f-a93e-08d622f83076",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR0501MB2031",
        "Subject": "[dpdk-dev] [PATCH 2/3] app/testpmd: add commands of modify MAC\n\taddress",
        "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": "add commands to support following actions:\n\n- RTE_FLOW_ACTION_TYPE_SET_MAC_SRC\n- RTE_FLOW_ACTION_TYPE_SET_MAC_DST\n\nSigned-off-by: Xiaoyu Min <jackmin@mellanox.com>\n---\n app/test-pmd/cmdline_flow.c                 | 50 +++++++++++++++++++++\n app/test-pmd/config.c                       |  4 ++\n doc/guides/testpmd_app_ug/testpmd_funcs.rst |  8 ++++\n 3 files changed, 62 insertions(+)",
    "diff": "diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c\nindex fae825462..d06e75799 100644\n--- a/app/test-pmd/cmdline_flow.c\n+++ b/app/test-pmd/cmdline_flow.c\n@@ -258,6 +258,10 @@ enum index {\n \tACTION_DEC_TTL,\n \tACTION_SET_TTL,\n \tACTION_SET_TTL_TTL,\n+\tACTION_SET_MAC_SRC,\n+\tACTION_SET_MAC_SRC_MAC_SRC,\n+\tACTION_SET_MAC_DST,\n+\tACTION_SET_MAC_DST_MAC_DST,\n };\n \n /** Maximum size for pattern in struct rte_flow_item_raw. */\n@@ -839,6 +843,8 @@ static const enum index next_action[] = {\n \tACTION_SET_TP_DST,\n \tACTION_DEC_TTL,\n \tACTION_SET_TTL,\n+\tACTION_SET_MAC_SRC,\n+\tACTION_SET_MAC_DST,\n \tZERO,\n };\n \n@@ -947,6 +953,12 @@ static const enum index action_set_ipv4_src[] = {\n \tZERO,\n };\n \n+static const enum index action_set_mac_src[] = {\n+\tACTION_SET_MAC_SRC_MAC_SRC,\n+\tACTION_NEXT,\n+\tZERO,\n+};\n+\n static const enum index action_set_ipv4_dst[] = {\n \tACTION_SET_IPV4_DST_IPV4_DST,\n \tACTION_NEXT,\n@@ -989,6 +1001,12 @@ static const enum index action_jump[] = {\n \tZERO,\n };\n \n+static const enum index action_set_mac_dst[] = {\n+\tACTION_SET_MAC_DST_MAC_DST,\n+\tACTION_NEXT,\n+\tZERO,\n+};\n+\n static int parse_init(struct context *, const struct token *,\n \t\t      const char *, unsigned int,\n \t\t      void *, unsigned int);\n@@ -2654,6 +2672,38 @@ static const struct token token_list[] = {\n \t\t\t     (struct rte_flow_action_set_ttl, ttl_value)),\n \t\t.call = parse_vc_conf,\n \t},\n+\t[ACTION_SET_MAC_SRC] = {\n+\t\t.name = \"set_mac_src\",\n+\t\t.help = \"set source mac address\",\n+\t\t.priv = PRIV_ACTION(SET_MAC_SRC,\n+\t\t\tsizeof(struct rte_flow_action_set_mac)),\n+\t\t.next = NEXT(action_set_mac_src),\n+\t\t.call = parse_vc,\n+\t},\n+\t[ACTION_SET_MAC_SRC_MAC_SRC] = {\n+\t\t.name = \"mac_addr\",\n+\t\t.help = \"new source mac address\",\n+\t\t.next = NEXT(action_set_mac_src, NEXT_ENTRY(MAC_ADDR)),\n+\t\t.args = ARGS(ARGS_ENTRY_HTON\n+\t\t\t     (struct rte_flow_action_set_mac, mac_addr)),\n+\t\t.call = parse_vc_conf,\n+\t},\n+\t[ACTION_SET_MAC_DST] = {\n+\t\t.name = \"set_mac_dst\",\n+\t\t.help = \"set destination mac address\",\n+\t\t.priv = PRIV_ACTION(SET_MAC_DST,\n+\t\t\tsizeof(struct rte_flow_action_set_mac)),\n+\t\t.next = NEXT(action_set_mac_dst),\n+\t\t.call = parse_vc,\n+\t},\n+\t[ACTION_SET_MAC_DST_MAC_DST] = {\n+\t\t.name = \"mac_addr\",\n+\t\t.help = \"new destination mac address to set\",\n+\t\t.next = NEXT(action_set_mac_dst, NEXT_ENTRY(MAC_ADDR)),\n+\t\t.args = ARGS(ARGS_ENTRY_HTON\n+\t\t\t     (struct rte_flow_action_set_mac, mac_addr)),\n+\t\t.call = parse_vc_conf,\n+\t},\n };\n \n /** Remove and return last entry from argument stack. */\ndiff --git a/app/test-pmd/config.c b/app/test-pmd/config.c\nindex d28b6ed14..c2cbf5ce8 100644\n--- a/app/test-pmd/config.c\n+++ b/app/test-pmd/config.c\n@@ -1177,6 +1177,10 @@ static const struct {\n \tMK_FLOW_ACTION(DEC_TTL, 0),\n \tMK_FLOW_ACTION(SET_TTL,\n \t\t       sizeof(struct rte_flow_action_set_ttl)),\n+\tMK_FLOW_ACTION(SET_MAC_SRC,\n+\t\t       sizeof(struct rte_flow_action_set_mac)),\n+\tMK_FLOW_ACTION(SET_MAC_DST,\n+\t\t       sizeof(struct rte_flow_action_set_mac)),\n };\n \n /** Compute storage space needed by action configuration and copy it. */\ndiff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst\nindex db68c4346..0a8cc73a3 100644\n--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst\n+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst\n@@ -3726,6 +3726,14 @@ This section lists supported actions and their attributes, if any.\n - ``set_ttl``: Set TTL value with specificed value\n   - ``ttl_value {unsigned}``: The new TTL value to be set\n \n+- ``set_mac_src``: set source MAC address\n+\n+  - ``mac_addr {MAC-48}``: new source MAC address\n+\n+- ``set_mac_dst``: set destination MAC address\n+\n+  - ``mac_addr {MAC-48}``: new destination MAC address\n+\n Destroying flow rules\n ~~~~~~~~~~~~~~~~~~~~~\n \n",
    "prefixes": [
        "2/3"
    ]
}