get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1529567,
    "url": "http://patchwork.ozlabs.org/api/patches/1529567/",
    "web_url": "http://patchwork.ozlabs.org/project/ovn/patch/20210917214945.10284-2-odivlad@gmail.com/",
    "project": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/projects/68/",
        "name": "Open Virtual Network development",
        "link_name": "ovn",
        "list_id": "ovs-dev.openvswitch.org",
        "list_email": "ovs-dev@openvswitch.org",
        "web_url": "http://openvswitch.org/",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20210917214945.10284-2-odivlad@gmail.com>",
    "list_archive_url": null,
    "date": "2021-09-17T21:49:43",
    "name": "[ovs-dev,v3,1/3] ic: process only local port_bindings",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "8f74bb86193eb1737ade7f527a42ea31c236f223",
    "submitter": {
        "id": 80943,
        "url": "http://patchwork.ozlabs.org/api/people/80943/",
        "name": "Vladislav Odintsov",
        "email": "odivlad@gmail.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ovn/patch/20210917214945.10284-2-odivlad@gmail.com/mbox/",
    "series": [
        {
            "id": 262887,
            "url": "http://patchwork.ozlabs.org/api/series/262887/",
            "web_url": "http://patchwork.ozlabs.org/project/ovn/list/?series=262887",
            "date": "2021-09-17T21:49:42",
            "name": "Add multiple routing tables support to Logical Routers",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/262887/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1529567/comments/",
    "check": "fail",
    "checks": "http://patchwork.ozlabs.org/api/patches/1529567/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<ovs-dev-bounces@openvswitch.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "dev@openvswitch.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@ozlabs.org",
            "ovs-dev@lists.linuxfoundation.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20210112 header.b=lrzGhxz6;\n\tdkim-atps=neutral",
            "ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=140.211.166.136; helo=smtp3.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN>)",
            "smtp4.osuosl.org (amavisd-new);\n dkim=pass (2048-bit key) header.d=gmail.com"
        ],
        "Received": [
            "from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 4HB70W3w7Pz9sW4\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Sep 2021 07:50:03 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 3E43E6F90E;\n\tFri, 17 Sep 2021 21:50:01 +0000 (UTC)",
            "from smtp3.osuosl.org ([127.0.0.1])\n\tby localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id L7fCwgCoiKzR; Fri, 17 Sep 2021 21:50:00 +0000 (UTC)",
            "from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp3.osuosl.org (Postfix) with ESMTPS id 7382F6F904;\n\tFri, 17 Sep 2021 21:49:59 +0000 (UTC)",
            "from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 2EC58C000F;\n\tFri, 17 Sep 2021 21:49:59 +0000 (UTC)",
            "from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists.linuxfoundation.org (Postfix) with ESMTP id 5A9A4C000D\n for <dev@openvswitch.org>; Fri, 17 Sep 2021 21:49:58 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id 4382A425B5\n for <dev@openvswitch.org>; Fri, 17 Sep 2021 21:49:58 +0000 (UTC)",
            "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n with ESMTP id 8O67snILEzBJ for <dev@openvswitch.org>;\n Fri, 17 Sep 2021 21:49:55 +0000 (UTC)",
            "from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com\n [IPv6:2a00:1450:4864:20::12c])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 4F150425AF\n for <dev@openvswitch.org>; Fri, 17 Sep 2021 21:49:55 +0000 (UTC)",
            "by mail-lf1-x12c.google.com with SMTP id c8so38332095lfi.3\n for <dev@openvswitch.org>; Fri, 17 Sep 2021 14:49:55 -0700 (PDT)",
            "from localhost.localdomain (109-252-131-59.dynamic.spd-mgts.ru.\n [109.252.131.59])\n by smtp.gmail.com with ESMTPSA id e17sm831979ljk.133.2021.09.17.14.49.52\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Fri, 17 Sep 2021 14:49:52 -0700 (PDT)"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "whitelisted by SQLgrey-1.8.0",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=oCcAKZQjG9lSMMmrjQg/37kocHd4cudxKbHpf5/jSdE=;\n b=lrzGhxz6LHmyOqo9CDtjnYF4iWGHcmZgTc5c3zDylTH2eQZnfEVCusXCpaZ4D1oKFD\n qq2E7aDN2DTFjDfFMlt3fYsj07zaxjDNObTjvUJWFsexZBcbzaE4QDGmqmK2Pft5+Khv\n FLiQbl0m4ypQnZRpjbhUPnhoVHtKU/RVU/+daeIXX5NWB7gJWTABPoQuiNJRNCAlIYPW\n +VkAxjI8geE7GSR/eRcW2HDKEIM7rpvb1oDNgayDAy0Kod+WPH3B5ntiuIPfcG69TxHQ\n IyKlUHnMBQ+caFbnJ+kikkuqoyJkW6CZTzG8byKk/zzpMWz3KpPwaR1dhH6n245fz8jz\n TE3g==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=oCcAKZQjG9lSMMmrjQg/37kocHd4cudxKbHpf5/jSdE=;\n b=VZhXfWsW3OU+3BovyPysGQ15RhxElKsDtuEUHUxTZKmPVYWJdkaXce90BDFjKNf/PH\n 1B30CcDA5+5e1QQMdIPbUKxDnIvqiGp5ptDNTikoE2qWWFqMR8Bgb9YGlBpbFOGwm1Q8\n 7aKe2Ge5HG/vEZGZDQeUenXOYgRnfvaXQeawug8M9U19/+EqYoOedzFXSU42ivru37sG\n WgNHaD3FhmEA6+C0Tk28kaOkwIo2AV+MityvobZ0L1XdH8Hf6GHpN/Vv1wQ9RB2KPYa0\n HMEWdVBAOVfimOpj9XmmzWi/9DvrdXqiiefP/hJjPNx8/5KpElkE3ycILmrvGeisft/B\n IjiQ==",
        "X-Gm-Message-State": "AOAM532ZA6mUMkuLf9CakVscldkBBSWIRySvt9qT5PmHB3zvYQssin48\n HE0qCS2EYKDC8WKTFaDTT7d1Ek8p+MU=",
        "X-Google-Smtp-Source": "\n ABdhPJwyfhSYLD+d5ZBE5a03Pmamfpne3huZ1PuCsrtn+AqVF+Cr6JjHVvA7mgpgk4K4Jc/QSsxXuQ==",
        "X-Received": "by 2002:a05:651c:a0f:: with SMTP id\n k15mr10841426ljq.231.1631915393005;\n Fri, 17 Sep 2021 14:49:53 -0700 (PDT)",
        "From": "Vladislav Odintsov <odivlad@gmail.com>",
        "To": "dev@openvswitch.org",
        "Date": "Sat, 18 Sep 2021 00:49:43 +0300",
        "Message-Id": "<20210917214945.10284-2-odivlad@gmail.com>",
        "X-Mailer": "git-send-email 2.30.0",
        "In-Reply-To": "<20210917214945.10284-1-odivlad@gmail.com>",
        "References": "<20210917214945.10284-1-odivlad@gmail.com>",
        "MIME-Version": "1.0",
        "Cc": "Vladislav Odintsov <odivlad@gmail.com>",
        "Subject": "[ovs-dev] [PATCH ovn v3 1/3] ic: process only local port_bindings",
        "X-BeenThere": "ovs-dev@openvswitch.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "<ovs-dev.openvswitch.org>",
        "List-Unsubscribe": "<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>",
        "List-Archive": "<http://mail.openvswitch.org/pipermail/ovs-dev/>",
        "List-Post": "<mailto:ovs-dev@openvswitch.org>",
        "List-Help": "<mailto:ovs-dev-request@openvswitch.org?subject=help>",
        "List-Subscribe": "<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n <mailto:ovs-dev-request@openvswitch.org?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "ovs-dev-bounces@openvswitch.org",
        "Sender": "\"dev\" <ovs-dev-bounces@openvswitch.org>"
    },
    "content": "This commit adds a small optimization by utilizing ovsdb_index\nto iterate over port_bindings.\nPrior to this change each iteration checked availability_zone\nand continued processing only if port_binding belons to local AZ.\n\nNow we run against port_bindings from local AZ only and don't check\navailability_zone.\n\nSigned-off-by: Vladislav Odintsov <odivlad@gmail.com>\n---\n ic/ovn-ic.c | 17 +++++++++++------\n 1 file changed, 11 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/ic/ovn-ic.c b/ic/ovn-ic.c\nindex 99356253d..92c83d730 100644\n--- a/ic/ovn-ic.c\n+++ b/ic/ovn-ic.c\n@@ -68,6 +68,7 @@ struct ic_context {\n     struct ovsdb_idl_index *sbrec_port_binding_by_name;\n     struct ovsdb_idl_index *icsbrec_port_binding_by_az;\n     struct ovsdb_idl_index *icsbrec_port_binding_by_ts;\n+    struct ovsdb_idl_index *icsbrec_port_binding_by_ts_az;\n     struct ovsdb_idl_index *icsbrec_route_by_ts;\n     struct ovsdb_idl_index *icsbrec_route_by_ts_az;\n };\n@@ -1386,17 +1387,15 @@ route_run(struct ic_context *ctx,\n         const struct icsbrec_port_binding *isb_pb;\n         const struct icsbrec_port_binding *isb_pb_key =\n             icsbrec_port_binding_index_init_row(\n-                ctx->icsbrec_port_binding_by_ts);\n+                ctx->icsbrec_port_binding_by_ts_az);\n         icsbrec_port_binding_index_set_transit_switch(isb_pb_key, ts->name);\n+        icsbrec_port_binding_index_set_availability_zone(isb_pb_key, az);\n \n         /* Each port on TS maps to a logical router, which is stored in the\n          * external_ids:router-id of the IC SB port_binding record. */\n         ICSBREC_PORT_BINDING_FOR_EACH_EQUAL (isb_pb, isb_pb_key,\n-                                             ctx->icsbrec_port_binding_by_ts) {\n-            if (isb_pb->availability_zone != az) {\n-                continue;\n-            }\n-\n+                                             ctx->icsbrec_port_binding_by_ts_az)\n+        {\n             const char *ts_lrp_name =\n                 get_lrp_name_by_ts_port_name(ctx, isb_pb->logical_port);\n             if (!ts_lrp_name) {\n@@ -1713,6 +1712,11 @@ main(int argc, char *argv[])\n         = ovsdb_idl_index_create1(ovnisb_idl_loop.idl,\n                                   &icsbrec_port_binding_col_transit_switch);\n \n+    struct ovsdb_idl_index *icsbrec_port_binding_by_ts_az\n+        = ovsdb_idl_index_create2(ovnisb_idl_loop.idl,\n+                                  &icsbrec_port_binding_col_transit_switch,\n+                                  &icsbrec_port_binding_col_availability_zone);\n+\n     struct ovsdb_idl_index *icsbrec_route_by_ts\n         = ovsdb_idl_index_create1(ovnisb_idl_loop.idl,\n                                   &icsbrec_route_col_transit_switch);\n@@ -1763,6 +1767,7 @@ main(int argc, char *argv[])\n                 .sbrec_chassis_by_name = sbrec_chassis_by_name,\n                 .icsbrec_port_binding_by_az = icsbrec_port_binding_by_az,\n                 .icsbrec_port_binding_by_ts = icsbrec_port_binding_by_ts,\n+                .icsbrec_port_binding_by_ts_az = icsbrec_port_binding_by_ts_az,\n                 .icsbrec_route_by_ts = icsbrec_route_by_ts,\n                 .icsbrec_route_by_ts_az = icsbrec_route_by_ts_az,\n             };\n",
    "prefixes": [
        "ovs-dev",
        "v3",
        "1/3"
    ]
}