[{"id":3539405,"web_url":"http://patchwork.ozlabs.org/comment/3539405/","msgid":"<a3862c13-5bc5-4f89-abd0-c47b328fa62d@redhat.com>","list_archive_url":null,"date":"2025-07-02T09:27:48","subject":"Re: [ovs-dev] [PATCH ovn 00/14] Logical Flow Sync Refactor.","submitter":{"id":76591,"url":"http://patchwork.ozlabs.org/api/people/76591/","name":"Dumitru Ceara","email":"dceara@redhat.com"},"content":"Hi Mark,\n\nOn 6/9/25 7:35 PM, Mark Michelson via dev wrote:\n> NOTE: This series is built on top of the datapath binding refactor and\n> port binding refactor patches. You're likely to see tests failing on\n> these patches if those series are not merged already.\n> \n\nIt seems the logical flow sync refactor (this series) doesn't even apply\ncleanly on top of main without the datapath binding and port binding\nrefactor.\n\nhttps://mail.openvswitch.org/pipermail/ovs-build/2025-June/046904.html\n\nShould we defer it until the binding refactor lands?\n\n> This series refactors how logical flows are synced, accomplishing two\n> main goals:\n> \n> 1) Syncing of logical flows to the southbound database is handled in a\n> new node, rather than in en-lflow. This allows for syncing of logical\n> flow tables from en-lflow and other nodes.\n> \n> 2) The libraries for building logical flow tables and for syncing\n> logical flows no longer relies on ovn-northd constructs such as\n> ovn_datapath.\n> \n> This series accomplishes the above goals through a series of smaller\n> patches rather than a single giant patch like other refactoring series.\n> \n> Overall, this series gets the job done, but there are a few things I'm\n> not especially happy about:\n> \n> 1) The goal of the new en-lflow-sync node is to be able to sync logical\n> flows from multiple logical flow tables. However, in current OVN, the\n> only logical flow table is the one created by en-lflow. Therefore, while\n> the code *should* be able to handle multiple logical flow tables, it's\n> not proven with this code change.\n> \n> 2) I'm not happy about the non-constness of the inputs to the\n> en-lflow-sync node. In particular,\n>   * lflow_refs are created/destroyed in various nodes, then all are\n>     populated in en-lflow, and then all are synced in en-lflow-sync.\n>     This means that en-lflow and en-lflow-sync are modifying lflow_refs\n>     beyond the node that manages their lifetimes.\n>   * struct ovn_lflow has a datapath group field (dpg) that is modified\n>     in en-lflow-sync.\n> \n> There are ways to fix (2), but to do so in a performant way would be\n> outside the scope of simply trying to refactor when/how logical flows\n> are synced.\n> \n> Mark Michelson (14):\n>   northd: Find ovn_datapath from a single hmap.\n>   lflow-mgr: Remove the ovn_datapath from ovn_lflow.\n>   lflow-mgr: Use one ovn_datapaths arg for ovn_dp_group_create().\n>   lflow-mgr: Pass one ovn_datapaths arg to sync_lflow_to_sb().\n>   lflow_mgr: Pass dp_groups to sync_lflow_to_sb().\n>   lflows: Create a separate node for lflow syncing.\n>   en-lflow-sync: Separate syncing from datapaths and from the lflow\n>     table.\n>   northd: Convert ovn_stage from an enum to a struct.\n>   lflow_ref: Allow multiple datapaths per lflow_ref_node.\n>   lflows: Separate lflow_ref building and syncing.\n>   lflows: Move dp_groups from lflow_data to lflow_sync_data.\n>   datapaths: Add a hashvec of datapath bindings.\n>   lflow: Remove northd dependency from en-lflow-sync.\n>   lflows: Remove ovn_datapath parameter when adding lflows.\n> \n>  northd/datapath_sync.c                       |  52 +++\n>  northd/datapath_sync.h                       |  33 +-\n>  northd/en-datapath-logical-router.c          |  23 +-\n>  northd/en-datapath-logical-router.h          |  10 +-\n>  northd/en-datapath-logical-switch.c          |  23 +-\n>  northd/en-datapath-logical-switch.h          |  10 +-\n>  northd/en-datapath-sync.c                    |  36 +-\n>  northd/en-learned-route-sync.c               |   8 +-\n>  northd/en-lflow.c                            | 309 +++++++++++---\n>  northd/en-lflow.h                            |  32 ++\n>  northd/en-multicast.c                        |   3 +-\n>  northd/en-northd-output.c                    |  14 +-\n>  northd/en-northd-output.h                    |   5 +-\n>  northd/en-northd.c                           |   5 +-\n>  northd/en-port-binding-chassisredirect.c     |   8 +-\n>  northd/en-port-binding-logical-router-port.c |   2 +-\n>  northd/en-port-binding-logical-switch-port.c |   2 +-\n>  northd/en-port-binding-mirror.c              |   4 +-\n>  northd/en-sync-sb.c                          | 104 +++--\n>  northd/inc-proc-northd.c                     |  22 +-\n>  northd/lflow-mgr.c                           | 419 +++++++++----------\n>  northd/lflow-mgr.h                           |  84 ++--\n>  northd/northd.c                              | 376 +++++++----------\n>  northd/northd.h                              |  92 ++--\n>  tests/ovn-northd.at                          | 125 +++++-\n>  25 files changed, 1112 insertions(+), 689 deletions(-)\n> \n\nRegards,\nDumitru","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\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=dvoxvd0c;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)","smtp3.osuosl.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=dvoxvd0c","smtp4.osuosl.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","smtp4.osuosl.org; dkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=dvoxvd0c"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\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 4bXF1L1MhRz1xpb\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  2 Jul 2025 19:27:48 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 2D88D608E4;\n\tWed,  2 Jul 2025 09:27:58 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id wOy7LuW6DxKb; Wed,  2 Jul 2025 09:27:57 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org\n [IPv6:2605:bc80:3010:104::8cd3:938])\n\tby smtp3.osuosl.org (Postfix) with ESMTPS id D90A160860;\n\tWed,  2 Jul 2025 09:27:56 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id B3EFEC0887;\n\tWed,  2 Jul 2025 09:27:56 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n by lists.linuxfoundation.org (Postfix) with ESMTP id E12AAC087D\n for <dev@openvswitch.org>; Wed,  2 Jul 2025 09:27:55 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id CCDCA41871\n for <dev@openvswitch.org>; Wed,  2 Jul 2025 09:27:55 +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 K8MJu75r30VT for <dev@openvswitch.org>;\n Wed,  2 Jul 2025 09:27:55 +0000 (UTC)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 9887E40657\n for <dev@openvswitch.org>; Wed,  2 Jul 2025 09:27:54 +0000 (UTC)","from mail-wr1-f71.google.com (mail-wr1-f71.google.com\n [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-42-pjcWN_m3PvSqsv6obVjpwQ-1; Wed, 02 Jul 2025 05:27:51 -0400","by mail-wr1-f71.google.com with SMTP id\n ffacd0b85a97d-3a6d90929d6so1662952f8f.2\n for <dev@openvswitch.org>; Wed, 02 Jul 2025 02:27:51 -0700 (PDT)","from ?IPV6:2001:1c05:1417:d800:5fff:dde6:3337:3b82?\n (2001-1c05-1417-d800-5fff-dde6-3337-3b82.cable.dynamic.v6.ziggo.nl.\n [2001:1c05:1417:d800:5fff:dde6:3337:3b82])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-3a88c7ec69dsm15387447f8f.6.2025.07.02.02.27.49\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Wed, 02 Jul 2025 02:27:49 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections -\n client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp3.osuosl.org D90A160860","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 9887E40657"],"Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124;\n helo=us-smtp-delivery-124.mimecast.com; envelope-from=dceara@redhat.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 9887E40657","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1751448473;\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=buXoSG6ivleWy0uFZ01EuOrrw/24GLgLDM//EVjk9kg=;\n b=dvoxvd0cL84RmvN3cvM99KTyncVGsIky36VmcC2w6rP7Rz5OmXIGLPaiXE+5bXbsJPKcWR\n q4NAX2M+kye8oO7GoSIFKsCoYEUBenmvIh9nS6UAksAee2WPpt9LzJHNHuGZF8H6xNWt0b\n m8CEKxYdzznm58p/4kY7U/SX5F1NP2o=","X-MC-Unique":"pjcWN_m3PvSqsv6obVjpwQ-1","X-Mimecast-MFC-AGG-ID":"pjcWN_m3PvSqsv6obVjpwQ_1751448470","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1751448470; x=1752053270;\n h=content-transfer-encoding:in-reply-to:cc:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=buXoSG6ivleWy0uFZ01EuOrrw/24GLgLDM//EVjk9kg=;\n b=anA9nKjAckwbW9k1qCgjPCOVzlzlklvKfz8lMnwHepYkatUs+NVOk+p88X6CauxC+h\n CzH+paXNqNDAbFY99bvFlE+LxTdsqInx6zMZy7wFXzPcEiHDQ5cukgpdmaAymapJMVG8\n N5XyH3oyXCSw59jhuB8pxQn9jHIs06D4f1Fxx+xiYOMlP5lHqTPEZFQix94iDYOKifoX\n I3yI/vDe6ug3DyRwlGSlQG3ytR3jqs2QDwPZRAK9dYWyAIql2DSTe//37EwWt6Bja9N5\n yVrympHs77bcRFER6AFMv/UuGqw0MlBN8Heohbh/cMENgJbNFWW+3cpb1f7H8ouXwx0g\n Tbfw==","X-Forwarded-Encrypted":"i=1;\n AJvYcCVOx5RHItkDv6gsXTAXMsXSqgnNqpZsPno1o7dRvcrLEbap0cuhrtK669uxwf+XoGAQh6E=@openvswitch.org","X-Gm-Message-State":"AOJu0YxnS5o6M3KmfGGskyArTpmYg/2ykmzlxopvu8LfLVYTuietVKGF\n GCGZDYA0YS0zsxtulYXWskn/PFualM1oQrd0H6MDbOkdd/LQ5p/td1/YexpVaxJqSAhy2frP7HI\n u9Fc6Co+CPecZkeUGpSHF4KXQQAHo+ZBPGj9Y5trD4upaAA4rhSuWdg==","X-Gm-Gg":"ASbGncvxmFCxBOApy5sidvZx9gWD/1suMuEOx5EkSIkWbYo3OBbP3s+fkiT4v+dbymQ\n 7NIrOc4xhorMnACw1Mzog1RjzXk3b2mKRS2Rn3qOZsG0cnjekj7FJaOiWNP/9VV28MhhPrRJj0Q\n pK5Cq500MQCrfa1fFgVt5GlrTYQ1p2fPJZlqBZdMJhStRfSk7PAvLzIYrtL/R3g8Ra2pYB8qI3e\n M2yoVcA7B1z5/LTEaJFRj/5h91bjC3lU92X3eVfAxJQ0wrXqUOBWN75OqED27btYOqZUR/Zx4l9\n mpu4EtIPzHgj2atXMdvXq81KbXK1ObxZjFnfOLHM8LMWddIeFOa6NuVnZJXDfSZ9BA7pXDpFg1s\n CRT2Tx6rtdGLIojWUhiMQFyfRvysf7Gxx5Yk5Wv6hrDdr62KBHUz5hy8FIBAedUzje3IwyUV+","X-Received":["by 2002:a05:6000:2910:b0:3a6:d26a:f0f5 with SMTP id\n ffacd0b85a97d-3b1ff14e59fmr1534966f8f.21.1751448470359;\n Wed, 02 Jul 2025 02:27:50 -0700 (PDT)","by 2002:a05:6000:2910:b0:3a6:d26a:f0f5 with SMTP id\n ffacd0b85a97d-3b1ff14e59fmr1534945f8f.21.1751448469922;\n Wed, 02 Jul 2025 02:27:49 -0700 (PDT)"],"X-Google-Smtp-Source":"\n AGHT+IE8fTgOszo2eOb30wigJsGfGBc46gHaSHfLALLYzpFP6NUgU0RXyGaslc7UlR+zBdAryMisUw==","Message-ID":"<a3862c13-5bc5-4f89-abd0-c47b328fa62d@redhat.com>","Date":"Wed, 2 Jul 2025 11:27:48 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Mark Michelson <mmichels@redhat.com>, dev@openvswitch.org","References":"<20250609173539.1636916-1-mmichels@redhat.com>","In-Reply-To":"<20250609173539.1636916-1-mmichels@redhat.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"Bqz4nm27xFly_Wy2uqxipftgJ7r10NuQ8XdatKsV0Fs_1751448470","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US","Subject":"Re: [ovs-dev] [PATCH ovn 00/14] Logical Flow Sync Refactor.","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>","From":"Dumitru Ceara via dev <ovs-dev@openvswitch.org>","Reply-To":"Dumitru Ceara <dceara@redhat.com>","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>"}},{"id":3540029,"web_url":"http://patchwork.ozlabs.org/comment/3540029/","msgid":"<d9814656-ecf6-483d-a568-a6512f44bf1d@redhat.com>","list_archive_url":null,"date":"2025-07-02T18:48:22","subject":"Re: [ovs-dev] [PATCH ovn 00/14] Logical Flow Sync Refactor.","submitter":{"id":71978,"url":"http://patchwork.ozlabs.org/api/people/71978/","name":"Mark Michelson","email":"mmichels@redhat.com"},"content":"On 7/2/25 5:27 AM, Dumitru Ceara wrote:\n> Hi Mark,\n> \n> On 6/9/25 7:35 PM, Mark Michelson via dev wrote:\n>> NOTE: This series is built on top of the datapath binding refactor and\n>> port binding refactor patches. You're likely to see tests failing on\n>> these patches if those series are not merged already.\n>>\n> \n> It seems the logical flow sync refactor (this series) doesn't even apply\n> cleanly on top of main without the datapath binding and port binding\n> refactor.\n> \n> https://mail.openvswitch.org/pipermail/ovs-build/2025-June/046904.html\n> \n> Should we defer it until the binding refactor lands?\n\nYes, that's completely fair to do. I posted it because while it depends \non the datapath and port binding refactor patches, my hope was that the \ncode should be reviewable by applying both datapath and port binding \nrefactor first. However, the urgency of this has declined somewhat, so \nit makes complete sense to just defer this instead of trying to have it \nready overly soon.\n\n> \n>> This series refactors how logical flows are synced, accomplishing two\n>> main goals:\n>>\n>> 1) Syncing of logical flows to the southbound database is handled in a\n>> new node, rather than in en-lflow. This allows for syncing of logical\n>> flow tables from en-lflow and other nodes.\n>>\n>> 2) The libraries for building logical flow tables and for syncing\n>> logical flows no longer relies on ovn-northd constructs such as\n>> ovn_datapath.\n>>\n>> This series accomplishes the above goals through a series of smaller\n>> patches rather than a single giant patch like other refactoring series.\n>>\n>> Overall, this series gets the job done, but there are a few things I'm\n>> not especially happy about:\n>>\n>> 1) The goal of the new en-lflow-sync node is to be able to sync logical\n>> flows from multiple logical flow tables. However, in current OVN, the\n>> only logical flow table is the one created by en-lflow. Therefore, while\n>> the code *should* be able to handle multiple logical flow tables, it's\n>> not proven with this code change.\n>>\n>> 2) I'm not happy about the non-constness of the inputs to the\n>> en-lflow-sync node. In particular,\n>>    * lflow_refs are created/destroyed in various nodes, then all are\n>>      populated in en-lflow, and then all are synced in en-lflow-sync.\n>>      This means that en-lflow and en-lflow-sync are modifying lflow_refs\n>>      beyond the node that manages their lifetimes.\n>>    * struct ovn_lflow has a datapath group field (dpg) that is modified\n>>      in en-lflow-sync.\n>>\n>> There are ways to fix (2), but to do so in a performant way would be\n>> outside the scope of simply trying to refactor when/how logical flows\n>> are synced.\n>>\n>> Mark Michelson (14):\n>>    northd: Find ovn_datapath from a single hmap.\n>>    lflow-mgr: Remove the ovn_datapath from ovn_lflow.\n>>    lflow-mgr: Use one ovn_datapaths arg for ovn_dp_group_create().\n>>    lflow-mgr: Pass one ovn_datapaths arg to sync_lflow_to_sb().\n>>    lflow_mgr: Pass dp_groups to sync_lflow_to_sb().\n>>    lflows: Create a separate node for lflow syncing.\n>>    en-lflow-sync: Separate syncing from datapaths and from the lflow\n>>      table.\n>>    northd: Convert ovn_stage from an enum to a struct.\n>>    lflow_ref: Allow multiple datapaths per lflow_ref_node.\n>>    lflows: Separate lflow_ref building and syncing.\n>>    lflows: Move dp_groups from lflow_data to lflow_sync_data.\n>>    datapaths: Add a hashvec of datapath bindings.\n>>    lflow: Remove northd dependency from en-lflow-sync.\n>>    lflows: Remove ovn_datapath parameter when adding lflows.\n>>\n>>   northd/datapath_sync.c                       |  52 +++\n>>   northd/datapath_sync.h                       |  33 +-\n>>   northd/en-datapath-logical-router.c          |  23 +-\n>>   northd/en-datapath-logical-router.h          |  10 +-\n>>   northd/en-datapath-logical-switch.c          |  23 +-\n>>   northd/en-datapath-logical-switch.h          |  10 +-\n>>   northd/en-datapath-sync.c                    |  36 +-\n>>   northd/en-learned-route-sync.c               |   8 +-\n>>   northd/en-lflow.c                            | 309 +++++++++++---\n>>   northd/en-lflow.h                            |  32 ++\n>>   northd/en-multicast.c                        |   3 +-\n>>   northd/en-northd-output.c                    |  14 +-\n>>   northd/en-northd-output.h                    |   5 +-\n>>   northd/en-northd.c                           |   5 +-\n>>   northd/en-port-binding-chassisredirect.c     |   8 +-\n>>   northd/en-port-binding-logical-router-port.c |   2 +-\n>>   northd/en-port-binding-logical-switch-port.c |   2 +-\n>>   northd/en-port-binding-mirror.c              |   4 +-\n>>   northd/en-sync-sb.c                          | 104 +++--\n>>   northd/inc-proc-northd.c                     |  22 +-\n>>   northd/lflow-mgr.c                           | 419 +++++++++----------\n>>   northd/lflow-mgr.h                           |  84 ++--\n>>   northd/northd.c                              | 376 +++++++----------\n>>   northd/northd.h                              |  92 ++--\n>>   tests/ovn-northd.at                          | 125 +++++-\n>>   25 files changed, 1112 insertions(+), 689 deletions(-)\n>>\n> \n> Regards,\n> Dumitru\n>","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\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=Poh23Md0;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)","smtp1.osuosl.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key)\n header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=Poh23Md0","smtp3.osuosl.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","smtp3.osuosl.org; dkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=Poh23Md0"],"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 4bXTS8614pz1xr0\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  3 Jul 2025 04:48:24 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 9EB20816D6;\n\tWed,  2 Jul 2025 18:48:34 +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 ulmuWhIgTRWj; Wed,  2 Jul 2025 18:48:33 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp1.osuosl.org (Postfix) with ESMTPS id 7D18F81143;\n\tWed,  2 Jul 2025 18:48:33 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 60CD3C0887;\n\tWed,  2 Jul 2025 18:48:33 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n by lists.linuxfoundation.org (Postfix) with ESMTP id 0EB80C087D\n for <dev@openvswitch.org>; Wed,  2 Jul 2025 18:48:32 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id E32D961253\n for <dev@openvswitch.org>; Wed,  2 Jul 2025 18:48:31 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id i6ZbU_R4EunY for <dev@openvswitch.org>;\n Wed,  2 Jul 2025 18:48:31 +0000 (UTC)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by smtp3.osuosl.org (Postfix) with ESMTPS id EDC9C60C1C\n for <dev@openvswitch.org>; Wed,  2 Jul 2025 18:48:30 +0000 (UTC)","from mail-yw1-f200.google.com (mail-yw1-f200.google.com\n [209.85.128.200]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-650-yITNUX3rO4WJPf3f834ZkQ-1; Wed, 02 Jul 2025 14:48:28 -0400","by mail-yw1-f200.google.com with SMTP id\n 00721157ae682-70e649662deso59532767b3.2\n for <dev@openvswitch.org>; Wed, 02 Jul 2025 11:48:28 -0700 (PDT)","from [192.168.0.220] ([66.85.230.211])\n by smtp.gmail.com with ESMTPSA id\n 3f1490d57ef6-e87a6bd054esm3893872276.31.2025.07.02.11.48.22\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Wed, 02 Jul 2025 11:48:22 -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 smtp1.osuosl.org 7D18F81143","OpenDKIM Filter v2.11.0 smtp3.osuosl.org EDC9C60C1C"],"Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124;\n helo=us-smtp-delivery-124.mimecast.com; envelope-from=mmichels@redhat.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org EDC9C60C1C","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1751482109;\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=B42cuGHbM/kwRPxU4dDpD+IGe2KKLX9c1BOPoWekdh4=;\n b=Poh23Md0Edm/kJeyhrBreN2CDm4ELYIXiSd1CCMaUg1ZYbvwev2J3A+Y9KyrydP76DmJpP\n TaD2xomP/IQrMFoO7FE6s6Ft4/JClI1aZWkpNbwJNOXJAswob8I+YEMZgv8v6DQyrvhBol\n J+R3kmZWk+PvhONFeldMOah0kC+/JPM=","X-MC-Unique":"yITNUX3rO4WJPf3f834ZkQ-1","X-Mimecast-MFC-AGG-ID":"yITNUX3rO4WJPf3f834ZkQ_1751482108","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1751482107; x=1752086907;\n h=content-transfer-encoding:in-reply-to:from:content-language\n :references:cc:to:subject:user-agent:mime-version:date:message-id\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=B42cuGHbM/kwRPxU4dDpD+IGe2KKLX9c1BOPoWekdh4=;\n b=H5jtmPelscvzCSHyz5Yi6QLUecaNl8buaXfVS568SD7dODJ4mGfz2BfxnGNOTSm/mn\n 0Z/YHa61gmnqZbfSVzytWpkuyLbWoX9hGgVsE1cQLz71lsqmfTFXZHc7cdp6cfZW98TY\n y4COjg20uW+4VDtbzAOguaxdsximyTGrKnByV08mjUY8mUhcbWye8JRF9L/MkMNla875\n RkKO8YIw6nmBJemaltT9CEU/qlPbd/kc68Kc0DoktTjYUOOZcMFSfB/+/rHnNelGuuuI\n okWSBVuZIgeepKd+aZAlmg7gMQ9C/iX15dXjRKkTdl+y4MigVElPF9mnnO//6D9ijK+B\n KcrA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCVLyw2skMWZ8o3CuWWrxSASdjJSPQgfMZupGzHYGZkNtnRRVTBh2V3cVFikZZfNXQrfGTo=@openvswitch.org","X-Gm-Message-State":"AOJu0Yw9G4vutZQFWsaBgd0N4pvagRw46gUBgAseExIXbUx8Theaqluq\n frYXKCJWFar0Xx8VJytqZFSvR/tG9VX3hyEsvHYJqQju8bfdkMfogoCZ+AeXBz51yDXWXip5o1/\n ym0T/IW7Cl7LlR4aWGHgPosxKClxGymrN1Rs6HYdoXXwxBGfwZrypFU7meMm66A==","X-Gm-Gg":"ASbGncssKH8fWLPWztaEdc6vCpgCtNu8bbXiYNfT36W/NOjw+8gexqOl9TdjXqWBM4U\n bofan/WE2CHWeJEAT7i/z/y0Rz9eqn1VIUu/cwMGKtWyso9OwwT31hC7kxzj6BG4rBl12+Gz9ux\n fhnTKUl5Epvqk+RtmweP7dmMJn8WkYuZK/v6fomdxcVeHigixEhCs6F5Zq+FpfROlOe4F55I78S\n 66c3YBaWCy49smT7QxyiOfBo1ZMlZdoXFUgLqW6XGKWRb+phoFw1DhFBky0ghkmAVY4HJ9YWdeN\n 98/7CMvxtG077wfJimHsGg4xzw==","X-Received":["by 2002:a05:6902:1b89:b0:e87:a485:b426 with SMTP id\n 3f1490d57ef6-e897e140effmr5289804276.4.1751482107074;\n Wed, 02 Jul 2025 11:48:27 -0700 (PDT)","by 2002:a05:6902:1b89:b0:e87:a485:b426 with SMTP id\n 3f1490d57ef6-e897e140effmr5289545276.4.1751482103682;\n Wed, 02 Jul 2025 11:48:23 -0700 (PDT)"],"X-Google-Smtp-Source":"\n AGHT+IEOotEE0QH7ut/3wtOiO9+Mp9poYA6kDMdOmKeY0m+Ezxzs59v0JHsRs7RaRD5FMxdovh9msQ==","Message-ID":"<d9814656-ecf6-483d-a568-a6512f44bf1d@redhat.com>","Date":"Wed, 2 Jul 2025 14:48:22 -0400","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Dumitru Ceara <dceara@redhat.com>, dev@openvswitch.org","References":"<20250609173539.1636916-1-mmichels@redhat.com>\n <a3862c13-5bc5-4f89-abd0-c47b328fa62d@redhat.com>","In-Reply-To":"<a3862c13-5bc5-4f89-abd0-c47b328fa62d@redhat.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"wSZaw-eV58rJdi0QA0hX1ONn3P7RuWyxxwbFKAyrj5Y_1751482108","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US","Subject":"Re: [ovs-dev] [PATCH ovn 00/14] Logical Flow Sync Refactor.","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>","From":"Mark Michelson via dev <ovs-dev@openvswitch.org>","Reply-To":"Mark Michelson <mmichels@redhat.com>","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Errors-To":"ovs-dev-bounces@openvswitch.org","Sender":"\"dev\" <ovs-dev-bounces@openvswitch.org>"}},{"id":3540282,"web_url":"http://patchwork.ozlabs.org/comment/3540282/","msgid":"<1853d939-a73a-4bd0-bdf0-5721b4ce9169@redhat.com>","list_archive_url":null,"date":"2025-07-03T07:09:07","subject":"Re: [ovs-dev] [PATCH ovn 00/14] Logical Flow Sync Refactor.","submitter":{"id":76591,"url":"http://patchwork.ozlabs.org/api/people/76591/","name":"Dumitru Ceara","email":"dceara@redhat.com"},"content":"On 7/2/25 8:48 PM, Mark Michelson wrote:\n> On 7/2/25 5:27 AM, Dumitru Ceara wrote:\n>> Hi Mark,\n>>\n>> On 6/9/25 7:35 PM, Mark Michelson via dev wrote:\n>>> NOTE: This series is built on top of the datapath binding refactor and\n>>> port binding refactor patches. You're likely to see tests failing on\n>>> these patches if those series are not merged already.\n>>>\n>>\n>> It seems the logical flow sync refactor (this series) doesn't even apply\n>> cleanly on top of main without the datapath binding and port binding\n>> refactor.\n>>\n>> https://mail.openvswitch.org/pipermail/ovs-build/2025-June/046904.html\n>>\n>> Should we defer it until the binding refactor lands?\n> \n> Yes, that's completely fair to do. I posted it because while it depends\n> on the datapath and port binding refactor patches, my hope was that the\n> code should be reviewable by applying both datapath and port binding\n> refactor first. However, the urgency of this has declined somewhat, so\n> it makes complete sense to just defer this instead of trying to have it\n> ready overly soon.\n> \n\nHi Mark,\n\nThanks for the confirmation!  I marked the series as \"deferred\" in\npatchwork.\n\nRegards,\nDumitru\n\n>>\n>>> This series refactors how logical flows are synced, accomplishing two\n>>> main goals:\n>>>\n>>> 1) Syncing of logical flows to the southbound database is handled in a\n>>> new node, rather than in en-lflow. This allows for syncing of logical\n>>> flow tables from en-lflow and other nodes.\n>>>\n>>> 2) The libraries for building logical flow tables and for syncing\n>>> logical flows no longer relies on ovn-northd constructs such as\n>>> ovn_datapath.\n>>>\n>>> This series accomplishes the above goals through a series of smaller\n>>> patches rather than a single giant patch like other refactoring series.\n>>>\n>>> Overall, this series gets the job done, but there are a few things I'm\n>>> not especially happy about:\n>>>\n>>> 1) The goal of the new en-lflow-sync node is to be able to sync logical\n>>> flows from multiple logical flow tables. However, in current OVN, the\n>>> only logical flow table is the one created by en-lflow. Therefore, while\n>>> the code *should* be able to handle multiple logical flow tables, it's\n>>> not proven with this code change.\n>>>\n>>> 2) I'm not happy about the non-constness of the inputs to the\n>>> en-lflow-sync node. In particular,\n>>>    * lflow_refs are created/destroyed in various nodes, then all are\n>>>      populated in en-lflow, and then all are synced in en-lflow-sync.\n>>>      This means that en-lflow and en-lflow-sync are modifying lflow_refs\n>>>      beyond the node that manages their lifetimes.\n>>>    * struct ovn_lflow has a datapath group field (dpg) that is modified\n>>>      in en-lflow-sync.\n>>>\n>>> There are ways to fix (2), but to do so in a performant way would be\n>>> outside the scope of simply trying to refactor when/how logical flows\n>>> are synced.\n>>>\n>>> Mark Michelson (14):\n>>>    northd: Find ovn_datapath from a single hmap.\n>>>    lflow-mgr: Remove the ovn_datapath from ovn_lflow.\n>>>    lflow-mgr: Use one ovn_datapaths arg for ovn_dp_group_create().\n>>>    lflow-mgr: Pass one ovn_datapaths arg to sync_lflow_to_sb().\n>>>    lflow_mgr: Pass dp_groups to sync_lflow_to_sb().\n>>>    lflows: Create a separate node for lflow syncing.\n>>>    en-lflow-sync: Separate syncing from datapaths and from the lflow\n>>>      table.\n>>>    northd: Convert ovn_stage from an enum to a struct.\n>>>    lflow_ref: Allow multiple datapaths per lflow_ref_node.\n>>>    lflows: Separate lflow_ref building and syncing.\n>>>    lflows: Move dp_groups from lflow_data to lflow_sync_data.\n>>>    datapaths: Add a hashvec of datapath bindings.\n>>>    lflow: Remove northd dependency from en-lflow-sync.\n>>>    lflows: Remove ovn_datapath parameter when adding lflows.\n>>>\n>>>   northd/datapath_sync.c                       |  52 +++\n>>>   northd/datapath_sync.h                       |  33 +-\n>>>   northd/en-datapath-logical-router.c          |  23 +-\n>>>   northd/en-datapath-logical-router.h          |  10 +-\n>>>   northd/en-datapath-logical-switch.c          |  23 +-\n>>>   northd/en-datapath-logical-switch.h          |  10 +-\n>>>   northd/en-datapath-sync.c                    |  36 +-\n>>>   northd/en-learned-route-sync.c               |   8 +-\n>>>   northd/en-lflow.c                            | 309 +++++++++++---\n>>>   northd/en-lflow.h                            |  32 ++\n>>>   northd/en-multicast.c                        |   3 +-\n>>>   northd/en-northd-output.c                    |  14 +-\n>>>   northd/en-northd-output.h                    |   5 +-\n>>>   northd/en-northd.c                           |   5 +-\n>>>   northd/en-port-binding-chassisredirect.c     |   8 +-\n>>>   northd/en-port-binding-logical-router-port.c |   2 +-\n>>>   northd/en-port-binding-logical-switch-port.c |   2 +-\n>>>   northd/en-port-binding-mirror.c              |   4 +-\n>>>   northd/en-sync-sb.c                          | 104 +++--\n>>>   northd/inc-proc-northd.c                     |  22 +-\n>>>   northd/lflow-mgr.c                           | 419 +++++++++----------\n>>>   northd/lflow-mgr.h                           |  84 ++--\n>>>   northd/northd.c                              | 376 +++++++----------\n>>>   northd/northd.h                              |  92 ++--\n>>>   tests/ovn-northd.at                          | 125 +++++-\n>>>   25 files changed, 1112 insertions(+), 689 deletions(-)\n>>>\n>>\n>> Regards,\n>> Dumitru\n>>\n>","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\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=HEsLbthV;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org\n (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org)","smtp3.osuosl.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key)\n header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=HEsLbthV","smtp2.osuosl.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","smtp2.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=HEsLbthV"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\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 4bXntn5QsZz1xpf\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  3 Jul 2025 17:09:05 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id D981660E09;\n\tThu,  3 Jul 2025 07:09:15 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 38sTzjb4_-Hf; Thu,  3 Jul 2025 07:09:15 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org\n [IPv6:2605:bc80:3010:104::8cd3:938])\n\tby smtp3.osuosl.org (Postfix) with ESMTPS id E140A608C8;\n\tThu,  3 Jul 2025 07:09:14 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id B6002C0012;\n\tThu,  3 Jul 2025 07:09:14 +0000 (UTC)","from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n by lists.linuxfoundation.org (Postfix) with ESMTP id 3CD0AC0011\n for <dev@openvswitch.org>; Thu,  3 Jul 2025 07:09:14 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 22EAF400AD\n for <dev@openvswitch.org>; Thu,  3 Jul 2025 07:09:14 +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 HGeIB5yKlHRF for <dev@openvswitch.org>;\n Thu,  3 Jul 2025 07:09:13 +0000 (UTC)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by smtp2.osuosl.org (Postfix) with ESMTPS id 2EC244003A\n for <dev@openvswitch.org>; Thu,  3 Jul 2025 07:09:12 +0000 (UTC)","from mail-ej1-f70.google.com (mail-ej1-f70.google.com\n [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-479-fx6dONHiNG6FdM-Sl2yt0g-1; Thu, 03 Jul 2025 03:09:10 -0400","by mail-ej1-f70.google.com with SMTP id\n a640c23a62f3a-adb32dbf60bso751302066b.1\n for <dev@openvswitch.org>; Thu, 03 Jul 2025 00:09:10 -0700 (PDT)","from ?IPV6:2001:1c05:1417:d800:5fff:dde6:3337:3b82?\n (2001-1c05-1417-d800-5fff-dde6-3337-3b82.cable.dynamic.v6.ziggo.nl.\n [2001:1c05:1417:d800:5fff:dde6:3337:3b82])\n by smtp.gmail.com with ESMTPSA id\n a640c23a62f3a-ae353c01620sm1225887466b.103.2025.07.03.00.09.07\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 03 Jul 2025 00:09:07 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections -\n client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org;\n envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp3.osuosl.org E140A608C8","OpenDKIM Filter v2.11.0 smtp2.osuosl.org 2EC244003A"],"Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124;\n helo=us-smtp-delivery-124.mimecast.com; envelope-from=dceara@redhat.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp2.osuosl.org 2EC244003A","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1751526551;\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=+gsPajHQEYDrxQDS4GF4+LX1JaudrIsUGLv8iaBMV9I=;\n b=HEsLbthVyUOovszy9Pg1/oYeM2WAHCnIkaDY1HG85RNMO2RbmK+16hP4dgKxt22l4lkzR4\n 0lK3A34/jgmCkXTsjmT933a6nz1X2J+XOVlPk47/wFkYgmscumLRO1tuB2JuI8ohAXD3Ca\n w+Qnm2da3B0OfEo5Su3nqJR8Hwuw0fM=","X-MC-Unique":"fx6dONHiNG6FdM-Sl2yt0g-1","X-Mimecast-MFC-AGG-ID":"fx6dONHiNG6FdM-Sl2yt0g_1751526549","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1751526549; x=1752131349;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:cc:to:subject:user-agent:mime-version:date:message-id\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=+gsPajHQEYDrxQDS4GF4+LX1JaudrIsUGLv8iaBMV9I=;\n b=CKEQqpBo319xOuTSgR5KDPS1DbFUfCqBr8r8q8GkhboEv3tJyZXD0vSl5hjVBAZ9lv\n 17v8/wh22gSugtrojGd5RwbyVQBv+gVqZ+I9QCcBd4ahkZfx5GAW7oVze7NKNwi1rHUp\n lO+tT6Ao5XbWrfuBPZoq9FALgqPhnzRtyt5iIrl5qynMi+/I14eL1IZQRCL1zAWGMwRr\n o/Zt7f275POxo5Yj7TuUkbMLyw2zYcwWSOX/L9ZbDFHOTXJLtpbSzpybttVXmjjgoi0X\n oFgxUGnZr1rL0Z675MgCk5Yy3CH1Wv0F/dw4GsQXBHmwxD7cMaszUULSCG7YVOmZVniP\n CYoQ==","X-Forwarded-Encrypted":"i=1;\n AJvYcCW0fzIPtzuggyknNpQ7vd3iUse7tt1FzYjT5d8KM18Cj/onU0z7t2T7TfmuQppilTinpIs=@openvswitch.org","X-Gm-Message-State":"AOJu0YzTewmqp7SdqhZv1PjKshEfaukmPq3m7m9U7RN8b5fHbFdoX4Ob\n qLEIQEh0Ogxl4DVDnKNtp6p+iq1IuLFZzjIea68BpizUzVlcSUWEKl7zhFWRTtRIAHmNrkythxq\n IYP/iH+QVQ0zB/aFrNvsUu3GUW2uJf/+gRVdQW0zYyzQ8vIbdXkL3jQ==","X-Gm-Gg":"ASbGncs/OeXhaYNa9c4HK5wG/4gbODKATedJdy3yHG7dOyVVta5Rxu49FosUAwrVG6i\n dJefQfw0bRNWd8rMaAUWNeOmt1tor2+vp7JSuspoVCwn7pm/oy5VITCj/MLtCICPWY+p4Brw6qq\n 6cqCaPzf03g1tbhXNJ8DA6Mjk+u6RLjwUobQN6Y8rPXYK+kTlSD4xbvo5mWZyIvPza04yIHybFh\n /2tK+lisc+2Qna7paaSDAwArjSb9qxDGf+P7mcemquZ5bMaftHKIezxaJM+7lAG0JFmkRfs5AFh\n CL1PdaaRKFSg9T+PWrp8sBzOMZV06OAzwFm8eWksAzHFMmhsjAynw/8/IvqTAzhnpBswmQ/fQtb\n 7WeQzE+fa9BlfNUpzWjWQK5mBVwEzD2FBv7eSRVeHeD3OxBNTB4055um9B3dfA1JnyGSrraiU","X-Received":["by 2002:a17:906:c105:b0:ae0:1fdf:ea65 with SMTP id\n a640c23a62f3a-ae3c2aad8f1mr649505366b.17.1751526548802;\n Thu, 03 Jul 2025 00:09:08 -0700 (PDT)","by 2002:a17:906:c105:b0:ae0:1fdf:ea65 with SMTP id\n a640c23a62f3a-ae3c2aad8f1mr649502566b.17.1751526548353;\n Thu, 03 Jul 2025 00:09:08 -0700 (PDT)"],"X-Google-Smtp-Source":"\n AGHT+IFvm8rf+J8mFuXuChntGxp7Wh1kMgUlclUrIKy9RcCs3JpEJU4aWMfEaChy5gb3uDBHr6zrfA==","Message-ID":"<1853d939-a73a-4bd0-bdf0-5721b4ce9169@redhat.com>","Date":"Thu, 3 Jul 2025 09:09:07 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Mark Michelson <mmichels@redhat.com>, dev@openvswitch.org","References":"<20250609173539.1636916-1-mmichels@redhat.com>\n <a3862c13-5bc5-4f89-abd0-c47b328fa62d@redhat.com>\n <d9814656-ecf6-483d-a568-a6512f44bf1d@redhat.com>","In-Reply-To":"<d9814656-ecf6-483d-a568-a6512f44bf1d@redhat.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"AkSS2sSLWIn_qexhskZb5SNpQ8qAzWUhGHnBVUA4mko_1751526549","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US","Subject":"Re: [ovs-dev] [PATCH ovn 00/14] Logical Flow Sync Refactor.","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>","From":"Dumitru Ceara via dev <ovs-dev@openvswitch.org>","Reply-To":"Dumitru Ceara <dceara@redhat.com>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"ovs-dev-bounces@openvswitch.org","Sender":"\"dev\" <ovs-dev-bounces@openvswitch.org>"}}]