[{"id":3681504,"web_url":"http://patchwork.ozlabs.org/comment/3681504/","msgid":"<5b4562b0-f5bd-4a9c-8df8-932e94fa00f8@redhat.com>","list_archive_url":null,"date":"2026-04-23T14:48:55","subject":"Re: [ovs-dev] [PATCH ovn 3/3] ic: Add tests for transit switch\n ports.","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> Tests for ovn-ic-nbctl commands and simple transit switch\n> configurations.\n> \n> Reported-at: https://issues.redhat.com/browse/FDP-2878\n> Signed-off-by: Mairtin O'Loingsigh <moloings@redhat.com>\n> ---\n\nHi Mairtin,\n\nThanks for the patch!  I think I'd actually squash all 3 patches in this\nseries into a single one in the next revision.\n\nTests should be in the same patch where we add functionality (in case we\nneed to revert stuff in the future).\n\nAnd the schema change is minimal so it could also go in there IMO.\n\n>  tests/multinode.at    |  1 -\n>  tests/ovn-ic-nbctl.at | 26 ++++++++++++++++++++++\n>  tests/ovn-ic.at       | 50 +++++++++++++++++++++++++++++++++++++++++++\n>  3 files changed, 76 insertions(+), 1 deletion(-)\n> \n> diff --git a/tests/multinode.at b/tests/multinode.at\n> index d07660797..5f72bc237 100644\n> --- a/tests/multinode.at\n> +++ b/tests/multinode.at\n> @@ -2453,7 +2453,6 @@ for i in 1 2; do\n>      check m_as $chassis ovn-nbctl lsp-add-router-port ts ts-tr tr-ts\n>  \n>      check m_as $chassis ovn-nbctl lrp-add tr tr-ts 00:00:00:00:10:00 10.100.200.1/24 10:200::1/64\n> -    check m_as $chassis ovn-nbctl set logical_router tr options:requested-tnl-key=20\n\nThis is removed because we already had ovn-ic setting it, right?  OTOH,\ndoes it belong in this series?\n\n>      check m_as $chassis ovn-nbctl lrp-set-gateway-chassis tr-ts $chassis\n>  \n>      # Add TS pods, with the same tunnel keys on both sides\n> diff --git a/tests/ovn-ic-nbctl.at b/tests/ovn-ic-nbctl.at\n> index 4c5269784..8309a009c 100644\n> --- a/tests/ovn-ic-nbctl.at\n> +++ b/tests/ovn-ic-nbctl.at\n> @@ -61,6 +61,32 @@ AT_CHECK([ovn-ic-nbctl ts-del ts2], [1], [],\n>  \n>  AT_CHECK([ovn-ic-nbctl --if-exists ts-del ts2])\n>  \n> +AT_CHECK([ovn-ic-nbctl --may-exist ts-add ts0])\n> +AT_CHECK([ovn-ic-nbctl ts-list | uuidfilt], [0], [dnl\n> +<0> (ts0)\n> +])\n> +\n> +AT_CHECK([ovn-ic-nbctl tsp-add], [1], [],\n> +  [ovn-ic-nbctl: 'tsp-add' command requires at least 2 arguments\n> +])\n> +\n> +AT_CHECK([ovn-ic-nbctl tsp-add ts0], [1], [],\n> +  [ovn-ic-nbctl: 'tsp-add' command requires at least 2 arguments\n> +])\n> +\n> +AT_CHECK([ovn-ic-nbctl tsp-add ts0 ts0-p0 chassis=chassis])\n> +\n> +AT_CHECK([ovn-ic-nbctl --may-exist tsp-add ts0 ts0-p0 chassis=chassis])\n> +AT_CHECK([ovn-ic-nbctl tsp-set-addr ts0-p0 \"00:11:22:11:22:33 192.168.10.10/24\"])\n> +#sleep 6000\n\nNit: probably a leftover.\n\n> +AT_CHECK([ovn-ic-nbctl tsp-set-addr ts0-p1 \"00:11:22:11:22:34 192.168.10.11/24\"], [1], [],\n> +    [ovn-ic-nbctl: ts0-p1: switch port name not found\n> +])\n> +\n> +AT_CHECK([ovn-ic-nbctl tsp-del], [1], [],\n> +  [ovn-ic-nbctl: 'tsp-del' command requires at least 1 arguments\n> +])\n> +\n>  OVN_IC_NBCTL_TEST_STOP\n>  AT_CLEANUP\n>  \n> diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at\n> index 0fa7c4f29..58dfa3f06 100644\n> --- a/tests/ovn-ic.at\n> +++ b/tests/ovn-ic.at\n> @@ -164,6 +164,56 @@ AT_CHECK([ovn-ic-sbctl show | grep -A2 lsp1], [0], [dnl\n>              address: [[\"00:00:00:00:00:01 10.0.0.1/24\"]]\n>  ])\n>  \n> +# remove transit switch and check if port_binding is deleted\n> +check ovn-ic-nbctl --wait=sb ts-del ts1\n> +check_row_count ic-sb:Port_Binding 0 logical_port=lsp1\n> +for i in 1 2; do\n> +    az=az$i\n> +    ovn_as $az\n> +    OVN_CLEANUP_SBOX(gw-$az)\n> +    OVN_CLEANUP_AZ([$az])\n> +done\n> +OVN_CLEANUP_IC\n> +AT_CLEANUP\n> +])\n> +OVN_FOR_EACH_NORTHD([\n> +AT_SETUP([ovn-ic -- transit port-bindings deletion upon TS deletion])\n\nIt feels a bit incomplete to not test everything that's supposed to be\nadded in this series, from the \"Reported-at\" issue description:\n\nhttps://redhat.atlassian.net/browse/FDP-2878\n\n\"Add ovn-ic-nbctl helpers for adding transit switch ports, this should\nallow addition for type \"router\" and \"\" (VIFs). The router port handling\nis already in ovn-ic, but it's based on picking up from NB database\ninstead of getting the definition from IC NB. The vif support isn't\nthere at all.\n\nMainly the VIF support has a big advantage of synchronizing the\ntunnel_keys for given port so it doesn't have to be done manually.\n\nThere also needs to be a change to the current logic for \"router\" TSP,\nif the port represents connection between TS and TR that ports needs to\nbe still synchronized, just local everywhere instead of local in one AZ\nand remote in the rest.\"\n\ne.g., I don't see any tsp-add calls in the tests for non-router ports.\n\n> +\n> +ovn_init_ic_db\n> +net_add n1\n> +\n> +# 1 GW per AZ\n> +for i in 1 2; do\n> +    az=az$i\n> +    ovn_start $az\n> +    sim_add gw-$az\n> +    as gw-$az\n> +    check ovs-vsctl add-br br-phys\n> +    ovn_az_attach $az n1 br-phys 192.168.1.$i\n> +    check ovs-vsctl set open . external-ids:ovn-is-interconn=true\n> +done\n> +\n> +ovn_as az1\n> +\n> +# create transit switch and connect to LR\n> +check ovn-ic-nbctl --wait=sb ts-add ts1\n> +check ovn-nbctl lr-add lr1\n> +check ovn-nbctl lrp-add lr1 lrp1 00:00:00:00:00:01 10.0.0.1/24\n> +check ovn-nbctl lrp-set-gateway-chassis lrp1 gw-az1\n> +\n> +check ovn-ic-nbctl tsp-add ts1 lsp1 type=router chassis=gw-az1 option=lrp1\n> +\n> +wait_row_count Datapath_Binding 1 external_ids:interconn-ts=ts1\n> +\n> +# Sync ic-sb DB to see the TS changes.\n> +check ovn-ic-nbctl --wait=sb sync\n> +\n> +AT_CHECK([ovn-ic-sbctl show | grep -A2 lsp1], [0], [dnl\n> +        port lsp1\n> +            transit switch: ts1\n> +            address: [[\"00:00:00:00:00:01 10.0.0.1/24\"]]\n> +])\n> +\n>  # remove transit switch and check if port_binding is deleted\n>  check ovn-ic-nbctl --wait=sb ts-del ts1\n>  check_row_count ic-sb:Port_Binding 0 logical_port=lsp1\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=Lg43itjt;\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=Lg43itjt","smtp4.osuosl.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","smtp4.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=Lg43itjt"],"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 4g1fB73mvbz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 00:49:19 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 5191760B17;\n\tThu, 23 Apr 2026 14:49:17 +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 16qJn1prlTVw; Thu, 23 Apr 2026 14:49:13 +0000 (UTC)","from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56])\n\tby smtp3.osuosl.org (Postfix) with ESMTPS id A386B60EC2;\n\tThu, 23 Apr 2026 14:49:13 +0000 (UTC)","from lf-lists.osuosl.org (localhost [127.0.0.1])\n\tby lists.linuxfoundation.org (Postfix) with ESMTP id 6AEFBC058E;\n\tThu, 23 Apr 2026 14:49:13 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists.linuxfoundation.org (Postfix) with ESMTP id D66EFC058D\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 14:49:11 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id B6DB641008\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 14:49:11 +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 ERYKhnFpvmYc for <dev@openvswitch.org>;\n Thu, 23 Apr 2026 14:49:09 +0000 (UTC)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 09A7F41006\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 14:49:07 +0000 (UTC)","from mail-pj1-f69.google.com (mail-pj1-f69.google.com\n [209.85.216.69]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-427-O378b77MOf-sXSyx0zGEzw-1; Thu, 23 Apr 2026 10:49:04 -0400","by mail-pj1-f69.google.com with SMTP id\n 98e67ed59e1d1-35daf3d3030so7221750a91.1\n for <dev@openvswitch.org>; Thu, 23 Apr 2026 07:49:03 -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 98e67ed59e1d1-36141973c57sm20001894a91.14.2026.04.23.07.48.58\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Thu, 23 Apr 2026 07:49:00 -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 smtp3.osuosl.org A386B60EC2","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 09A7F41006"],"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 smtp4.osuosl.org 09A7F41006","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1776955747;\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=sgL+jq6eq+duWFISaa9NSGTIao3AF2sb6LNHqDNR33I=;\n b=Lg43itjtG/7CMTMesrHhRTybHQoXaIBIDIKiWDuJ0XUwFyp9IpRlDwAkkim3l7ZApLYmji\n t+1zptN4nWUYo/mslGRvGc5eyKlgpji8+zcJhbNC7XaLmvsac60ZVLTV/3x5nV48xkdHB7\n F1JWCDZeB59UXqAqjcRiNGHDxxXrw48=","X-MC-Unique":"O378b77MOf-sXSyx0zGEzw-1","X-Mimecast-MFC-AGG-ID":"O378b77MOf-sXSyx0zGEzw_1776955743","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776955742; x=1777560542;\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=sgL+jq6eq+duWFISaa9NSGTIao3AF2sb6LNHqDNR33I=;\n b=T+XmNsPL1T2iV2iVmQm5dezAzQKXXDKQMz9WCFcJEUlGoWcuuUA/6Buv3OwSmDm4jv\n lEN9gcRTOcNoxo1cfqUigLOPIGwtXCUr2Q1KDm1B04zuP3g/GIiqq4hezRi2mwv4cgM0\n Buo0UwxNWqnVD/2ziVgVqlJVqMcyR7LTfUVKPxO1kwXRVdBlOokOl1jPVMgJ4TCTePAX\n hWPK3X8vkS7l6zwOqXrM6f+tpjzQufBYLZDg5qG8733+3dl2ZjqKJZXN5761/n/yZkOL\n FslzwAeixf2xekxoHNsGxqbYa6t6656BAr25Z0aAe/EjdiGHVGqHRsjWB9tFGVxpYH3f\n 7iwg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ8xWFMRjHLZ6FJpbc0NWXLEykFOsEtCj/jG1nGPkWRF/I25cryqKWiiGDYUFJK9bCHxiSU=@openvswitch.org","X-Gm-Message-State":"AOJu0YzNcJX2MMQtqx05TTEvyDGbRroT/nC0ZztMe8mXieiT+BFtkqDS\n AuK/d/NzDbM4XYQUca6lgZ7ytyh0D4bSKKewJBKNnOxcgM3ncgZyLFLDzhdAuK4ZqTb8eAbo9Mh\n EPVx9XJLx9YRH+39WHdn/Spuf/n5kaAGYdsfOv/4+mlxWF/XDDeMFcORvh/PlQQ==","X-Gm-Gg":"AeBDieucLx5orWMDwt7Km0O/3xDNLHz/F/fsQ04cLu1uuao4oWETWqNyEe0U7reXUGa\n N/8YIWVpjTkq+ncc1rkRZ59udaaDAzHSzhXqcscet7q9fL3hNn+BPuXtAOP8uK+VpEH7shQTC0E\n p257Dk570qVOXymuojBdqiAJp1V/KmkXaNrc9bNVLQgIGRAovW8HNIw4QPHAmPpnQXqUHq9WanJ\n pewEOGGwGAHDOa/TLV1qj4LIdG2TWdHewH6E7uI/tLu1+WiAc9+qs2kacpq717m5edUooGFn4jD\n olp5O8jqeujlTWOwJ0xgPsyq61D1/DQ44+GyPVvUZb5Cuyq74HCiE339t1XGergyh7py1vDrzqn\n JCz6gl2EW/a5cKfzaPJ+7IY3xa/NDzIYWFf72J1GgabXieQlM7JT5sAb3xsq6Z22J4CllUUlpaH\n ref5FwNv9zNuLRGj7fmzQBaNJTrnPkS3QdHPpk65mmrT8xJ1DSzHZq8HmUIkaEXEd9Xk909cM7k\n bCZqLWoXHQ=","X-Received":["by 2002:a17:90b:33c7:b0:35e:577a:73a9 with SMTP id\n 98e67ed59e1d1-361404ae4e1mr29391865a91.26.1776955741728;\n Thu, 23 Apr 2026 07:49:01 -0700 (PDT)","by 2002:a17:90b:33c7:b0:35e:577a:73a9 with SMTP id\n 98e67ed59e1d1-361404ae4e1mr29391816a91.26.1776955740987;\n Thu, 23 Apr 2026 07:49:00 -0700 (PDT)"],"Message-ID":"<5b4562b0-f5bd-4a9c-8df8-932e94fa00f8@redhat.com>","Date":"Thu, 23 Apr 2026 16:48:55 +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-4-moloings@redhat.com>","In-Reply-To":"<20260421101422.3608058-4-moloings@redhat.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"UGmNpCG6oDDiIB_-wuYa0cXqFHRB4mL1VZsC_Y9AEpI_1776955743","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US","Subject":"Re: [ovs-dev] [PATCH ovn 3/3] ic: Add tests for transit switch\n ports.","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>"}}]