[{"id":3681462,"web_url":"http://patchwork.ozlabs.org/comment/3681462/","msgid":"<c7017759-0958-422a-acd2-0e8510f15f73@redhat.com>","list_archive_url":null,"date":"2026-04-23T13:25:07","subject":"Re: [ovs-dev] [PATCH ovn 1/3] ic: Update schema to add transit\n switch port.","submitter":{"id":76591,"url":"http://patchwork.ozlabs.org/api/people/76591/","name":"Dumitru Ceara","email":"dceara@redhat.com"},"content":"On 4/21/26 12:14 PM, Mairtin O'Loingsigh via dev wrote:\n> Add transit switch port to ovn-ic-nb schema.\n> \n> Signed-off-by: Mairtin O'Loingsigh <moloings@redhat.com>\n> ---\n\nHi Mairtin,\n\nThanks for the patch!\n\n>  ovn-ic-nb.ovsschema | 24 +++++++++++++++++++++++-\n>  ovn-ic-nb.xml       | 42 ++++++++++++++++++++++++++++++++++++++++++\n>  2 files changed, 65 insertions(+), 1 deletion(-)\n> \n> diff --git a/ovn-ic-nb.ovsschema b/ovn-ic-nb.ovsschema\n> index ca67a2fa9..b8db603b0 100644\n> --- a/ovn-ic-nb.ovsschema\n> +++ b/ovn-ic-nb.ovsschema\n> @@ -1,7 +1,7 @@\n>  {\n>      \"name\": \"OVN_IC_Northbound\",\n>      \"version\": \"1.3.0\",\n\nWe need to bump the y value in the x.y.z version when we add new\ntables/columns.\n\n> -    \"cksum\": \"1918565391 5082\",\n> +    \"cksum\": \"2501001826 6175\",\n>      \"tables\": {\n>          \"IC_NB_Global\": {\n>              \"columns\": {\n> @@ -24,9 +24,31 @@\n>                               \"min\": 0, \"max\": \"unlimited\"}}},\n>              \"maxRows\": 1,\n>              \"isRoot\": true},\n> +        \"Transit_Switch_Port\": {\n> +            \"columns\": {\n> +                \"name\": {\"type\": \"string\"},\n> +                \"other_config\": {\n> +                    \"type\": {\"key\": \"string\", \"value\": \"string\",\n> +                             \"min\": 0, \"max\": \"unlimited\"}},\n> +                \"type\": {\"type\": \"string\"},\n> +                \"chassis\": {\"type\": \"string\"},\n> +                \"option\": {\"type\": \"string\"},\n\nThis looks a bit weird, only a single string value option?\n\n> +                \"addresses\": {\"type\": {\"key\": \"string\",\n> +                                       \"min\": 0,\n> +                                       \"max\": \"unlimited\"}},\n> +                \"ts_uuid\": {\"type\": {\"key\": {\"type\": \"uuid\"},\n> +                                     \"min\": 1,\n> +                                     \"max\": 1}}},\n\nWhy do we need this reference back to the transit switch?  I guess only\nfor the helpers in ovn-ic-nbctl but you could do what we do in ovn-nbctl\nfor logical switch ports, i.e.:\n\n/* Returns the logical switch that contains 'lsp'. */\nstatic char * OVS_WARN_UNUSED_RESULT\nlsp_to_ls(struct ctl_context *ctx,\n          const struct nbrec_logical_switch_port *lsp,\n          const struct nbrec_logical_switch **ls_p)\n{\n    struct nbctl_context *nbctx = nbctl_context_get(ctx);\n    const struct nbrec_logical_switch *ls;\n    *ls_p = NULL;\n\n    ls = shash_find_data(&nbctx->lsp_to_ls_map, lsp->name);\n    if (ls) {\n        *ls_p = ls;\n        return NULL;\n    }\n    /* Can't happen because of the database schema */\n    return xasprintf(\"logical port %s is not part of any logical switch\",\n                     lsp->name);\n}\n\n> +            \"isRoot\": false,\n> +            \"indexes\": [[\"name\"]]},\n>          \"Transit_Switch\": {\n>              \"columns\": {\n>                  \"name\": {\"type\": \"string\"},\n> +                \"ports\": {\"type\": {\"key\": {\"type\": \"uuid\",\n> +                                           \"refTable\": \"Transit_Switch_Port\",\n> +                                           \"refType\": \"strong\"},\n> +                                   \"min\": 0,\n> +                                   \"max\": \"unlimited\"}},\n>                  \"other_config\": {\n>                      \"type\": {\"key\": \"string\", \"value\": \"string\",\n>                               \"min\": 0, \"max\": \"unlimited\"}},\n> diff --git a/ovn-ic-nb.xml b/ovn-ic-nb.xml\n> index a3a35baf2..5eaf55332 100644\n> --- a/ovn-ic-nb.xml\n> +++ b/ovn-ic-nb.xml\n> @@ -112,6 +112,10 @@\n>        </column>\n>      </group>\n>  \n> +    <column name=\"ports\">\n> +      The router's ports.\n\nSwitch ports maybe?\n\n> +    </column>\n> +\n>      <group title=\"Common Columns\">\n>        <column name=\"other_config\"/>\n>        <column name=\"external_ids\">\n> @@ -190,6 +194,44 @@\n>      </group>\n>    </table>\n>  \n> +  <table name=\"Transit_Switch_Port\" title=\"Transit logical switch port\">\n> +    <p>\n> +      Each row represents one transit logical switch port for interconnection\n> +      between different OVN deployments (availability zones).\n> +    </p>\n> +\n> +    <group title=\"Naming\">\n> +      <column name=\"name\">\n> +        A name that uniquely identifies the transit logical switch port.\n> +      </column>\n> +    </group>\n> +\n> +    <column name=\"type\">\n> +      Specify if the port if of type router or vif.\n> +    </column>\n> +\n> +    <column name=\"chassis\">\n> +      The chassis this switch port should be bound to.\n> +    </column>\n> +\n> +    <column name=\"option\">\n> +      Contains peer name or network information depending on port type.\n\nI think we should have an explicit peer column.  What's the \"network\ninformation\" that we'd store here otherwise?\n\n> +    </column>\n> +\n> +    <column name=\"addresses\">\n> +      Addresses to assign to port.\n> +    </column>\n> +\n> +    <column name=\"ts_uuid\">\n> +       This is the UUID of the northbound IC logical datapath this port is\n> +       associated with.\n> +    </column>\n> +\n> +    <group title=\"Common Columns\">\n> +      <column name=\"other_config\"/>\n> +    </group>\n> +  </table>\n> +\n>    <table name=\"SSL\">\n>      SSL/TLS configuration for ovn-nb database access.\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=T8mKGL03;\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=T8mKGL03","smtp3.osuosl.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","smtp3.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=T8mKGL03"],"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 4g1cKQ6Qw4z1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 23:25:29 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 7618983BCF;\n\tThu, 23 Apr 2026 13:25:27 +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 YhFflW_H8okd; Thu, 23 Apr 2026 13:25:23 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org\n [IPv6:2605:bc80:3010:104::8cd3:938])\n\tby smtp1.osuosl.org (Postfix) with ESMTPS id 1530E80AA1;\n\tThu, 23 Apr 2026 13:25:23 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id E31D1C058E;\n\tThu, 23 Apr 2026 13:25:22 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n by lists.linuxfoundation.org (Postfix) with ESMTP id 48BF7C058D\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 13:25:21 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 33C6760E96\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 13:25:21 +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 wjP8BB22YBXv for <dev@openvswitch.org>;\n Thu, 23 Apr 2026 13:25:17 +0000 (UTC)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by smtp3.osuosl.org (Postfix) with ESMTPS id B4E4260E49\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 13:25:16 +0000 (UTC)","from mail-wm1-f72.google.com (mail-wm1-f72.google.com\n [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-689-NdJik47OP2aFimGmPtDInQ-1; Thu, 23 Apr 2026 09:25:11 -0400","by mail-wm1-f72.google.com with SMTP id\n 5b1f17b1804b1-488bd1ee9e7so55619015e9.1\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 06:25:11 -0700 (PDT)","from ?IPV6:2001:1c05:1417:d800:d1ef:9817:2a26:625d?\n (2001-1c05-1417-d800-d1ef-9817-2a26-625d.cable.dynamic.v6.ziggo.nl.\n [2001:1c05:1417:d800:d1ef:9817:2a26:625d])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48a5334cc2bsm75454745e9.19.2026.04.23.06.25.08\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 23 Apr 2026 06:25:08 -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 smtp1.osuosl.org 1530E80AA1","OpenDKIM Filter v2.11.0 smtp3.osuosl.org B4E4260E49"],"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 smtp3.osuosl.org B4E4260E49","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1776950715;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to: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=iKtawIVnfHnLaf9PzzH7V8qlTsSsUHCY6Tc6jT0jBZI=;\n b=T8mKGL03wm8Bbnvyv+k+x3APzcEN0mleEIeVDd9F8+eqD0b+6EoAM0l4rJUTEhVlAoaJLX\n FJcJGcSARUmsVqi1mGLTP1FDP11vK9oO6tRezsXlHKJdMraNk0As7Edk7XORDAEB7oickD\n xyRDiKSsnSuYrbALecFraCjr+zDWuOg=","X-MC-Unique":"NdJik47OP2aFimGmPtDInQ-1","X-Mimecast-MFC-AGG-ID":"NdJik47OP2aFimGmPtDInQ_1776950711","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776950710; x=1777555510;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=iKtawIVnfHnLaf9PzzH7V8qlTsSsUHCY6Tc6jT0jBZI=;\n b=jNfrEsSeMOCRb9iC638BLqhgHbEpMjenPoV3xP5rZtod4QWIrOw8BrOrCjxxjppcRR\n AxZTXybR60967bgJQa1AIpxLO/wtwctyRatNDoqDj6J6xlEenxrwTj8iKECnEducR0Na\n eg4vvtCbw0DFGLXaYb4HiyzgdrQM1Nq3schut7PbqhEqOW9vRBVHX8+4LysandH1CX+p\n 0nirXsQuo8dQkdonxiyOXZb185l0odLTKWlIO9NU75O3wr2Y3aeUH7NQgiTOXW9165MF\n HQAW11UXi7oC4SjkV9tqBJec/Fwi9pCAlRjFvcV9cZ4iYQb1+3Bvr2XeAQWtiwGl2G/c\n ZbAQ==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/6w93q4bIUzWgjH3bunYH+hmcKLJ0+uNFlekCTuMnd4vAOqSmu7yivjNvzoUixW/Do0EQ=@openvswitch.org","X-Gm-Message-State":"AOJu0YxI69vRsgnaEgS78yztOEAzHsOpstLQW303iLhfY9PgMRFf8f5R\n 6/7A3CkuMPdxbI1n065WygXhJajo3gugoCEuyH7qlSf6tz9KD/lWVPC6xUDrP0K9THhTpAjbwB8\n n7BtIfPM8JQZ0jP7thjpn8b+NWwK6qaTFea0ZvG7c5BTNjwDPP8UBeVrCBdnOUg==","X-Gm-Gg":"AeBDievBzAzpXd9xVJTJ46FrnbLgrPbc+yMX6dZi/s4A9mgamugTco3cOT4R69iRZMF\n Zd+N6u3SAYg0byiWnYGzlUNazXygaUlBy3C9Bs7GKaP+K44Dh2JwdGXgxIHRaD5qgIh7LKJwqRZ\n EvKHfajX2ZeY5PBKTepz1c6hKMfQ4uzuIU/5Iec6MGICU/nU8zFcDYA4QMZvSW0kKQRJpCARf7Q\n 59e5Tl3hKxNatlhrRzDIpHoDXuoBOzoajMpBbR0e2SxFTjspZPEAJdvEg7+4Vk88gonmCxFrnPx\n tP23/5j91FUELC9ylTfbTrGH2ywM4xfWvY21LHynaMMmVAyHQH6NTtlNpEF2C4Gd6E+SCUDZ5zt\n iyWwTpsbwIWaY7mCmoroEID6/htXWsqE+bQLDTq8fBRPHGH5EO+BYxIhsrrp93fKhmg32CyX/Ab\n hMpul4hayygy8e3pqxuOIZw6Jp2+WJy4/UGII9tRth640wooCnFsxOkb/7SjC6nYDk+HJuFbn0m\n VkW2qjEa6Y=","X-Received":["by 2002:a05:600c:4714:b0:48a:5574:3a5b with SMTP id\n 5b1f17b1804b1-48a55743d05mr167983425e9.27.1776950710065;\n Thu, 23 Apr 2026 06:25:10 -0700 (PDT)","by 2002:a05:600c:4714:b0:48a:5574:3a5b with SMTP id\n 5b1f17b1804b1-48a55743d05mr167982745e9.27.1776950709390;\n Thu, 23 Apr 2026 06:25:09 -0700 (PDT)"],"Message-ID":"<c7017759-0958-422a-acd2-0e8510f15f73@redhat.com>","Date":"Thu, 23 Apr 2026 15:25:07 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Mairtin O'Loingsigh <moloings@redhat.com>, dev@openvswitch.org","References":"<20260421101422.3608058-1-moloings@redhat.com>\n <20260421101422.3608058-2-moloings@redhat.com>","In-Reply-To":"<20260421101422.3608058-2-moloings@redhat.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"t-lr2tzdNloFIvaXlb9Q-z8lE-_zqhkZvOGLds4euvs_1776950711","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US","Subject":"Re: [ovs-dev] [PATCH ovn 1/3] ic: Update schema to add transit\n switch port.","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":3681466,"web_url":"http://patchwork.ozlabs.org/comment/3681466/","msgid":"<4ad15468-101c-406b-8ea4-fd70c6c126b4@redhat.com>","list_archive_url":null,"date":"2026-04-23T13:27:08","subject":"Re: [ovs-dev] [PATCH ovn 1/3] ic: Update schema to add transit\n switch port.","submitter":{"id":76591,"url":"http://patchwork.ozlabs.org/api/people/76591/","name":"Dumitru Ceara","email":"dceara@redhat.com"},"content":"On 4/23/26 3:25 PM, Dumitru Ceara wrote:\n> On 4/21/26 12:14 PM, Mairtin O'Loingsigh via dev wrote:\n>> Add transit switch port to ovn-ic-nb schema.\n>>\n>> Signed-off-by: Mairtin O'Loingsigh <moloings@redhat.com>\n>> ---\n> \n> Hi Mairtin,\n> \n> Thanks for the patch!\n> \n>>  ovn-ic-nb.ovsschema | 24 +++++++++++++++++++++++-\n>>  ovn-ic-nb.xml       | 42 ++++++++++++++++++++++++++++++++++++++++++\n\nI forgot one thing, we're missing a NEWS item for this series, in one of\nthe patches.\n\n>>  2 files changed, 65 insertions(+), 1 deletion(-)\n>>\n>> diff --git a/ovn-ic-nb.ovsschema b/ovn-ic-nb.ovsschema\n>> index ca67a2fa9..b8db603b0 100644\n>> --- a/ovn-ic-nb.ovsschema\n>> +++ b/ovn-ic-nb.ovsschema\n>> @@ -1,7 +1,7 @@\n>>  {\n>>      \"name\": \"OVN_IC_Northbound\",\n>>      \"version\": \"1.3.0\",\n> \n> We need to bump the y value in the x.y.z version when we add new\n> tables/columns.\n> \n>> -    \"cksum\": \"1918565391 5082\",\n>> +    \"cksum\": \"2501001826 6175\",\n>>      \"tables\": {\n>>          \"IC_NB_Global\": {\n>>              \"columns\": {\n>> @@ -24,9 +24,31 @@\n>>                               \"min\": 0, \"max\": \"unlimited\"}}},\n>>              \"maxRows\": 1,\n>>              \"isRoot\": true},\n>> +        \"Transit_Switch_Port\": {\n>> +            \"columns\": {\n>> +                \"name\": {\"type\": \"string\"},\n>> +                \"other_config\": {\n>> +                    \"type\": {\"key\": \"string\", \"value\": \"string\",\n>> +                             \"min\": 0, \"max\": \"unlimited\"}},\n>> +                \"type\": {\"type\": \"string\"},\n>> +                \"chassis\": {\"type\": \"string\"},\n>> +                \"option\": {\"type\": \"string\"},\n> \n> This looks a bit weird, only a single string value option?\n> \n>> +                \"addresses\": {\"type\": {\"key\": \"string\",\n>> +                                       \"min\": 0,\n>> +                                       \"max\": \"unlimited\"}},\n>> +                \"ts_uuid\": {\"type\": {\"key\": {\"type\": \"uuid\"},\n>> +                                     \"min\": 1,\n>> +                                     \"max\": 1}}},\n> \n> Why do we need this reference back to the transit switch?  I guess only\n> for the helpers in ovn-ic-nbctl but you could do what we do in ovn-nbctl\n> for logical switch ports, i.e.:\n> \n> /* Returns the logical switch that contains 'lsp'. */\n> static char * OVS_WARN_UNUSED_RESULT\n> lsp_to_ls(struct ctl_context *ctx,\n>           const struct nbrec_logical_switch_port *lsp,\n>           const struct nbrec_logical_switch **ls_p)\n> {\n>     struct nbctl_context *nbctx = nbctl_context_get(ctx);\n>     const struct nbrec_logical_switch *ls;\n>     *ls_p = NULL;\n> \n>     ls = shash_find_data(&nbctx->lsp_to_ls_map, lsp->name);\n>     if (ls) {\n>         *ls_p = ls;\n>         return NULL;\n>     }\n>     /* Can't happen because of the database schema */\n>     return xasprintf(\"logical port %s is not part of any logical switch\",\n>                      lsp->name);\n> }\n> \n>> +            \"isRoot\": false,\n>> +            \"indexes\": [[\"name\"]]},\n>>          \"Transit_Switch\": {\n>>              \"columns\": {\n>>                  \"name\": {\"type\": \"string\"},\n>> +                \"ports\": {\"type\": {\"key\": {\"type\": \"uuid\",\n>> +                                           \"refTable\": \"Transit_Switch_Port\",\n>> +                                           \"refType\": \"strong\"},\n>> +                                   \"min\": 0,\n>> +                                   \"max\": \"unlimited\"}},\n>>                  \"other_config\": {\n>>                      \"type\": {\"key\": \"string\", \"value\": \"string\",\n>>                               \"min\": 0, \"max\": \"unlimited\"}},\n>> diff --git a/ovn-ic-nb.xml b/ovn-ic-nb.xml\n>> index a3a35baf2..5eaf55332 100644\n>> --- a/ovn-ic-nb.xml\n>> +++ b/ovn-ic-nb.xml\n>> @@ -112,6 +112,10 @@\n>>        </column>\n>>      </group>\n>>  \n>> +    <column name=\"ports\">\n>> +      The router's ports.\n> \n> Switch ports maybe?\n> \n>> +    </column>\n>> +\n>>      <group title=\"Common Columns\">\n>>        <column name=\"other_config\"/>\n>>        <column name=\"external_ids\">\n>> @@ -190,6 +194,44 @@\n>>      </group>\n>>    </table>\n>>  \n>> +  <table name=\"Transit_Switch_Port\" title=\"Transit logical switch port\">\n>> +    <p>\n>> +      Each row represents one transit logical switch port for interconnection\n>> +      between different OVN deployments (availability zones).\n>> +    </p>\n>> +\n>> +    <group title=\"Naming\">\n>> +      <column name=\"name\">\n>> +        A name that uniquely identifies the transit logical switch port.\n>> +      </column>\n>> +    </group>\n>> +\n>> +    <column name=\"type\">\n>> +      Specify if the port if of type router or vif.\n>> +    </column>\n>> +\n>> +    <column name=\"chassis\">\n>> +      The chassis this switch port should be bound to.\n>> +    </column>\n>> +\n>> +    <column name=\"option\">\n>> +      Contains peer name or network information depending on port type.\n> \n> I think we should have an explicit peer column.  What's the \"network\n> information\" that we'd store here otherwise?\n> \n>> +    </column>\n>> +\n>> +    <column name=\"addresses\">\n>> +      Addresses to assign to port.\n>> +    </column>\n>> +\n>> +    <column name=\"ts_uuid\">\n>> +       This is the UUID of the northbound IC logical datapath this port is\n>> +       associated with.\n>> +    </column>\n>> +\n>> +    <group title=\"Common Columns\">\n>> +      <column name=\"other_config\"/>\n>> +    </group>\n>> +  </table>\n>> +\n>>    <table name=\"SSL\">\n>>      SSL/TLS configuration for ovn-nb database access.\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=Hth97ZXC;\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=Hth97ZXC","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=Hth97ZXC"],"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 4g1cMh1FNBz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 23:27:28 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id B90B483BD7;\n\tThu, 23 Apr 2026 13:27:26 +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 1mVja4Z1X4-U; Thu, 23 Apr 2026 13:27:22 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp1.osuosl.org (Postfix) with ESMTPS id 58F4B83BC4;\n\tThu, 23 Apr 2026 13:27:22 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 188C2C058E;\n\tThu, 23 Apr 2026 13:27:22 +0000 (UTC)","from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])\n by lists.linuxfoundation.org (Postfix) with ESMTP id A47DCC058D\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 13:27:20 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 8A33040765\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 13:27:20 +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 tGCaBzyuA9-o for <dev@openvswitch.org>;\n Thu, 23 Apr 2026 13:27:15 +0000 (UTC)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by smtp2.osuosl.org (Postfix) with ESMTPS id 2082B403D7\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 13:27:14 +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-638-yR6bg4DtMJ6IwlAlpGktzA-1; Thu, 23 Apr 2026 09:27:12 -0400","by mail-wr1-f71.google.com with SMTP id\n ffacd0b85a97d-43cff5ef652so4274876f8f.2\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 06:27:11 -0700 (PDT)","from ?IPV6:2001:1c05:1417:d800:d1ef:9817:2a26:625d?\n (2001-1c05-1417-d800-d1ef-9817-2a26-625d.cable.dynamic.v6.ziggo.nl.\n [2001:1c05:1417:d800:d1ef:9817:2a26:625d])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43fe4e46898sm56425792f8f.27.2026.04.23.06.27.08\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 23 Apr 2026 06:27:08 -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 58F4B83BC4","OpenDKIM Filter v2.11.0 smtp2.osuosl.org 2082B403D7"],"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 smtp2.osuosl.org 2082B403D7","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1776950833;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to: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=WthWXgWhaNAr2uG8daLEDqVnhOAiKx65TTzRT8hT2Rs=;\n b=Hth97ZXCInNasoirLADoxDZsMDyOTmFDnKBeDT2jK7V0BIFtBsBlPMAVYQQSckwq/PZsVP\n CgbocDutByljdIWjwKOqLzlcO5ghq+d4QNIszAD0JKnPf2vc/SDKKcugH1Ai7LIHYN8bnp\n 57wXAi973M4Aw2CFYwq8e5Yvz7/qOxs=","X-MC-Unique":"yR6bg4DtMJ6IwlAlpGktzA-1","X-Mimecast-MFC-AGG-ID":"yR6bg4DtMJ6IwlAlpGktzA_1776950831","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776950830; x=1777555630;\n h=content-transfer-encoding:in-reply-to:content-language:references\n :to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=WthWXgWhaNAr2uG8daLEDqVnhOAiKx65TTzRT8hT2Rs=;\n b=T2dv78A0qRXrASCWuZAJ/KRalWiH3kxqQALKc+2mOFY41SQd19cjNruxZ26nRTFNQW\n gVM5zTwDBg7EYXsTfUG3CHm62OlONpCZRI9zrW+KCaR6aNBNXcBdUA4X4vEWzYvtF46x\n ZL5z3SQsd9CgBPD0UC6y7WmqsI5b72k6Q0oTxwALM4hyhph1d3SR3b9IcGb97lbM5T4r\n pu20r7zTM4eWaS1Ze1fRssKr8I2woQHmsHANtRwKBEsplpEu00vznEmNwqyyw9JPGJ3x\n csoraF0M+wy2h/AZTsdmT+kYoDFSDWSNHk1ZN6GQh0tSLtRmeJ0M14pBQA0PwIUTpHsy\n 5Lcw==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/BYf//X8R0I1DK2IzwW/Ka+NEKCKYrxKKH0GPjDFVWI6ffIR+A9Td8TLo4LtH5hYPOsXk=@openvswitch.org","X-Gm-Message-State":"AOJu0YzigXNziv8zx8MmhbULj5Kv6uN5VzJaf3B4y9R4K0vE6Jy0E0F5\n AUklnAbxHkzMtbLOg6V3hjHUV2fznqLzr6Fh9GBTKUqAH/ysZaWRhelJjOZ/nRiC5wtmzJKNxjm\n tdfs9iORqWvezzkvnzQBA7+3YuUoSqjhUlherBCguDSpaY8zt6ux2dzbYKgcT5A==","X-Gm-Gg":"AeBDieu7Aqw2iDHvX+OetEHEHAmoSoyW9UfOY6AdOnyTwJK+ImXcI6SCEZqsHKKUqiA\n TvshXlI6f6TJhq6JWZz+6BYfuNXzzc+QQX2qkLlnB5bAOUnuse84VYlZCzJ3E40EjKnd73aEpav\n 95d/tbgSfRQx3WCQTtRZHgvOIM//NdtlP0WqMv3G6LOaN6KUMLp3xpf6PuRods2iM/ikJE28mrX\n n54PucAtuPlCUfdrBKncakykFB/5x6e5M4WsQKvE6ffORgjH4lqSPuT/6hu6Pen2WpX2ANcrCzb\n agFOD0N7UlKmhforNe7blPxkR9smDmBXtgsjGhOOursxn7i7y1BDNFbrhp79WYfMaNy6NpP3Vjk\n Y8HYeW2e/3NuJmwMPnDUtQrCKKAtSjnhdfIU5O77OlAqnllv4vCD9NZOP5s8nOgM3Fqt09vOesE\n mn6kOUBYziSagYoMOvBrP8lQldVrnsfL/CjQdpDLAoP2+ULZ2WRYUrYDqnRkC9JelD5irTVF861\n Y+KMzdOmoo=","X-Received":["by 2002:a05:600c:4714:b0:48a:5574:3a5d with SMTP id\n 5b1f17b1804b1-48a55743e96mr174394855e9.7.1776950829972;\n Thu, 23 Apr 2026 06:27:09 -0700 (PDT)","by 2002:a05:600c:4714:b0:48a:5574:3a5d with SMTP id\n 5b1f17b1804b1-48a55743e96mr174394565e9.7.1776950829489;\n Thu, 23 Apr 2026 06:27:09 -0700 (PDT)"],"Message-ID":"<4ad15468-101c-406b-8ea4-fd70c6c126b4@redhat.com>","Date":"Thu, 23 Apr 2026 15:27:08 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Mairtin O'Loingsigh <moloings@redhat.com>, dev@openvswitch.org","References":"<20260421101422.3608058-1-moloings@redhat.com>\n <20260421101422.3608058-2-moloings@redhat.com>\n <c7017759-0958-422a-acd2-0e8510f15f73@redhat.com>","In-Reply-To":"<c7017759-0958-422a-acd2-0e8510f15f73@redhat.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"BaOgI-emz3htbA_Fz6_qrrj-USx2So8y3jCic5-Uoq8_1776950831","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US","Subject":"Re: [ovs-dev] [PATCH ovn 1/3] ic: Update schema to add transit\n switch port.","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>"}}]