Show a cover letter.

GET /api/covers/1306573/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 1306573,
    "url": "http://patchwork.ozlabs.org/api/covers/1306573/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/openvswitch/cover/20200610061726.1937231-1-numans@ovn.org/",
    "project": {
        "id": 47,
        "url": "http://patchwork.ozlabs.org/api/projects/47/?format=api",
        "name": "Open vSwitch",
        "link_name": "openvswitch",
        "list_id": "ovs-dev.openvswitch.org",
        "list_email": "ovs-dev@openvswitch.org",
        "web_url": "http://openvswitch.org/",
        "scm_url": "git@github.com:openvswitch/ovs.git",
        "webscm_url": "https://github.com/openvswitch/ovs",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20200610061726.1937231-1-numans@ovn.org>",
    "list_archive_url": null,
    "date": "2020-06-10T06:17:26",
    "name": "[ovs-dev,ovn,v11,0/6] Incremental processing improvements.",
    "submitter": {
        "id": 77669,
        "url": "http://patchwork.ozlabs.org/api/people/77669/?format=api",
        "name": "Numan Siddique",
        "email": "numans@ovn.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/openvswitch/cover/20200610061726.1937231-1-numans@ovn.org/mbox/",
    "series": [
        {
            "id": 182423,
            "url": "http://patchwork.ozlabs.org/api/series/182423/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/openvswitch/list/?series=182423",
            "date": "2020-06-10T06:17:26",
            "name": "Incremental processing improvements.",
            "version": 11,
            "mbox": "http://patchwork.ozlabs.org/series/182423/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/1306573/comments/",
    "headers": {
        "Return-Path": "<ovs-dev-bounces@openvswitch.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "dev@openvswitch.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "ovs-dev@lists.linuxfoundation.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=140.211.166.138; helo=whitealder.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN>)",
            "ozlabs.org;\n dmarc=none (p=none dis=none) header.from=ovn.org"
        ],
        "Received": [
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 49hcH06Fbtz9sSF\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 10 Jun 2020 16:17:48 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id D519A87FEA;\n\tWed, 10 Jun 2020 06:17:46 +0000 (UTC)",
            "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id mbko1XDDRDk3; Wed, 10 Jun 2020 06:17:44 +0000 (UTC)",
            "from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 503D887F8B;\n\tWed, 10 Jun 2020 06:17:44 +0000 (UTC)",
            "from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 35569C088C;\n\tWed, 10 Jun 2020 06:17:44 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists.linuxfoundation.org (Postfix) with ESMTP id 5C6B0C016F\n for <dev@openvswitch.org>; Wed, 10 Jun 2020 06:17:43 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by silver.osuosl.org (Postfix) with ESMTP id 47826234AC\n for <dev@openvswitch.org>; Wed, 10 Jun 2020 06:17:43 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n with ESMTP id BYimxg2w8Q06 for <dev@openvswitch.org>;\n Wed, 10 Jun 2020 06:17:41 +0000 (UTC)",
            "from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net\n [217.70.183.196])\n by silver.osuosl.org (Postfix) with ESMTPS id 29B2922849\n for <dev@openvswitch.org>; Wed, 10 Jun 2020 06:17:40 +0000 (UTC)",
            "from nusiddiq.home.org.com (unknown [115.99.171.40])\n (Authenticated sender: numans@ovn.org)\n by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 95527E0007;\n Wed, 10 Jun 2020 06:17:36 +0000 (UTC)"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-Originating-IP": "115.99.171.40",
        "From": "numans@ovn.org",
        "To": "dev@openvswitch.org",
        "Date": "Wed, 10 Jun 2020 11:47:26 +0530",
        "Message-Id": "<20200610061726.1937231-1-numans@ovn.org>",
        "X-Mailer": "git-send-email 2.26.2",
        "MIME-Version": "1.0",
        "Subject": "[ovs-dev] [PATCH ovn v11 0/6] Incremental processing improvements.",
        "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": "From: Numan Siddique <numans@ovn.org>\n\nThis patch series handles port binding, datapath binding, ovs interface changes,\nruntime data changes, sb chassis changes incrementally.\n\n\nBelow are the results of some testing I did with ovn-fake-multinode\nsetup\n\nTest setup\n------\n 1. ovn-central fake node running OVN dbs and 2 compute nodes running\n    ovn-controller.\n\n 2. Before running the tests, used an existing OVN db with the below\nresources\n   No of logical switches     - 53\n   No of logical ports        - 1256\n   No of logical routers      - 9\n   No of logical router ports - 56\n   No of port groups          - 152\n   No of logical flows        - 45447\n\n   Port bindings on compute-1 -  19\n   Port bindings on compute-2 -  18\n   No of OF flows on compute-1 - 84996\n   No of OF flows on compute-2 - 84901\n\n 3. The test does the following\n    - Creates 2 logical switches (one for each compute node) and connect to a\n      logical router for each compute node.\n    - 100 logical ports are created (50 per lswitch), a simple ACL is added and the address\n      set is created for each port.\n    - Each port is bound on the respective compute node and the test\n      pings the IP of the port (from another port belonging to the same\n      lswitch created earlier).\n\n\nBelow are the results with OVN master\n\n+---------------------------------------------------------------------------------------------------------+\n|                                          Response Times (sec)                                           |\n+----------------------------------+-------+--------+--------+--------+--------+--------+---------+-------+\n| action                           | min   | median | 90%ile | 95%ile | max    | avg    | success | count |\n+----------------------------------+-------+--------+--------+--------+--------+--------+---------+-------+\n| ovn.create_or_update_address_set | 0.491 | 0.519  | 0.542  | 0.548  | 0.558  | 0.521  | 100.0%  | 100   |\n| ovn.create_or_update_port_group  | 0.0   | 0.0    | 0.0    | 0.0    | 0.001  | 0.0    | 100.0%  | 100   |\n| ovn.create_port_group_acls       | 0.966 | 1.037  | 1.065  | 1.069  | 1.07   | 1.037  | 50.0%   | 100   |\n| ovn_network.bind_port            | 1.242 | 1.341  | 1.397  | 1.409  | 1.443  | 1.348  | 100.0%  | 100   |\n| ovn.bind_ovs_vm                  | 0.413 | 0.469  | 0.49   | 0.494  | 0.523  | 0.469  | 100.0%  | 100   |\n| ovn.bind_internal_vm             | 0.804 | 0.875  | 0.921  | 0.935  | 0.95   | 0.88   | 100.0%  | 100   |\n| ovn_network.wait_port_ping       | 6.695 | 7.788  | 7.903  | 11.63  | 16.124 | 7.997  | 100.0%  | 100   |\n| total                            | 9.271 | 10.318 | 11.269 | 14.047 | 18.509 | 10.871 | 100.0%  | 100   |\n+----------------------------------+-------+--------+--------+--------+--------+--------+---------+-------+\nLoad duration: 1087.5742933750153\nFull duration: 1089.151035308838\n\n\nBelow are the results with these patches\n\n+-------------------------------------------------------------------------------------------------------+\n|                                         Response Times (sec)                                          |\n+----------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+\n| action                           | min   | median | 90%ile | 95%ile | max   | avg   | success | count |\n+----------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+\n| ovn.create_or_update_address_set | 0.484 | 0.506  | 0.53   | 0.536  | 0.551 | 0.509 | 100.0%  | 100   |\n| ovn.create_or_update_port_group  | 0.0   | 0.0    | 0.0    | 0.0    | 0.0   | 0.0   | 100.0%  | 100   |\n| ovn.create_port_group_acls       | 0.966 | 1.006  | 1.032  | 1.036  | 1.059 | 1.006 | 50.0%   | 100   |\n| ovn_network.bind_port            | 1.255 | 1.352  | 1.421  | 1.444  | 1.516 | 1.352 | 100.0%  | 100   |\n| ovn.bind_ovs_vm                  | 0.411 | 0.455  | 0.472  | 0.476  | 0.5   | 0.456 | 100.0%  | 100   |\n| ovn.bind_internal_vm             | 0.806 | 0.893  | 0.968  | 0.989  | 1.043 | 0.896 | 100.0%  | 100   |\n| ovn_network.wait_port_ping       | 0.226 | 0.253  | 0.325  | 0.329  | 0.347 | 0.267 | 100.0%  | 100   |\n| total                            | 2.517 | 3.137  | 3.718  | 3.749  | 3.797 | 3.135 | 100.0%  | 100   |\n+----------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+\nLoad duration: 313.99292826652527\nFull duration: 315.29931354522705\n\nI ran same tests but with 1000 lports and below are the results with\nthese patches\n\n+-------------------------------------------------------------------------------------------------------+\n|                                         Response Times (sec)                                          |\n+----------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+\n| action                           | min   | median | 90%ile | 95%ile | max   | avg   | success | count |\n+----------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+\n| ovn.create_or_update_address_set | 0.483 | 0.555  | 0.6    | 0.615  | 0.661 | 0.555 | 100.0%  | 1000  |\n| ovn.create_or_update_port_group  | 0.0   | 0.0    | 0.0    | 0.0    | 0.002 | 0.0   | 100.0%  | 1000  |\n| ovn.create_port_group_acls       | 0.973 | 1.101  | 1.176  | 1.195  | 1.271 | 1.097 | 50.0%   | 1000  |\n| ovn_network.bind_port            | 1.239 | 1.371  | 1.444  | 1.47   | 1.557 | 1.373 | 100.0%  | 1000  |\n| ovn.bind_ovs_vm                  | 0.409 | 0.482  | 0.522  | 0.541  | 0.597 | 0.486 | 100.0%  | 1000  |\n| ovn.bind_internal_vm             | 0.784 | 0.882  | 0.945  | 0.968  | 1.063 | 0.887 | 100.0%  | 1000  |\n| ovn_network.wait_port_ping       | 0.218 | 0.251  | 0.313  | 0.324  | 0.395 | 0.262 | 100.0%  | 1000  |\n| total                            | 2.465 | 3.251  | 3.956  | 4.016  | 4.226 | 3.274 | 100.0%  | 1000  |\n+----------------------------------+-------+--------+--------+--------+-------+-------+---------+-------+\nLoad duration: 3279.292845249176\nFull duration: 3280.6857619285583\n\n\nv10 -> v11\n----\n * The firt 3 patches of v10 are now merged to master.\n * The v11 has now 6 patches.\n * Addressed the review comments from Dumitru.\n * Added another new patch - which adds the util function\n   get_unique_lport_key() and use this function in places\n   where it was generating this key earlier.\n\n\nv9 -> v10\n----\n * Addressed review comments.\n * Changed the patch 4 from adding a separate tracking variable in I-P\n   engine to just adding a new function - clear_tracked_data() as per\n   the review comments.\n * Dropped the patch 9 - \"ovn-controller: Handle sbrec_chassis changes incrementally.\"\n   from the series. I couldn't address the review comments for this patch in v9.\n   Hence dropped this patch for now. I'll work on it later and submit\n   the patch separately.\n * Added a new test only patch - patch 9 in ovn-performance.at to test the\n   distributed logical router ports scenario and BFD.\n\nv8 -> v9\n----\n * Addressed the review comments from Dumitru and missed v7 comments from\n   Han.\n * Any change to the 'local_lport_ids' while handling the OVS interface and Port\n   binding changes in binding.c is now added to the tracked\n   datapaths which was not done earlier.\n * Dropped the check to lflow_evaluate_pb_changes() in flow_output port\n   binding handler as it is not required.\n\nv7 -> v8\n----\n * Dropped the patch 4 as it is not needed, thanks to Han.\n * Swapped the patches 5 and 6, which are now patch 4 and 5. The v8 patch 5 will now make\n   use of tracked data support of engine to clear the physical_flow\n   changes.\n * Addressed comments from Han. Added comments in Patch 5 and Patch 6.\n\nv6 -> v7\n----\n  * Addressed the review comments from Han in patch 1 and patch 2.\n\nv5 -> v6\n----\n  * Addressed the review comments from Dumitru.\n  * Patch 1 and Patch 2 are significantly changed due to\n    further refactoring.\n\nv4 -> v5\n----\n  * Applied patch 1 of v4 to master.\n  * Addressed the review comments from Han for patch 2.\n  * Rebased to latest master.\n\nv3 -> v4\n----\n  * A small fix in patch 3 when binding the port for ovs interface\n    change.\n  * Rebased to latest master.\n\n\nv2 -> v3\n----\n  * Added back the patch 5 and 6 and added 4 more patches. So totally\n    totally 10 patches in the series\n  * Handling the runtime data changes in flow computation.\n  * Handling sbrec_chassis changes.\n\nv1 -> v2\n------\n  * Addressed the review comments from Han in patch 1, 2 and 3.\n  * Removed patch 5 and 6 from the series. As per the comments\n    from Han, we should handle runtime data changes in flow output\n    engine. But the patch 6 of the series had added a no-op\n    handler. So removed these 2 patches until those are addressed.\n\nRFC v2 -> v1\n---------\n * Fixed the 2 failing test cases.\n * Updated the commit messages.\n\n\nRFC v1 -> RFC v2\n---------\n * Added 2 new patches\n * Patch 5 (ofctrl_check_and_add_flow) was submitted earlier too and\n   the previous discussion is here - https://patchwork.ozlabs.org/patch/1202417/\n * Patch 6 handles I-P for ct_zone and OVS interface changes in\n   flow_output_run stage.\nNuman Siddique (6):\n  Refactor binding_run()to take two context argument - binding_ctx_in\n    and binding_ctx_out.\n  ovn-controller: Refactor binding.c\n  ovn-controller: I-P for port binding in runtime_data stage\n  ovn-controller: I-P for datapath binding\n  ofctrl_check_and_add_flow: Replace the actions of an existing flow if\n    actions have changed.\n  ovn-controller: I-P for ct zone  and OVN\n\n\nNuman Siddique (5):\n  I-P engine: Provide the option for an engine to clear tracked engine\n    data in every run.\n  ovn-controller: I-P for ct zone and OVS interface changes in flow\n    output stage.\n  ovn-controller: Handle runtime data changes in flow output engine\n  tests: Enhance ovn-performance testing by adding gw router port.\n  Add an util function get_unique_lport_key() for generating unique\n    lport key.\n\nVenkata Anil (1):\n  ovn-controller: Use the tracked runtime data changes for flow\n    calculation.\n\n controller/binding.c        | 322 ++++++++++++++++++++++---------\n controller/binding.h        |  55 +++++-\n controller/lflow.c          |  88 ++++++++-\n controller/lflow.h          |  12 +-\n controller/ovn-controller.c | 373 +++++++++++++++++++++++++++++++-----\n controller/physical.c       |  51 +++++\n controller/physical.h       |   5 +-\n lib/inc-proc-eng.c          |   8 +\n lib/inc-proc-eng.h          |   9 +\n lib/ovn-util.h              |   8 +\n tests/ovn-performance.at    | 136 +++++++++++--\n 11 files changed, 904 insertions(+), 163 deletions(-)"
}