Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1372732/?format=api
{ "id": 1372732, "url": "http://patchwork.ozlabs.org/api/patches/1372732/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20200928153002.1697183-1-razor@blackwall.org/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20200928153002.1697183-1-razor@blackwall.org>", "list_archive_url": null, "date": "2020-09-28T15:30:02", "name": "[net] net: bridge: fdb: don't flush ext_learn entries", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "5f70f4d34a36afc864ab2ee37465f36b29df656b", "submitter": { "id": 40558, "url": "http://patchwork.ozlabs.org/api/people/40558/?format=api", "name": "Nikolay Aleksandrov", "email": "razor@blackwall.org" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20200928153002.1697183-1-razor@blackwall.org/mbox/", "series": [ { "id": 204624, "url": "http://patchwork.ozlabs.org/api/series/204624/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=204624", "date": "2020-09-28T15:30:02", "name": "[net] net: bridge: fdb: don't flush ext_learn entries", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/204624/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1372732/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1372732/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netdev-owner@vger.kernel.org>", "X-Original-To": "patchwork-incoming-netdev@ozlabs.org", "Delivered-To": "patchwork-incoming-netdev@ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=23.128.96.18; helo=vger.kernel.org;\n envelope-from=netdev-owner@vger.kernel.org; receiver=<UNKNOWN>)", "ozlabs.org;\n dmarc=none (p=none dis=none) header.from=blackwall.org", "ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=blackwall-org.20150623.gappssmtp.com\n header.i=@blackwall-org.20150623.gappssmtp.com header.a=rsa-sha256\n header.s=20150623 header.b=XhxW9Ikp;\n\tdkim-atps=neutral" ], "Received": [ "from vger.kernel.org (vger.kernel.org [23.128.96.18])\n\tby ozlabs.org (Postfix) with ESMTP id 4C0RKd1CJsz9sSC\n\tfor <patchwork-incoming-netdev@ozlabs.org>;\n Tue, 29 Sep 2020 01:30:13 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n id S1726601AbgI1PaM (ORCPT\n <rfc822;patchwork-incoming-netdev@ozlabs.org>);\n Mon, 28 Sep 2020 11:30:12 -0400", "from lindbergh.monkeyblade.net ([23.128.96.19]:49396 \"EHLO\n lindbergh.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n with ESMTP id S1726477AbgI1PaL (ORCPT\n <rfc822;netdev@vger.kernel.org>); Mon, 28 Sep 2020 11:30:11 -0400", "from mail-wm1-x343.google.com (mail-wm1-x343.google.com\n [IPv6:2a00:1450:4864:20::343])\n by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2ECD8C061755\n for <netdev@vger.kernel.org>; Mon, 28 Sep 2020 08:30:10 -0700 (PDT)", "by mail-wm1-x343.google.com with SMTP id x23so1576529wmi.3\n for <netdev@vger.kernel.org>; Mon, 28 Sep 2020 08:30:10 -0700 (PDT)", "from localhost.localdomain ([78.128.78.220])\n by smtp.gmail.com with ESMTPSA id\n t202sm1903247wmt.14.2020.09.28.08.30.07\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 28 Sep 2020 08:30:07 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=blackwall-org.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=6VVT8An+NVIG2uzRBeTIUimQFMuHQujGalFijHXJVJI=;\n b=XhxW9IkpduseHfGezLNC9OdGxB2wtvIOpXqB3BDtu6tTq9Mm4FSLxbmnCPAiejqzMy\n lLX5xwhrs8gWvpa5OyzpjP6uZYDLzVIOU4TL07RRpNUAELUUd8PS2twg43gLPUp3BPQD\n 7m9PLhMfF9D87ue2POf2SWtB8NjmNEp/qwxs/RWEnYYFWLu2RElcCLRQS2cfluakSu+M\n mNiVE39M/ItzKQxu2zEpZY9HrgzS7khanvvW1O5vP8iSG+DT+L2yOyCZb57PmkPHvy+A\n HXGbGKaatNVxbed9XwCQjOewVAV19W+0NmkgLSZQGztFMpRv3BlvlUfp8dQ0oqCo+vBL\n U6QA==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=6VVT8An+NVIG2uzRBeTIUimQFMuHQujGalFijHXJVJI=;\n b=K3Xsn+agj/hgq3ABLz2XhYv8fDw0k3yZKlqPTd4L3QxW2XeE82npaiktNO/KyuX5HL\n WBaGtkhMs+e4ROSQ2RW8NXOCcgcWwiKWb8zy0l5MVWh6206wOcatAu7LElM/BW2I4O7S\n 8op/ohfuPbGwsZ8hq/ATeV405Tl84+vEYlcmq4vFwzuFF73G8nrWOk8QV8kJMR3lOu6w\n DxPTKYLA12Ir9KQBBnU5MY28La1r+itGWbTkXCAAiwCyUx9bqQGXOT7NYgnLzzpUM8kX\n Dc20+zQ9LgHJjMDa7XckDICwRpLRRN36DZYclLG8GBlCSYFk0fuRGc/ag1VQcxZ/K6W+\n Ngrw==", "X-Gm-Message-State": "AOAM532M7c6Qu6tx7Ifl+sZ0QIMriET8r8kMTF+zPIOdSkQM9B0lnoWZ\n VcPpK+ec/ya5z+5yHskjXyYmsfUM4j86khNmJ3s=", "X-Google-Smtp-Source": "\n ABdhPJyZxVWjvMtpvvDZIeNbOCG85h7F4zAnClzOR6Fcdz82eVkdT6zckKyT8PxXBJLiXdFfiDNEzA==", "X-Received": "by 2002:a7b:cd89:: with SMTP id y9mr2152572wmj.72.1601307008336;\n Mon, 28 Sep 2020 08:30:08 -0700 (PDT)", "From": "Nikolay Aleksandrov <razor@blackwall.org>", "To": "netdev@vger.kernel.org", "Cc": "idosch@nvidia.com, roopa@nvidia.com,\n bridge@lists.linux-foundation.org, davem@davemloft.net,\n Nikolay Aleksandrov <nikolay@nvidia.com>", "Subject": "[PATCH net] net: bridge: fdb: don't flush ext_learn entries", "Date": "Mon, 28 Sep 2020 18:30:02 +0300", "Message-Id": "<20200928153002.1697183-1-razor@blackwall.org>", "X-Mailer": "git-send-email 2.26.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "From: Nikolay Aleksandrov <nikolay@nvidia.com>\n\nWhen a user-space software manages fdb entries externally it should\nset the ext_learn flag which marks the fdb entry as externally managed\nand avoids expiring it (they're treated as static fdbs). Unfortunately\non events where fdb entries are flushed (STP down, netlink fdb flush\netc) these fdbs are also deleted automatically by the bridge. That in turn\ncauses trouble for the managing user-space software (e.g. in MLAG setups\nwe lose remote fdb entries on port flaps).\nThese entries are completely externally managed so we should avoid\nautomatically deleting them, the only exception are offloaded entries\n(i.e. BR_FDB_ADDED_BY_EXT_LEARN + BR_FDB_OFFLOADED). They are flushed as\nbefore.\n\nFixes: eb100e0e24a2 (\"net: bridge: allow to add externally learned entries from user-space\")\nSigned-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>\n---\n net/bridge/br_fdb.c | 2 ++\n 1 file changed, 2 insertions(+)", "diff": "diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c\nindex 9db504baa094..32ac8343b0ba 100644\n--- a/net/bridge/br_fdb.c\n+++ b/net/bridge/br_fdb.c\n@@ -413,6 +413,8 @@ void br_fdb_delete_by_port(struct net_bridge *br,\n \n \t\tif (!do_all)\n \t\t\tif (test_bit(BR_FDB_STATIC, &f->flags) ||\n+\t\t\t (test_bit(BR_FDB_ADDED_BY_EXT_LEARN, &f->flags) &&\n+\t\t\t !test_bit(BR_FDB_OFFLOADED, &f->flags)) ||\n \t\t\t (vid && f->key.vlan_id != vid))\n \t\t\t\tcontinue;\n \n", "prefixes": [ "net" ] }