get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 46688,
    "url": "http://patches.dpdk.org/api/patches/46688/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20181012100426.29349-10-shreyansh.jain@nxp.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": "<20181012100426.29349-10-shreyansh.jain@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20181012100426.29349-10-shreyansh.jain@nxp.com",
    "date": "2018-10-12T10:04:20",
    "name": "[v3,09/15] net/dpaa2: read hardware provided MAC for DPNI devices",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "c0772e3ba9b0680e549f0324fab31482ee4b6f08",
    "submitter": {
        "id": 497,
        "url": "http://patches.dpdk.org/api/people/497/?format=api",
        "name": "Shreyansh Jain",
        "email": "shreyansh.jain@nxp.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20181012100426.29349-10-shreyansh.jain@nxp.com/mbox/",
    "series": [
        {
            "id": 1861,
            "url": "http://patches.dpdk.org/api/series/1861/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1861",
            "date": "2018-10-12T10:04:11",
            "name": "Upgrade DPAA2 FW and other feature/bug fixes",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/1861/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/46688/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/46688/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 4B6A21B4D2;\n\tFri, 12 Oct 2018 12:06:05 +0200 (CEST)",
            "from EUR02-AM5-obe.outbound.protection.outlook.com\n\t(mail-eopbgr00086.outbound.protection.outlook.com [40.107.0.86])\n\tby dpdk.org (Postfix) with ESMTP id E3B361B49D\n\tfor <dev@dpdk.org>; Fri, 12 Oct 2018 12:05:54 +0200 (CEST)",
            "from Tophie.ap.freescale.net (14.142.187.166) by\n\tAM0PR04MB4676.eurprd04.prod.outlook.com (2603:10a6:208:75::18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1228.25; Fri, 12 Oct 2018 10:05:53 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=cqSD9gLyhH7cSHx4FVLLvBiMHtndrz7A/faOfPdrnDI=;\n\tb=oogle8GqTdUw2Ndk1qkgb/u0WsWKpJWQmsiJWH5CQQoXlBGs8293AoOncpxeKk6obEVJjpMSbUc11UhnQtgDDCKssYXaljCaQ68QJKiAbVcIsCRwx7ZDcn+G5rWuTVx6UXJJ0joJO/niLEBXqNa4Q3pVnFHd98x+4e8bospXTkU=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=shreyansh.jain@nxp.com; ",
        "From": "Shreyansh Jain <shreyansh.jain@nxp.com>",
        "To": "thomas@monjalon.net",
        "Cc": "ferruh.yigit@intel.com, dev@dpdk.org,\n\tShreyansh Jain <shreyansh.jain@nxp.com>",
        "Date": "Fri, 12 Oct 2018 15:34:20 +0530",
        "Message-Id": "<20181012100426.29349-10-shreyansh.jain@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20181012100426.29349-1-shreyansh.jain@nxp.com>",
        "References": "<20180926180440.31726-1-shreyansh.jain@nxp.com>\n\t<20181012100426.29349-1-shreyansh.jain@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.142.187.166]",
        "X-ClientProxiedBy": "BMXPR01CA0004.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:d::14) To AM0PR04MB4676.eurprd04.prod.outlook.com\n\t(2603:10a6:208:75::18)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "c62e4d5c-836e-46ba-3fa3-08d6302a4bec",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:AM0PR04MB4676; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM0PR04MB4676;\n\t3:3iA3BqsPzQQHJMAhri8gqKTM3kc3VTi73tQFli7PvPpIgavy7NL2N4PLeUoMvo+jq67xqoyXg9asArwEZmv1rALGlup+cPDITvBVizRFN/wUtqYj1vA+rZHh4snehz/8V5xwllDryBmKSWKScdws7OYrX+Ci1GuSujaGIKOMc48PhO8aLCD2YyMp/Dw2KZATTYCcL4fKDr9PvKPLE7ElBjncUr56G8sTxrOtmnRkbLVVrq8880V+HiEIELJDmSMm;\n\t25:rXuRCRsTzLFHYnh38PtbCoUgxGNE4D9T2IxPOyI4Y55ea/kgkJw4XmB9By01wGDvFnBeek8dV0EhNkse/wUiU5nqNzOMg/sufaxNjdQNpUPGXSwc50+tBcXGEUiI4K5A1505tORq7ooQtQZ+kIi0un8QDklH0s5S4M6wgeKzufyDFQFMbFKxTkDDZSewVvJnu6x9wed0FjJruSTEIGy2LuF34MEXXuPhct8b+MFA4xOR0dNz1Ggh5mTMLxCCpnjtxj59k+V4kO2LkmAMjpdwB/tx8b/JHTIMlIO5bGYvj5NnXlaBhhOJJKK5kfCnB+kKMsWhGunqMbtO8PcaASeLFQ==;\n\t31:e6GI/EbuMOcI85tqjId69gxxCs0FABWlBV8RDSWngkZw1PROL9/Tsgrqyos2qlR1gFY00Qdt6xQ9DH1qNHO0D4GyAspwYQfs5FgNp6J7WOvvetVL+qPmvc74+LFchOXFJui4/mR80B8Lo2o3ZeTiguG3cTxYKzb6dnCw8BfuWA5Is2bhUNbJaKrC0P+X/pdczOx62WRttKcB5vjNWs9IHxqqD03vEuebLF0HUQN8ZyE=",
            "1; AM0PR04MB4676;\n\t20:Q4vOjD5MyTMqJ0huvubh1bIil1EcyKz1ezyXcwVlv1VR4hchWmyvLV1yrByGU16VwZVXWbODN1fGrLGlFSDnm158Xp/JRMChnDgvd7VY6mOKasoeoKkmWcwW3nJUdlDg4qz40A/N3ZplKVPgPxpHKsxfZwug3eYPmJzM6eaxRp/vNiu5xcoJBNJKZGa0jDsrh+veyF1xnLM9jv3TwPXUnd0h+CBNM/QuxXLuegB5dfS+zwJB/B+0JJ9+Nh8l5ck18CnpZUJmw/C2kkXqxNC7KfxU5URzPD7uvelhskHG4kjdux9Y1JvETc4wmYf0pog8nOFOXrkdPAB4j79KtL9/1llPP1298uwK/8hvESm3YPy8ZwhwaMbaMZwfJABD+6hzJMvn2rtZ0kSc/hCEw2RaYAasz+HfmYN+rCnnvKuZ1FQjgTp2x0lp/wqEIm/lC6trMtldFyBiJPEW3HRaFnz0TPTHcl4ZuRByhAttqHjGG4Au7VhhmZP5b++E5DyST2NJ;\n\t4:PItmWiA8ROGCWmdGLMkOJqrTs2TKNUlNDgSc7th66Z3LCHsxDlGa+QOQg8E4g7S/V8TWfgTzHQJTQoes0BTUlYSIsnUP6uA635L6Kanq1r+7oZhP8EwSU9LZ4KQjfZALCtEfmripa5uJtMQzHOGU3GJ6XFNI9PwZ6g8cJWA8DhWcLu9aA+I4Kgv/UCgKXKfKqtgeoabe/KoUTsFe3/K8RY13s8zXTQQuoL1HmWQ7mpvKcVNIyfIEN2BKau/w2CYSLz5Y3Nzx+aLEHY+SgYVBFu+H53iknG8ZOaNHjjDcOho2R2exXxmLorydMitHz5vf",
            "=?us-ascii?Q?1; AM0PR04MB4676;\n\t23:De1oJ2H/hv4n9UsofrnWKXz0iat0DymonUQ1cpTL4?=\n\tPHC5QjfmVJt4PP8Tde3FUZKSb1SerVvAM4kV/SkJqJ/TKNmDmJmte2HOoAZ08SrLMRBdZEFZpXJ6VtV4NBIiwWi4iLjUUn7/JDe1FCKNs0KwdFhUaPd/hkXUhSCeAbGYQz4Q8m8Cky4JYWZmMnVMnayuL0yrR5u5B7FDGpLoLpKXgwgF5odXJUyvZu7d9O9CIp+lTZ+mVNZ9Kf33PvMc2QWAKFvm7lKNjpALL9A0DDTKpzCt3+Cu16zhWBL8aAyLl29YOc2f1H/INwSdzePtQyMTglp+kowH0ZfK5WP4J5SIyoWmcfDglcBGueraZZ6bShDwE1Vx6EDkg+Qt2v8yNqLDceecCn4aNj22lY7/x1oxLvBW8SjarvBy00NGdVJjdKGKL1NA8mGfHSX6s4tqymRXfoySSJswtDZpKg1Ny3gnz2OjPTcTZw8eoi5JnuhJnPgMUNmRWCrNJhJv5tJr8aDnb1VExTfMmy2K42WWi0iPDAKx/XRk7rh2ptEVaRwvoNveCMIurzqMwaaH524VUceUPbbZROtRg+/0xBI2AmQjj5bjjT3NwzhVSbKOIKDchcfMDTQbYUY7Kk8tgqxd+OPO2lDCsJj0CiuC7rgF016/19kQ/hGjOSTAa1bpXhwlIBeU/YCfnDs3zDSa3WDHP27ZBV22i3D+UBgevv2df+09puMy9rOAMSnYbhU6hrCE3O6fPlDZtMXC9s98hT2JaM4jC3rMzRjcdW50WnTUt1tAhinULUJbbGV2HVD0khOXq+wbAM3v8XP1ayq4w28n/hL3gf+nrgQe7Bz8/BGv9iOU1kXP9pj6orGeVRpmc6BEtkzFPKc+NqKXJmoNy/RnBKAK0PsAui/VBDevjG5C5GqhJAlqrZJWf2Uu6vDU66gV/I7yri288srNEDplQCpDfHGx8K4aHD+OjE7IgHbwcXgJ9pFjxXHfVRhbgy0hNGTBliwPa2L4hjesy1Ccno/qZZ9b7qBsdYf6MDJ03IPfiYqt1cpceH4hk+O2gjqXN4lh5fc3p1J3FQvhzDChlaWez0yFmgsQL2z2e2I9WMy8KhpDQR4G0mX0e4giW9DjTU2TI0gwRfmxuOgEj3Rj2ynRv/aug3DdagzP0n9zwbHI520uLRMPous6xYVDPTFFm1y5MeeXJyI55N6H6hfERCQXbzV1G4oVzePfiKOxgem10b4jROh6ece/jkJZOEiTOl7OLDb4VEJQCIf8UVk52JCLQfjjpyK+PtEOk7nagKvNqhIEinFweqO8L76dtDZQHcKFqjbb8kSLLAgUz+OFAfnwdWk",
            "1; AM0PR04MB4676;\n\t6:UFz1q38Fgeu1k3uKMVnZ9d8QIWylvwMa0hBd6M949KOylxpvafjB00nLmJ0t16fIWU7+36bfH1pvjPUL1DhQMNDJrsmvyACnfEYhD/NKGnLBJ9r1Ycv8OflIyZvO7aSyXLhgJBxW2X6SmR1uHlA0skUHpuwhs/kjOd/wSFrG8WS/L1RURiebvInjJ5OQ8LxLIOboC91NLuggVXN0g0UepO4cbpYdPXkVuaRUB9gmWG7Ehmo0qQpNguMyqR6vAiU0KI20OxFHiu27Yc4yycpsxmw0H4yQv6J6m2nJXC+wdIY6/WxwgYXRX5+vY8Xfxy431WvjltV86UDj5yfCctu0lo+YHINvOoEbOC6S/LMKyTrCuZPkxAEXaGuqyzdEgWSfexKW0LtmC7A+bTqcIFqhehBrC7QTSK3H6d7S/A8Tm1KOOCjGb6NPEpkKzpYbXDZxKF2Hl8Ytbc0ut5u7q8D8kA==;\n\t5:eXH17qb6UR8rqSlMzM7SwucWxtNqVuhND1ZoWYCODvMu/Hv+y4owL6/j12pIcdGcGqj1ZVfVwwfdZqJpjgb5WkjRc9f7I52PnGXBI8xefMzQPX6I/LNcBqp3foQPFesoR7hS7qShYOCAUNtBRxFBUOXIc2BTECQH9BHqhe/K9XA=;\n\t7:AbwXYP345Ic4ClxL+O1/VsnZStbyJZGgxoeaHukTGG8weGUfufiOmRITAdAgl3wrWwmoXnK98D/zJHvT0ZeHQHk8UTjbqsYSe1HCtWHEIWSOJYNNZFTx4zGoOfElyzNbgc3Bszc32AlsrtdNFsMfrlM5c5K7GXMvrYHsM/6svV2WnLMYc48c18jsKOKD3qja1Coeg13v8MTQbgTQ5pZrQge8yt/ZP4A0JV+CJ+GI5IJy81TKSHKvtVlXu4NXzDhd"
        ],
        "X-MS-TrafficTypeDiagnostic": "AM0PR04MB4676:",
        "X-Microsoft-Antispam-PRVS": "<AM0PR04MB46765D1FAE5CDE07FAF4641290E20@AM0PR04MB4676.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051);\n\tSRVR:AM0PR04MB4676; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4676; ",
        "X-Forefront-PRVS": "0823A5777B",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(396003)(346002)(366004)(136003)(39860400002)(199004)(189003)(2906002)(52116002)(16526019)(53936002)(8676002)(478600001)(186003)(386003)(446003)(105586002)(7736002)(106356001)(6512007)(6116002)(86362001)(3846002)(81156014)(50226002)(68736007)(1076002)(47776003)(5660300001)(6506007)(8936002)(78486009)(36756003)(316002)(26005)(66066001)(6666004)(25786009)(55236004)(81166006)(11346002)(48376002)(76176011)(44832011)(2361001)(956004)(51416003)(2616005)(97736004)(1006002)(50466002)(486006)(476003)(305945005)(16586007)(6916009)(4326008)(6486002)(2351001)(110426005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4676;\n\tH:Tophie.ap.freescale.net; FPR:; \n\tSPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "AEENfRQHjFiJS2ippnBSknVrbeKnI6M6EfMWUVk5309CfH0VUnqLckqNqRWrNKoz6ayDTWsk2Q4nFDgIQZVNTtin0cy2344ZcMNiTpqiSbB3Q5Ze2pqWIkGMCdutVGu1U81OROW2yZe5hGE672oTFQbFqESASEOZvASMU5fvpcsC1lrYv53xKFWMVUMjvTrcKfXKW1z3geDLvm3pkPt+7yBI/oGls2bItK8NtsEYIi/dqE9ka7YRDTQiSFLTJe/oLchGTIpBpxTKZUywDAI34jTNscFBYEUU3zBCQoqxQZIyYsgjbr4r7Afvif6Ylg7rLRdaCTrcL1V8zb1BPlYatpeECN6MbvcWqp7Em3qMwVI=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "12 Oct 2018 10:05:53.0180\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "c62e4d5c-836e-46ba-3fa3-08d6302a4bec",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM0PR04MB4676",
        "Subject": "[dpdk-dev] [PATCH v3 09/15] net/dpaa2: read hardware provided MAC\n\tfor DPNI devices",
        "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": "Firmware would contain pre-configured devices for each DPMAC backing\na DPNI. This patch reads those MAC address when the device is\ninitialized and sets it. THereafter, it can be changed through API or\ncommands from testpmd.\n\nSigned-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>\n---\n drivers/net/dpaa2/dpaa2_ethdev.c | 79 +++++++++++++++++++++++++++++---\n 1 file changed, 73 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c\nindex bfe78c051..522a827d4 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.c\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.c\n@@ -1786,6 +1786,71 @@ static struct eth_dev_ops dpaa2_ethdev_ops = {\n \t.rss_hash_conf_get    = dpaa2_dev_rss_hash_conf_get,\n };\n \n+/* Populate the mac address from physically available (u-boot/firmware) and/or\n+ * one set by higher layers like MC (restool) etc.\n+ * Returns the table of MAC entries (multiple entries)\n+ */\n+static int\n+populate_mac_addr(struct fsl_mc_io *dpni_dev, struct dpaa2_dev_priv *priv,\n+\t\t  struct ether_addr *mac_entry)\n+{\n+\tint ret;\n+\tstruct ether_addr phy_mac = {}, prime_mac = {};\n+\n+\t/* Get the physical device MAC address */\n+\tret = dpni_get_port_mac_addr(dpni_dev, CMD_PRI_LOW, priv->token,\n+\t\t\t\t     phy_mac.addr_bytes);\n+\tif (ret) {\n+\t\tDPAA2_PMD_ERR(\"DPNI get physical port MAC failed: %d\", ret);\n+\t\tgoto cleanup;\n+\t}\n+\n+\tret = dpni_get_primary_mac_addr(dpni_dev, CMD_PRI_LOW, priv->token,\n+\t\t\t\t\tprime_mac.addr_bytes);\n+\tif (ret) {\n+\t\tDPAA2_PMD_ERR(\"DPNI get Prime port MAC failed: %d\", ret);\n+\t\tgoto cleanup;\n+\t}\n+\n+\t/* Now that both MAC have been obtained, do:\n+\t *  if not_empty_mac(phy) && phy != Prime, overwrite prime with Phy\n+\t *     and return phy\n+\t *  If empty_mac(phy), return prime.\n+\t *  if both are empty, create random MAC, set as prime and return\n+\t */\n+\tif (!is_zero_ether_addr(&phy_mac)) {\n+\t\t/* If the addresses are not same, overwrite prime */\n+\t\tif (!is_same_ether_addr(&phy_mac, &prime_mac)) {\n+\t\t\tret = dpni_set_primary_mac_addr(dpni_dev, CMD_PRI_LOW,\n+\t\t\t\t\t\t\tpriv->token,\n+\t\t\t\t\t\t\tphy_mac.addr_bytes);\n+\t\t\tif (ret) {\n+\t\t\t\tDPAA2_PMD_ERR(\"Unable to set MAC Address: %d\",\n+\t\t\t\t\t      ret);\n+\t\t\t\tgoto cleanup;\n+\t\t\t}\n+\t\t\tmemcpy(&prime_mac, &phy_mac, sizeof(struct ether_addr));\n+\t\t}\n+\t} else if (is_zero_ether_addr(&prime_mac)) {\n+\t\t/* In case phys and prime, both are zero, create random MAC */\n+\t\teth_random_addr(prime_mac.addr_bytes);\n+\t\tret = dpni_set_primary_mac_addr(dpni_dev, CMD_PRI_LOW,\n+\t\t\t\t\t\tpriv->token,\n+\t\t\t\t\t\tprime_mac.addr_bytes);\n+\t\tif (ret) {\n+\t\t\tDPAA2_PMD_ERR(\"Unable to set MAC Address: %d\", ret);\n+\t\t\tgoto cleanup;\n+\t\t}\n+\t}\n+\n+\t/* prime_mac the final MAC address */\n+\tmemcpy(mac_entry, &prime_mac, sizeof(struct ether_addr));\n+\treturn 0;\n+\n+cleanup:\n+\treturn -1;\n+}\n+\n static int\n dpaa2_dev_init(struct rte_eth_dev *eth_dev)\n {\n@@ -1868,7 +1933,10 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)\n \t\tgoto init_err;\n \t}\n \n-\t/* Allocate memory for storing MAC addresses */\n+\t/* Allocate memory for storing MAC addresses.\n+\t * Table of mac_filter_entries size is allocated so that RTE ether lib\n+\t * can add MAC entries when rte_eth_dev_mac_addr_add is called.\n+\t */\n \teth_dev->data->mac_addrs = rte_zmalloc(\"dpni\",\n \t\tETHER_ADDR_LEN * attr.mac_filter_entries, 0);\n \tif (eth_dev->data->mac_addrs == NULL) {\n@@ -1879,12 +1947,11 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)\n \t\tgoto init_err;\n \t}\n \n-\tret = dpni_get_primary_mac_addr(dpni_dev, CMD_PRI_LOW,\n-\t\t\t\t\tpriv->token,\n-\t\t\t(uint8_t *)(eth_dev->data->mac_addrs[0].addr_bytes));\n+\tret = populate_mac_addr(dpni_dev, priv, &eth_dev->data->mac_addrs[0]);\n \tif (ret) {\n-\t\tDPAA2_PMD_ERR(\"DPNI get mac address failed:Err Code = %d\",\n-\t\t\t     ret);\n+\t\tDPAA2_PMD_ERR(\"Unable to fetch MAC Address for device\");\n+\t\trte_free(eth_dev->data->mac_addrs);\n+\t\teth_dev->data->mac_addrs = NULL;\n \t\tgoto init_err;\n \t}\n \n",
    "prefixes": [
        "v3",
        "09/15"
    ]
}