get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2227308,
    "url": "http://patchwork.ozlabs.org/api/patches/2227308/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260423130405.139568-3-jtornosm@redhat.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260423130405.139568-3-jtornosm@redhat.com>",
    "list_archive_url": null,
    "date": "2026-04-23T13:04:03",
    "name": "[net,v4,2/4] i40e: skip unnecessary VF reset when setting trust",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "6424b51853d18004ffbf557f99608e8428e40e68",
    "submitter": {
        "id": 93070,
        "url": "http://patchwork.ozlabs.org/api/people/93070/?format=api",
        "name": "Jose Ignacio Tornos Martinez",
        "email": "jtornosm@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260423130405.139568-3-jtornosm@redhat.com/mbox/",
    "series": [
        {
            "id": 501193,
            "url": "http://patchwork.ozlabs.org/api/series/501193/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=501193",
            "date": "2026-04-23T13:04:02",
            "name": "Fix i40e/ice/iavf VF bonding after netdev lock changes",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/501193/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2227308/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2227308/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=SBYqP3jK;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g1bsY3JcJz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 23:04:49 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 167B880611;\n\tThu, 23 Apr 2026 13:04:48 +0000 (UTC)",
            "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id VTV6TP4uhyXN; Thu, 23 Apr 2026 13:04:44 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 3504F83B89;\n\tThu, 23 Apr 2026 13:04:44 +0000 (UTC)",
            "from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n by lists1.osuosl.org (Postfix) with ESMTP id 132E4206\n for <intel-wired-lan@lists.osuosl.org>; Thu, 23 Apr 2026 13:04:42 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id ED29D83B89\n for <intel-wired-lan@lists.osuosl.org>; Thu, 23 Apr 2026 13:04:41 +0000 (UTC)",
            "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 0brcuwxhz_Nh for <intel-wired-lan@lists.osuosl.org>;\n Thu, 23 Apr 2026 13:04:37 +0000 (UTC)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 4F6B183B8B\n for <intel-wired-lan@lists.osuosl.org>; Thu, 23 Apr 2026 13:04:37 +0000 (UTC)",
            "from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-583-IprX85EhNc2mqjLH94ZZ7Q-1; Thu,\n 23 Apr 2026 09:04:32 -0400",
            "from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id DAFF619560A3; Thu, 23 Apr 2026 13:04:29 +0000 (UTC)",
            "from fedora.redhat.com (unknown [10.44.32.35])\n by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id 8C96E19560AB; Thu, 23 Apr 2026 13:04:25 +0000 (UTC)"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 3504F83B89",
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 4F6B183B8B"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776949484;\n\tbh=V4Q0MOn1u0gAM7/dNJGpsnMsr1o6R0pQuwhdX44mvZo=;\n\th=From:To:Cc:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=SBYqP3jKhMjOOX/s6yPZTOa/YXmqloxCgXwIO6WumosFY1Kveax69LHGB6Tl6Wo5D\n\t dQE9TFu8gLht6X0A/otD8ym+TerU1RArv2B8O3DSJUyDIcEB/nf2Cj/1MvDqNVqVy/\n\t wtJ+UCHHIIePGfqpSdLf15u2NKRwcmXTN2GiMP7TUInn6KsLIN8dktZfi+XnEhwP2T\n\t olbFhQdiAIsSMp1+p+ji74eYVN8Ku1R5uH65wCBGkHNfJuJzgMNqhe2bJWGhk7Gy7Y\n\t w0m+4SuV8ngqrsXZ5pslvXONxpW7e2Rq0zHM5ZReM1PtOFSdb4m+m0xAxkHyvPeNl/\n\t HczU2WVo79JvA==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124;\n helo=us-smtp-delivery-124.mimecast.com; envelope-from=jtornosm@redhat.com;\n receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp1.osuosl.org 4F6B183B8B",
        "X-MC-Unique": "IprX85EhNc2mqjLH94ZZ7Q-1",
        "X-Mimecast-MFC-AGG-ID": "IprX85EhNc2mqjLH94ZZ7Q_1776949470",
        "From": "Jose Ignacio Tornos Martinez <jtornosm@redhat.com>",
        "To": "netdev@vger.kernel.org",
        "Cc": "intel-wired-lan@lists.osuosl.org, przemyslaw.kitszel@intel.com,\n aleksandr.loktionov@intel.com, jacob.e.keller@intel.com, horms@kernel.org,\n jesse.brandeburg@intel.com, anthony.l.nguyen@intel.com,\n davem@davemloft.net, edumazet@google.com, kuba@kernel.org,\n pabeni@redhat.com, Jose Ignacio Tornos Martinez <jtornosm@redhat.com>",
        "Date": "Thu, 23 Apr 2026 15:04:03 +0200",
        "Message-ID": "<20260423130405.139568-3-jtornosm@redhat.com>",
        "In-Reply-To": "<20260423130405.139568-1-jtornosm@redhat.com>",
        "References": "<20260423130405.139568-1-jtornosm@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.12",
        "X-Mimecast-MFC-PROC-ID": "Z91TOhJZ7cwhBiGwpuD2Loy_vMxmAqe5UPaLyM-vL_g_1776949470",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "content-type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com;\n s=mimecast20190719; t=1776949476;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=V4Q0MOn1u0gAM7/dNJGpsnMsr1o6R0pQuwhdX44mvZo=;\n b=XRjWG6O0ZhK+5MBlnNgsK+YuWDRahdxDailUZXFXPkpHcG8AlvfKseNNfnDVMA+NfsN83c\n cRZROyCx718C4BbI183xc/3AJo/k/hgnFjIbXatylJb+rCWtMNOoMg5R4vU6i+giSgCfva\n +qHILLlpq3PNL2kjmEciETcXOJxECCI=",
        "X-Mailman-Original-Authentication-Results": [
            "smtp1.osuosl.org;\n dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com",
            "smtp1.osuosl.org;\n dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com\n header.a=rsa-sha256 header.s=mimecast20190719 header.b=XRjWG6O0"
        ],
        "Subject": "[Intel-wired-lan] [PATCH net v4 2/4] i40e: skip unnecessary VF\n reset when setting trust",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "The current implementation triggers a VF reset when changing the trust\nsetting, causing a ~10 second delay during bonding setup.\n\nIn all the cases, the reset causes a ~10 second delay during which:\n- VF must reinitialize completely\n- Any in-progress operations (like bonding enslave) fail with timeouts\n- VF is unavailable\n\nWhen granting trust, no reset is needed - we can just set the capability\nflag to allow privileged operations.\n\nWhen revoking trust, we need to:\n1. Clear the capability flag to block privileged operations\n2. Disable promiscuous mode if it was enabled (trusted VFs can enable it)\n3. Only reset if ADQ is enabled (to clean up cloud filters)\n\nWhen we do reset (ADQ case), we reset first to clear VF_STATE_ACTIVE\n(which blocks new cloud filter additions), then delete existing cloud\nfilters safely. This avoids the race condition where VF could add filters\nduring deletion.\n\nWhen we don't reset, we manually handle capability flag and promiscuous\nmode via helper function, eliminating the delay.\n\nSigned-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>\n---\nv4: Address AI review (sashiko.dev) from Simon Horman:\n    - Manually set/clear capability flag when not resetting\n    - Explicitly disable promiscuous mode when revoking trust                                        \n    - Fix cloud filter race: reset FIRST (clears VF_STATE_ACTIVE),\n      delete filters AFTER (no race window)\n    - Add helper function i40e_setup_vf_trust() for non-reset path\nv3: https://lore.kernel.org/all/20260414110006.124286-3-jtornosm@redhat.com/\n\n .../ethernet/intel/i40e/i40e_virtchnl_pf.c    | 42 ++++++++++++++-----\n 1 file changed, 32 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\nindex a26c3d47ec15..69f68fec6809 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n@@ -4943,6 +4943,30 @@ int i40e_ndo_set_vf_spoofchk(struct net_device *netdev, int vf_id, bool enable)\n \treturn ret;\n }\n \n+/**\n+ * i40e_setup_vf_trust - Enable/disable VF trust mode without reset\n+ * @vf: VF to configure\n+ * @setting: trust setting\n+ *\n+ * Manually handle capability flag and promiscuous mode when changing trust\n+ * without performing a VF reset.\n+ * When reset is performed, this is not necessary as the reset procedure\n+ * already handles this.\n+ **/\n+static void i40e_setup_vf_trust(struct i40e_vf *vf, bool setting)\n+{\n+\tif (setting) {\n+\t\tset_bit(I40E_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps);\n+\t} else {\n+\t\tclear_bit(I40E_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps);\n+\n+\t\tif (test_bit(I40E_VF_STATE_UC_PROMISC, &vf->vf_states) ||\n+\t\t    test_bit(I40E_VF_STATE_MC_PROMISC, &vf->vf_states))\n+\t\t\ti40e_config_vf_promiscuous_mode(vf, vf->lan_vsi_idx,\n+\t\t\t\t\t\t\tfalse, false);\n+\t}\n+}\n+\n /**\n  * i40e_ndo_set_vf_trust\n  * @netdev: network interface device structure of the pf\n@@ -4987,19 +5011,17 @@ int i40e_ndo_set_vf_trust(struct net_device *netdev, int vf_id, bool setting)\n \tset_bit(__I40E_MACVLAN_SYNC_PENDING, pf->state);\n \tpf->vsi[vf->lan_vsi_idx]->flags |= I40E_VSI_FLAG_FILTER_CHANGED;\n \n-\ti40e_vc_reset_vf(vf, true);\n+\t/* Reset only if revoking trust with ADQ (for cloud filter cleanup) */\n+\tif (vf->adq_enabled && !setting) {\n+\t\ti40e_vc_reset_vf(vf, true);\n+\t\ti40e_del_all_cloud_filters(vf);\n+\t} else {\n+\t\ti40e_setup_vf_trust(vf, setting);\n+\t}\n+\n \tdev_info(&pf->pdev->dev, \"VF %u is now %strusted\\n\",\n \t\t vf_id, setting ? \"\" : \"un\");\n \n-\tif (vf->adq_enabled) {\n-\t\tif (!vf->trusted) {\n-\t\t\tdev_info(&pf->pdev->dev,\n-\t\t\t\t \"VF %u no longer Trusted, deleting all cloud filters\\n\",\n-\t\t\t\t vf_id);\n-\t\t\ti40e_del_all_cloud_filters(vf);\n-\t\t}\n-\t}\n-\n out:\n \tclear_bit(__I40E_VIRTCHNL_OP_PENDING, pf->state);\n \treturn ret;\n",
    "prefixes": [
        "net",
        "v4",
        "2/4"
    ]
}