[{"id":3530395,"web_url":"http://patchwork.ozlabs.org/comment/3530395/","msgid":"<dfae75f9-5bb7-47e4-9f75-7878b647ed2e@ovn.org>","list_archive_url":null,"date":"2025-06-16T17:02:54","subject":"Re: [ovs-dev] [PATCH ovn 12/14] datapaths: Add a hashvec of\n datapath bindings.","submitter":{"id":76798,"url":"http://patchwork.ozlabs.org/api/people/76798/","name":"Ilya Maximets","email":"i.maximets@ovn.org"},"content":"On 6/9/25 7:35 PM, Mark Michelson via dev wrote:\n> The ovn_datapaths structure maintains an array of datapaths, allowing\n> for bitmaps to be used to indicate the relevant datapaths associated\n> with an entity, such as a logical flow.\n> \n> Logical flow syncing is attempting to rid itself of dependencies on\n> ovn_datapaths, but the logical flow creation hinges on the datapath\n> indices.\n> \n> This commit addresses the issue by introducing a type-agnostic\n> ovn_datapath_binding_hashvec structure that can be used to store\n> southbound Datapath_Bindings in both a hashmap and an array. This allows\n> for us to correlate a southbound Datapath_Binding with a specific index\n> into its corresponding vector. The ovn_datapaths array is created based\n> on this vector, meaning that an ovn_datapath's index corresponds to the\n> same southbound Datapath_Binding's ovn_datapath_binding index.\n> \n> In order to maintain consistency of indices, this commit also changes\n> synced datapath bindings to be a vector instead of a list, and sorts the\n> vector with each run. This ensures that synced datapaths will contain\n> the same indices as long as new datapaths are not added or removed from\n> the database. If datapaths are added or removed, then northd has to\n> recompute, meaning that the ovn_datapaths will recreate their arrays and\n> indices.\n\nHmm.  I haven't read the code, but this sounds scary.  IIUC, we'll trigger a\nfull recompute every time new datapath is added or removed.  This may cause\nsignificant issues for high-scale OpenStack setups.  I've seen OpenStack\nsetups used for CI where networks are created automatically per CI job having\na few VMs inside.  This doesn't cause any problems today, but it sounds like\nnorthd will become a bottleneck and will be stuck constantly recomputing\nall the logical flows with this change.  Or am I missing something?\n\nBest regards, Ilya Maximets.","headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","ovs-dev@lists.linuxfoundation.org"],"Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)","smtp4.osuosl.org;\n dmarc=none (p=none dis=none) header.from=ovn.org"],"Received":["from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])\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 4bLbsk2yqMz1yFM\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Jun 2025 03:02:50 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp2.osuosl.org (Postfix) with ESMTP id 4AF2640363;\n\tMon, 16 Jun 2025 17:03:01 +0000 (UTC)","from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 4nHODAgjLG7i; Mon, 16 Jun 2025 17:03:00 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp2.osuosl.org (Postfix) with ESMTPS id 578E14030C;\n\tMon, 16 Jun 2025 17:03:00 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 475B1C02A6;\n\tMon, 16 Jun 2025 17:03:00 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists.linuxfoundation.org (Postfix) with ESMTP id 15A1AC02A5\n for <dev@openvswitch.org>; Mon, 16 Jun 2025 17:02:59 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id 01A1C40980\n for <dev@openvswitch.org>; Mon, 16 Jun 2025 17:02:59 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id TZnhHP1s7ula for <dev@openvswitch.org>;\n Mon, 16 Jun 2025 17:02:58 +0000 (UTC)","from mail-wr1-f67.google.com (mail-wr1-f67.google.com\n [209.85.221.67])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 2C42640984\n for <dev@openvswitch.org>; Mon, 16 Jun 2025 17:02:58 +0000 (UTC)","by mail-wr1-f67.google.com with SMTP id\n ffacd0b85a97d-3a582e09144so590381f8f.1\n for <dev@openvswitch.org>; Mon, 16 Jun 2025 10:02:57 -0700 (PDT)","from [192.168.88.252] (78-80-97-102.customers.tmcz.cz.\n [78.80.97.102]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-3a568a612d8sm11445942f8f.24.2025.06.16.10.02.55\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Mon, 16 Jun 2025 10:02:55 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.9.56;\n helo=lists.linuxfoundation.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp2.osuosl.org 578E14030C","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 2C42640984"],"Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=209.85.221.67;\n helo=mail-wr1-f67.google.com; envelope-from=i.maximets.ovn@gmail.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 2C42640984","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1750093376; x=1750698176;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:to:subject:cc:user-agent:mime-version\n :date:message-id:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=/gv+wbD5eCG5O6nGyfDwiT4AKV7fYBdhCFbnBRPuTUI=;\n b=DvrlhVsNXIV8+eQs+6cxLXN8XFZZNvKuSd8sWQ4XzVhVdSvCpnZwTqA4S+adDVVT+y\n UDmz6SyCRJvp3EzYCBx79Qd2bdNW/EpvxoRd4KZ+E03TBEUnLSyh3S5RgYldsKKqyY+d\n b/v3XIaVroGfGDtK7FYVyYvqxxN72CgdqI3M8vaCkFDKmJnHC52QVQrnJvYUHcnd7ZnZ\n Lbb/IEfvc9+HUtsJtegTrLF8z4pE1RtFUnFRJaAZiGAMPztdh5nCvUAOnq8V92D5Z1yc\n DfSiWXPKxNxuhdQ2n02vu+8lrDHAoQw3rTd91JQdSIR4TYgAekUN1eG+8gtWWFVEFdBF\n K7zA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCWMAHY93IZVDUZhu98dEQA8vQlmhSdrW472MYPPQXSty+q0inMdta5wOuV37SDvhstYGK8=@openvswitch.org","X-Gm-Message-State":"AOJu0Yx3VrgKhYVZYVKP2PJQNpKK/Deo+yPIZShBv8buutJn4M7Gm1Qm\n PzIOnQxT8VZCaWbqu+nV3oB+vBkc2JBSpkFfzhzSG4mNs5SgHRBvNg+d","X-Gm-Gg":"ASbGnctXkQH6bzRnj+N9dazwlfc6Xh1wASFWk/L1YJVfg2XJCCK0mF4U00OqZfDte20\n 201dhDGeRWhesXmdoJRiqPe9MRPOzNMCB+D+VTfECkMk7dhHUwUOJ2YTSpsIpgRDMFnlz4Fe4pA\n SugsjXVdsHy66+ulYkBkw9jJAHtkigxdRpt4oJfiCRwqXl7hbhoKm6YclPDb3LoNFALSLFvcuSX\n kfwX2nmUDPMgq6SG9IqRRuQ/4WsvSE3ZTNwyjnzmC1F0I6T6xWNzTh5T1fca2bxT91YbH+OckOb\n MvNE4bbOT8q1flenexZlXvwjHLfTvfP5uXLcwb++qnVyl85dHIP6kivNAmhDtFB4gJw04KHt3kY\n 6ei7I37mpjiI4EP1xBtKx","X-Google-Smtp-Source":"\n AGHT+IHMQRC6ruuzihyn7qunwLplvVP1tP7Wq5tHmwndLlnU55qUlbPz1BehmC+rAYILxuHE2iITjg==","X-Received":"by 2002:a5d:584a:0:b0:3a5:39e9:928d with SMTP id\n ffacd0b85a97d-3a571897337mr9474621f8f.0.1750093375710;\n Mon, 16 Jun 2025 10:02:55 -0700 (PDT)","Message-ID":"<dfae75f9-5bb7-47e4-9f75-7878b647ed2e@ovn.org>","Date":"Mon, 16 Jun 2025 19:02:54 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Cc":"i.maximets@ovn.org","To":"Mark Michelson <mmichels@redhat.com>, dev@openvswitch.org","References":"<20250609173539.1636916-1-mmichels@redhat.com>\n <20250609173539.1636916-13-mmichels@redhat.com>","Content-Language":"en-US","From":"Ilya Maximets <i.maximets@ovn.org>","Autocrypt":"addr=i.maximets@ovn.org; keydata=\n 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","In-Reply-To":"<20250609173539.1636916-13-mmichels@redhat.com>","Subject":"Re: [ovs-dev] [PATCH ovn 12/14] datapaths: Add a hashvec of\n datapath bindings.","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.30","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>"}}]