get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2218088,
    "url": "http://patchwork.ozlabs.org/api/patches/2218088/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260331113025.1566878-6-wei.fang@nxp.com/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/",
        "list_archive_url": "https://lore.kernel.org/linuxppc-dev/",
        "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/",
        "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"
    },
    "msgid": "<20260331113025.1566878-6-wei.fang@nxp.com>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260331113025.1566878-6-wei.fang@nxp.com/",
    "date": "2026-03-31T11:30:16",
    "name": "[v4,net-next,05/14] net: enetc: add support for the \"Add\" operation to VLAN filter table",
    "commit_ref": null,
    "pull_url": null,
    "state": "handled-elsewhere",
    "archived": false,
    "hash": "2f42794476d4fc7e4287172a485186dd87c23e0f",
    "submitter": {
        "id": 84380,
        "url": "http://patchwork.ozlabs.org/api/people/84380/?format=api",
        "name": "Wei Fang",
        "email": "wei.fang@nxp.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260331113025.1566878-6-wei.fang@nxp.com/mbox/",
    "series": [
        {
            "id": 498181,
            "url": "http://patchwork.ozlabs.org/api/series/498181/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=498181",
            "date": "2026-03-31T11:30:11",
            "name": "Add preliminary NETC switch support for i.MX94",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/498181/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2218088/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218088/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linuxppc-dev+bounces-19070-incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=hWy73E0p;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19070-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "lists.ozlabs.org;\n arc=pass smtp.remote-ip=\"2a01:111:f403:c201::3\" arc.chain=microsoft.com",
            "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com",
            "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=hWy73E0p;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=permerror (SPF Permanent Error: Void lookup limit of 2 exceeded)\n smtp.mailfrom=nxp.com (client-ip=2a01:111:f403:c201::3;\n helo=as8pr04cu009.outbound.protection.outlook.com;\n envelope-from=wei.fang@nxp.com; receiver=lists.ozlabs.org)",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4flQrF62yfz1y1q\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 31 Mar 2026 22:29:33 +1100 (AEDT)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4flQqp4jjRz2yqP;\n\tTue, 31 Mar 2026 22:29:10 +1100 (AEDT)",
            "from AS8PR04CU009.outbound.protection.outlook.com\n (mail-westeuropeazlp170110003.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c201::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange secp256r1 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4flQqn4pWTz2ybQ\n\tfor <linuxppc-dev@lists.ozlabs.org>; Tue, 31 Mar 2026 22:29:09 +1100 (AEDT)",
            "from AM8PR04MB7284.eurprd04.prod.outlook.com (2603:10a6:20b:1dc::8)\n by PA1PR04MB11406.eurprd04.prod.outlook.com (2603:10a6:102:4f1::22) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.15; Tue, 31 Mar\n 2026 11:29:06 +0000",
            "from AM8PR04MB7284.eurprd04.prod.outlook.com\n ([fe80::9cd6:51bd:82b:98dc]) by AM8PR04MB7284.eurprd04.prod.outlook.com\n ([fe80::9cd6:51bd:82b:98dc%5]) with mapi id 15.20.9745.027; Tue, 31 Mar 2026\n 11:29:06 +0000"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1774956550;\n\tcv=pass;\n b=izG5FG9vGEq//xsjY5j84iOqoO17ceUTx3inb3MXaUD2nF6gL9+ojGOzLoT1nIVgYA//n4fdSUqtYaFW1eTY4Op8mY6BxYiqOMVqc1YP1atKzBryJb6ahX8zS/g51d51Yc7ps7gF3lHCYx6M4NPuIJugqLLL+zC9HOZW5kAsQggFdfD2OWZXnAO18is6FP70n9t0JDu/rAr3WFNAa2CrSqdTT/w8mA2DWbjTECU5W5/b8n2OyiudoW2BBxLtH1004m/JbNxOitQg9cuXyfwta+mx9xipbLFx/pPVqhHhCKSDNHX3g4tJQapFtpTYj7M69PqK3OgSyBDLErEHLTR6gA==",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=y3PYjR1iNbIJQPNQquS5IMQXgww43FVtDAkRaps76suMgNfLuR6CAHOpds4cynWCf7jxXkVDiMOYC2Tq0fBDaqlnui1bczdaCM25aIIV/7yNHOrMuZ3vbCi7UAOhH0BPGo1HzLluNA7VxZWkNUggueD9sGa7JApuhtkrfZZ3xk4vFKQVn1K7DCIG9PLgc0Gvk5nwCtHMuUKfKR102Fx8hZ6y2bgOPM7iQdEjG25rITcrTzG4XLTAuYHzkVlL8Gy2NBhSNfKc0udkQgDwXIHQwLZdNFeR1dnpY6NME2I6eRxGmaq153ZnwRsGaDsAIgfddkNhtRZIKGICCmSqLw2XLw=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1774956550; c=relaxed/relaxed;\n\tbh=3ZeZ3dPwS0u+xryUhVkkEBmIqoBeIJKKHZEGRC4U5Ck=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=EvWd1C6DwSEqPpBBIT5LdXpru5fb3Vk8xoXVQNpdR75iF1/hsmtmEBjVs+tiVercpiMY+iazRYshEz6tFT/b0MvcOyqR4ETwamkpT57s9Ri6qA6DHZ5RgbYFgWfopqEUaI2joM/h2wjCU0l6bi6J1npG50E9mxCPn1O5uMLXe5aPZ+lDu3ssD8wcbmZgcjS8h3Ir6jZ3pCiqQe+tpZnKDcsvVjwC3jFKRyrc2ZYajJel/syBQWLYSSOzApNOMCOtouww47MLn5M6B/RaPijQFQU9FzO0L4dPEn3WceMGCflQub1cmy4nZMiyF6v41GCEWZGv/H78brpvvlDNrThtbQ==",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\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=3ZeZ3dPwS0u+xryUhVkkEBmIqoBeIJKKHZEGRC4U5Ck=;\n b=BDh1dFMgfgOpsDwmB9tnE+7b2ctSdRxL8OYzLmwyFLNkj7oKzzWy933U8GPOz3cv9GXD6PhrjeRheUofuT9Zl3CfSGznubEkx0GqBcynwe2Zo6ICazOi0Xxi/NBXe2biVdf0l23RyfBeM+uUVKERI4Rwj17xcjFpbDTlijDrw4uWF0bgL3QR/smMFKbExyx/GFaFinZczpNcVMki1bCdEOMswr943lNviIoW9cIPr+xySWgqh84kLHebj6ib06tVahJODjExb2Yjrg5dnab8yUBXm0fSRspSQbIW64XpG1dTKa0WOyov4a5ZkzjNy2xB+e7X8AT4YadTAHyRDAiL+Q=="
        ],
        "ARC-Authentication-Results": [
            "i=2; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com; dkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=hWy73E0p; dkim-atps=neutral;\n spf=permerror (client-ip=2a01:111:f403:c201::3;\n helo=as8pr04cu009.outbound.protection.outlook.com;\n envelope-from=wei.fang@nxp.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=nxp.com",
            "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=3ZeZ3dPwS0u+xryUhVkkEBmIqoBeIJKKHZEGRC4U5Ck=;\n b=hWy73E0pRWOiZcN62jQVrSjx7WstBrKpB9iltv9pBc+tuuag/+/Sq1B4PtmZKf+CQo8aNb0wh6a7PTnPihr5NhR9DvA92vOAqNtqbXBqcqWnppBNPKI1MesTBOQNgji2kiEWLsImRYUM0nDwpNszTRKdtWNThgjB9M5Nh9ETTiEjqFjEXC7ZK0AwCdxuriGYyl42s8a/E0tffd87sbuy7g6ztQmIxhynFegCZd3B75z+hyKGwgJva8xem7uq7Y9iQaaCzn28m+q0bAJmTveKbMoKmRFte9T5Ba0r/BMWMeKa24SgtsaIgQ4iY0T01NvewFYhtIO1mwsx5SS2x9Nt7w==",
        "From": "Wei Fang <wei.fang@nxp.com>",
        "To": "claudiu.manoil@nxp.com,\n\tvladimir.oltean@nxp.com,\n\txiaoning.wang@nxp.com,\n\tandrew+netdev@lunn.ch,\n\tdavem@davemloft.net,\n\tedumazet@google.com,\n\tkuba@kernel.org,\n\tpabeni@redhat.com,\n\trobh@kernel.org,\n\tkrzk+dt@kernel.org,\n\tconor+dt@kernel.org,\n\tf.fainelli@gmail.com,\n\tfrank.li@nxp.com,\n\tchleroy@kernel.org,\n\thorms@kernel.org,\n\tlinux@armlinux.org.uk,\n\tandrew@lunn.ch",
        "Cc": "netdev@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tdevicetree@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\timx@lists.linux.dev",
        "Subject": "[PATCH v4 net-next 05/14] net: enetc: add support for the \"Add\"\n operation to VLAN filter table",
        "Date": "Tue, 31 Mar 2026 19:30:16 +0800",
        "Message-Id": "<20260331113025.1566878-6-wei.fang@nxp.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20260331113025.1566878-1-wei.fang@nxp.com>",
        "References": "<20260331113025.1566878-1-wei.fang@nxp.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "MA5P287CA0151.INDP287.PROD.OUTLOOK.COM\n (2603:1096:a01:1d7::14) To AM8PR04MB7284.eurprd04.prod.outlook.com\n (2603:10a6:20b:1dc::8)",
        "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org",
        "List-Id": "<linuxppc-dev.lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>",
        "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>",
        "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>",
        "Precedence": "list",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "AM8PR04MB7284:EE_|PA1PR04MB11406:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "e242f238-09bc-447f-24f8-08de8f18b81f",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|19092799006|376014|52116014|366016|7416014|1800799024|18002099003|56012099003|22082099003|38350700014|921020;",
        "X-Microsoft-Antispam-Message-Info": "\n\t50ZZwgKXsYrn0f7wPj4gNCbXN6cgGQ4V0cIm7vmv/2lXfyFUCkUHzXzTITsyVlRWfReuiIg04q2HrBGXif5jm+h7ucR1hYUGry0A+V662BUFH9DZ3x9MuRXTeMt4s1O37waFYivusyfNdM3o4Cmoq3zGR+K+Op/NW/gCRKJ4Urg3YU7Ei2DKCNGNlM00DnczNRboHfZif9OrNKxaBbFe1z5aLtub6ZNmuuFzbUkUviQ1lzs4EpcPBD5MJN415BC2zO2S2VlbX3RILdSA5NkUarJLzg60QO36WtQhs4UcFH5wNQNVEZgtHxVsXkyhpg7wpiNGRFjDzsW3vV1xLZSmMLnHB+7lftygmjYSGFKVvr3kbjln/ClhRwh8S95C6RIXVQmSxeAejLqU8AEaOGrFQ2uP+Xo+Oaad6BtblwuwixPR40GZ4Fqc1b6a0jb7T3jQWUKHz8za00Dg1KF5wR3347619gdOUO9aW/Zzb/O4G/KRuAttNwb0zgQJjoxZMdz3tF1aLXSS/pDImnLEWDxcE9b/W8Xi6XxxD89YsEO/hehQqm63YkN3NZWrBOmYGapNk+zVU00iFyTs0+AjK5dU1/jzLj4elon0ZB52X8YBVfuHrLo9ZJq0Lu8fJQexX5RViSu+bn0YcU443AVdsLrjtF7qTp5Tn8Wau4s49NDB4ZwhyPU0rMJBvyOrXiMV/Ey3kUZDmXgsplV+pogAdLZVs0D1aBludaKCfdZNgJEorDd9pPUduHeSZ3tQg2dkRumc1rF/dRNZhD9JSaHx67ny1OeFLcrwxwUAdVNnS07r9/vEw4VxW/wfsKJTm/mYs2F2",
        "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM8PR04MB7284.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(52116014)(366016)(7416014)(1800799024)(18002099003)(56012099003)(22082099003)(38350700014)(921020);DIR:OUT;SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n YxMWn8G9ALreC6/xMRj0qEygsv2lLV3VuoTv4+rBYmuX1oMDhx0qRLzPTdB0SRpgqyOOJi4vZsadC0yBY9QhOFApfzT7ppECdEHYwtgJshfxD5+/TnfyjsWEbqU4tixqOsjEFevw8DY9JIEETSrdRKfbRZNSY5pvlzlWhRuCsU2o2mkARf2vV+8S8io3sXkVCk/q61itQ1Ap/EE8g3k8VA8DRVgl7up/tvX7dsitjj/hboWoixXbxsqkF+uiqBL4IG0wFtRQPqQGEN/hle1jHAb1d5joiGoDgnDqnd681Pz9y0ydFkmERn8p5GgY9jy0u2bI/d2343Y+++XoCvWBJNpT+sY9V3BFT477FMxJyMgHdsrn1/1r60RzJrs5/TtSxOhNpWscY450Qv2TKhixwVTIn1BxQKv1oOsWMqE3o2NzDgbRzlKWU5fr0/Hi646gcLZt72nPOfmJve+xeQj6cwvITgbUpT39taROUKPt/hs1ZPdxolVzIellKx+4z63aUJMWsNhNsma5tHUQbnLsKWtFyJMalAbBX9S3fxz14vJuomT8cEBTd9m4ZHPf3nkgXN07uoNGvHc6CKAbw2M5egZZF+JU+/POWrMLpT7zaS/VFpkGF/L5mHKRNFBB+9yjOmpkfngpNI2yyeuk3lSRHvSM6qbCs2zZ/1r7cq2enAHHpskLkgcs09qe8dY3vdC+0UJED7s7p+/fh+juRAgZO8B4zn1PNoQi536jRDEUck4o2887u26OVKa556gUitPXzkZ50x3EyeC1iGmbqL0WuqyRgxk1x/ea3SMtXbXbj9I00C2REUHx8LQaEz6gufYcTzqEIBmn6hJG94CidA6Two9gKSZtQkl+Gqm1Z9QtCNr1WHp5RBxjYIMx6XExC2Oa1L4t0xW4y/6I6Y3db+hdmKXiuKZg4Lu5vVMVIWAUoPfqBYfq5t7nuOnRV+r1f1Q99rHij1SFEKcGQrO5zgyyOk33Pv9ovLQCGii+IZ14+tCYWGnaBwyN9D1cEVfWOsGGzkGuq7LaCq6UbYJd3ImdaokeUboo0cl5RwQac99WRbVNX33pQo9Iw4ei4eztvnM5WDQ3ihn+mFTga3j3t/jUqIsZYhfb8Xm2OKDajKqpYeZ8etbzkqJa77PPg56oyz9CKd9BtfElW22nwO+M9oaQpDHCew7PZMKDSz6+oHTFML9rZyu9FPTo3QDsQC3uRniH0alocNXpgCAYiti/8UEUAI91VjO8zKiyDylOAtrt8zhqTtzixT28Nj+cxdoHeLpDkLr5h3YtER7CeFhd3/r5WbX8CFjhIYXLjV98DNWwCr1hafBHpKYVBRYbLlqTULnvQsnJAd9DWDvhArB1UfrHCa2B4cZsbs8CHc9RMtPDnj2vW7/l8XQNa9/ImrWn06AnmHeDvx9zItLCEA1dhXWJyQv7rhz+Vpd1+pnZZRI0d0OsdcAy7B5o4IKh1g1h2PeX1MUz/CFGIqup4+emJdqVMEeevPC0Yc3WVrGa0hlbCpLvQ75mllzVs7r6yucMbqwrHTa6yEqdRIxOrvXcZoH9L/Hhep4BI0IT3KrI43pBUncamHxikPMEUJh1bZLQ39BN/7jWgI/NCgvw9x6qeKdCK1TpNQ8ww/yEqZMvFTW/ygyTyXzqvdG5LOxr/I0nosPhqLPVUQ2HLs8HpvB2zXyU7f1qQDmdamZyjxdBjmILpwfmmZSV6LdkdLw2InVySRJE",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n e242f238-09bc-447f-24f8-08de8f18b81f",
        "X-MS-Exchange-CrossTenant-AuthSource": "AM8PR04MB7284.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "31 Mar 2026 11:29:06.5453\n (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n 8xUrn/vEd5Zze0KtjyorVw6rri/94coqaxStv107K5cdCdnby7TUqsQvgNntomTLSs+VXz2b4pNs08bM7x3hOw==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PA1PR04MB11406",
        "X-Spam-Status": "No, score=0.8 required=3.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,\n\tSPF_HELO_PASS,T_SPF_PERMERROR autolearn=disabled version=4.0.1 OzLabs 8",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"
    },
    "content": "The VLAN filter table contains configuration and control information for\neach VLAN configured on the switch. Each VLAN entry includes the VLAN\nport membership, which FID to use in the FDB lookup, which spanning tree\ngroup to use, the egress frame modification actions to apply to a frame\nexiting form this VLAN, and various configuration and control parameters\nfor this VLAN.\n\nThe VLAN filter table can only be managed by the command BD ring using\ntable management protocol version 2.0. The table supports Add, Delete,\nUpdate and Query operations. And the table supports 3 access methods:\nEntry ID, Exact Match Key Element and Search. But currently we only add\nthe ntmp_vft_add_entry() helper to support the upcoming switch driver to\nadd an entry to the VLAN filter table. Other interfaces will be added in\nthe future.\n\nSigned-off-by: Wei Fang <wei.fang@nxp.com>\n---\n drivers/net/ethernet/freescale/enetc/ntmp.c   | 50 +++++++++++++++++++\n .../ethernet/freescale/enetc/ntmp_private.h   | 19 +++++++\n include/linux/fsl/ntmp.h                      | 30 +++++++++++\n 3 files changed, 99 insertions(+)",
    "diff": "diff --git a/drivers/net/ethernet/freescale/enetc/ntmp.c b/drivers/net/ethernet/freescale/enetc/ntmp.c\nindex a4a99954baf2..d7d8a37078d1 100644\n--- a/drivers/net/ethernet/freescale/enetc/ntmp.c\n+++ b/drivers/net/ethernet/freescale/enetc/ntmp.c\n@@ -21,6 +21,7 @@\n #define NTMP_MAFT_ID\t\t\t1\n #define NTMP_RSST_ID\t\t\t3\n #define NTMP_FDBT_ID\t\t\t15\n+#define NTMP_VFT_ID\t\t\t18\n \n /* Generic Update Actions for most tables */\n #define NTMP_GEN_UA_CFGEU\t\tBIT(0)\n@@ -231,6 +232,8 @@ static const char *ntmp_table_name(int tbl_id)\n \t\treturn \"RSS Table\";\n \tcase NTMP_FDBT_ID:\n \t\treturn \"FDB Table\";\n+\tcase NTMP_VFT_ID:\n+\t\treturn \"VLAN Filter Table\";\n \tdefault:\n \t\treturn \"Unknown Table\";\n \t}\n@@ -652,5 +655,52 @@ int ntmp_fdbt_search_port_entry(struct ntmp_user *user, int port,\n }\n EXPORT_SYMBOL_GPL(ntmp_fdbt_search_port_entry);\n \n+/**\n+ * ntmp_vft_add_entry - add an entry into the VLAN filter table\n+ * @user: target ntmp_user struct\n+ * @vid: VLAN ID\n+ * @cfge: configuration element data\n+ *\n+ * Return: 0 on success, otherwise a negative error code\n+ */\n+int ntmp_vft_add_entry(struct ntmp_user *user, u16 vid,\n+\t\t       const struct vft_cfge_data *cfge)\n+{\n+\tstruct ntmp_dma_buf data = {\n+\t\t.dev = user->dev,\n+\t\t.size = sizeof(struct vft_req_ua),\n+\t};\n+\tstruct vft_req_ua *req;\n+\tunion netc_cbd cbd;\n+\tu32 len;\n+\tint err;\n+\n+\terr = ntmp_alloc_data_mem(&data, (void **)&req);\n+\tif (err)\n+\t\treturn err;\n+\n+\t/* Request data */\n+\tntmp_fill_crd(&req->crd, user->tbl.vft_ver, 0,\n+\t\t      NTMP_GEN_UA_CFGEU);\n+\treq->ak.exact.vid = cpu_to_le16(vid);\n+\treq->cfge = *cfge;\n+\n+\t/* Request header */\n+\tlen = NTMP_LEN(data.size, NTMP_STATUS_RESP_LEN);\n+\tntmp_fill_request_hdr(&cbd, data.dma, len, NTMP_VFT_ID,\n+\t\t\t      NTMP_CMD_ADD, NTMP_AM_EXACT_KEY);\n+\n+\terr = netc_xmit_ntmp_cmd(user, &cbd);\n+\tif (err)\n+\t\tdev_err(user->dev,\n+\t\t\t\"Failed to add %s entry, vid: %u, err: %pe\\n\",\n+\t\t\tntmp_table_name(NTMP_VFT_ID), vid, ERR_PTR(err));\n+\n+\tntmp_free_data_mem(&data);\n+\n+\treturn err;\n+}\n+EXPORT_SYMBOL_GPL(ntmp_vft_add_entry);\n+\n MODULE_DESCRIPTION(\"NXP NETC Library\");\n MODULE_LICENSE(\"Dual BSD/GPL\");\ndiff --git a/drivers/net/ethernet/freescale/enetc/ntmp_private.h b/drivers/net/ethernet/freescale/enetc/ntmp_private.h\nindex 8999eafe1920..d2a6399b0a36 100644\n--- a/drivers/net/ethernet/freescale/enetc/ntmp_private.h\n+++ b/drivers/net/ethernet/freescale/enetc/ntmp_private.h\n@@ -160,4 +160,23 @@ struct fdbt_resp_query {\n \tu8 resv[3];\n };\n \n+/* Access Key Format of VLAN Filter Table */\n+struct vft_ak_exact {\n+\t__le16 vid; /* bit0~11: VLAN ID, other bits are reserved */\n+\t__le16 resv;\n+};\n+\n+union vft_access_key {\n+\t__le32 entry_id; /* entry_id match */\n+\tstruct vft_ak_exact exact;\n+\t__le32 resume_entry_id; /* search */\n+};\n+\n+/* VLAN Filter Table Request Data Buffer Format of Update and Add actions */\n+struct vft_req_ua {\n+\tstruct ntmp_cmn_req_data crd;\n+\tunion vft_access_key ak;\n+\tstruct vft_cfge_data cfge;\n+};\n+\n #endif\ndiff --git a/include/linux/fsl/ntmp.h b/include/linux/fsl/ntmp.h\nindex a9f3e6cbf422..2aedea17307f 100644\n--- a/include/linux/fsl/ntmp.h\n+++ b/include/linux/fsl/ntmp.h\n@@ -32,6 +32,7 @@ struct netc_tbl_vers {\n \tu8 maft_ver;\n \tu8 rsst_ver;\n \tu8 fdbt_ver;\n+\tu8 vft_ver;\n };\n \n struct netc_cbdr {\n@@ -94,6 +95,27 @@ struct fdbt_entry_data {\n #define FDBT_ACT_FLAG\t\tBIT(7)\n };\n \n+struct vft_cfge_data {\n+\t__le32 bitmap_stg;\n+#define VFT_PORT_MEMBERSHIP\tGENMASK(23, 0)\n+#define VFT_STG_ID_MASK\t\tGENMASK(27, 24)\n+#define VFT_STG_ID(g)\t\tFIELD_PREP(VFT_STG_ID_MASK, (g))\n+\t__le16 fid;\n+#define VFT_FID\t\t\tGENMASK(11, 0)\n+\t__le16 cfg;\n+#define VFT_MLO\t\t\tGENMASK(2, 0)\n+#define VFT_MFO\t\t\tGENMASK(4, 3)\n+#define VFT_IPMFE\t\tBIT(6)\n+#define VFT_IPMFLE\t\tBIT(7)\n+#define VFT_PGA\t\t\tBIT(8)\n+#define VFT_SFDA\t\tBIT(10)\n+#define VFT_OSFDA\t\tBIT(11)\n+#define VFT_FDBAFSS\t\tBIT(12)\n+\t__le32 eta_port_bitmap;\n+#define VFT_ETA_PORT_BITMAP\tGENMASK(23, 0)\n+\t__le32 et_eid;\n+};\n+\n #if IS_ENABLED(CONFIG_NXP_NETC_LIB)\n int ntmp_init_cbdr(struct netc_cbdr *cbdr, struct device *dev,\n \t\t   const struct netc_cbdr_regs *regs);\n@@ -118,6 +140,8 @@ int ntmp_fdbt_delete_entry(struct ntmp_user *user, u32 entry_id);\n int ntmp_fdbt_search_port_entry(struct ntmp_user *user, int port,\n \t\t\t\tu32 *resume_entry_id,\n \t\t\t\tstruct fdbt_entry_data *entry);\n+int ntmp_vft_add_entry(struct ntmp_user *user, u16 vid,\n+\t\t       const struct vft_cfge_data *cfge);\n #else\n static inline int ntmp_init_cbdr(struct netc_cbdr *cbdr, struct device *dev,\n \t\t\t\t const struct netc_cbdr_regs *regs)\n@@ -183,6 +207,12 @@ static inline int ntmp_fdbt_search_port_entry(struct ntmp_user *user, int port,\n \treturn 0;\n }\n \n+static inline int ntmp_vft_add_entry(struct ntmp_user *user, u16 vid,\n+\t\t\t\t     const struct vft_cfge_data *cfge)\n+{\n+\treturn 0;\n+}\n+\n #endif\n \n #endif\n",
    "prefixes": [
        "v4",
        "net-next",
        "05/14"
    ]
}