From patchwork Tue Nov 5 19:23:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007114 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Xuylrlab; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdYM2dTVz1xyP for ; Wed, 6 Nov 2024 06:23:51 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 22780810B4; Tue, 5 Nov 2024 19:23:45 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 1eLPgr8halPN; Tue, 5 Nov 2024 19:23:44 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 0D075810B9 Authentication-Results: smtp1.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Xuylrlab Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp1.osuosl.org (Postfix) with ESMTPS id 0D075810B9; Tue, 5 Nov 2024 19:23:44 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id BA14EC08A8; Tue, 5 Nov 2024 19:23:43 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 55967C08A3 for ; Tue, 5 Nov 2024 19:23:42 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 38572810B4 for ; Tue, 5 Nov 2024 19:23:42 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id aIqRHKaifphX for ; Tue, 5 Nov 2024 19:23:41 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org 2B791810B3 Authentication-Results: smtp1.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 2B791810B3 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp1.osuosl.org (Postfix) with ESMTPS id 2B791810B3 for ; Tue, 5 Nov 2024 19:23:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HzIDqtrZw+QPxHD0p2F0gf+rw7qZ4QZYoWC4vwf8DK8=; b=XuylrlabaEUZgQCFCy2eOZgihwUBGgBEqdKF4HJgN6r+Vn3XUojaWdL1MikjzGDw2/ZeaB D03sA/5VukUO7OCQIW62uXOXfOTr2JtyRqHqyaCQ8VoGQyrKLCzEtb+VlR6aTnrU+kBdNh 6ufNGDyWd7OYipfLFCI5jBRc0LjNUSg= Received: from mail-ot1-f72.google.com (mail-ot1-f72.google.com [209.85.210.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-59-_UW8XexvOtSNprY9wdj50w-1; Tue, 05 Nov 2024 14:23:38 -0500 X-MC-Unique: _UW8XexvOtSNprY9wdj50w-1 Received: by mail-ot1-f72.google.com with SMTP id 46e09a7af769-7181c09565eso4617049a34.1 for ; Tue, 05 Nov 2024 11:23:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834618; x=1731439418; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HzIDqtrZw+QPxHD0p2F0gf+rw7qZ4QZYoWC4vwf8DK8=; b=q19dNIOgHZWB7VYYufUXJ5fJZXYJ+6AO5Gzdm4XOhz0IAGunm7US6V36KdFyQn+DKp rUxgaMcFEJfhxLgdp7wrGmwWOxJDdATq1FsDqBjJ0tlcN0G4KsVmSzkk0Z7G9Bwz4RPt x7CoErP9dL7H7r5ijwm5ZB5RdMk+8+EmvX3qb49u4adpEHVAPU6mlKizPCWaf3Wkhyxu PZb6HIvw6Giwgj/h1hAoySC0hfYHFpWZP36fT9dndjP34KPv4736IJCffzaIdatSng8Q KqksMnqDtei2HfPCu1M5FVQnnocaGCgQAdt+OZk23Fg8AfpPBduvMXbD8p3gshRQUEyp yx/w== X-Gm-Message-State: AOJu0YwF48+wQq+uPPscZk0h8U7ZGJ/3pZtgyiY44wXIho8u3SS7nJod 0phqgLjoM7KmjGFayLg+pOUXoqmHZzM7xMlZFsCgL6dhwY0JNBEkX8uviCttEk1l5avSAHljNA+ 2ij8SEFlP/by7G2f9aPO3FvmimJS5qaV4m2Ovy9g/HqlHTf1EHebBDLOiRBNFXbdUxOZ9X9J206 CqN+8JmYdvwYLvaPgVE6BHk7Mk8BAfAwmhigylI8PpCukkmHaMCg== X-Received: by 2002:a05:6830:44a9:b0:718:18d6:a465 with SMTP id 46e09a7af769-7186828f90bmr35500052a34.22.1730834617819; Tue, 05 Nov 2024 11:23:37 -0800 (PST) X-Google-Smtp-Source: AGHT+IGoUwnmnFp/s01bmrATSqntTzkoBTLrTiiiPX6umvAYJANkugqVbwee+lm5NA+hQYbVHOr+Zg== X-Received: by 2002:a05:6830:44a9:b0:718:18d6:a465 with SMTP id 46e09a7af769-7186828f90bmr35500030a34.22.1730834617420; Tue, 05 Nov 2024 11:23:37 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7189ccb1247sm2551094a34.53.2024.11.05.11.23.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:37 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:23 +0100 Message-ID: X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 1/8] test: ovn-controller: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/ovn-controller.at | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at index a2e451880..8d2b51ea3 100644 --- a/tests/ovn-controller.at +++ b/tests/ovn-controller.at @@ -424,7 +424,7 @@ OVS_WAIT_UNTIL([test xhv = x`ovn-sbctl --columns name --bare find chassis`]) # Bump the NB_Global nb_cfg value nb_global_id=$(ovn-nbctl --columns _uuid --bare find nb_global) -ovn-nbctl set NB_Global ${nb_global_id} nb_cfg=999 +check ovn-nbctl set NB_Global ${nb_global_id} nb_cfg=999 # ovn-controller should bump the nb_cfg in the chassis_private table OVS_WAIT_UNTIL([test x999 = x`ovn-sbctl --columns nb_cfg --bare find chassis_private`]) @@ -2577,7 +2577,7 @@ OVS_WAIT_UNTIL([check_ovsdb_zone lr0_snat $snat_zone]) snat_req_zone=$port1_zone check ovn-nbctl set Logical_Router lr0 options:snat-ct-zone=$snat_req_zone -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ct_zones=$(ovn-appctl -t ovn-controller ct-zone-list) echo "$ct_zones" @@ -2708,7 +2708,7 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.1 -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync wait_row_count Chassis 1 name=hv1 chassis_id=$(fetch_column Chassis _uuid name=hv1) @@ -2743,13 +2743,13 @@ ovs-vsctl -- add-port br-int hv1-vif1 -- \ ofport-request=1 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 check ovn-nbctl lsp-add sw0 sw0-p1 check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3 1000::3" wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_FOR_OUTPUT([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_PHY_TO_LOG | grep -c in_port=1], [0],[dnl 1 @@ -2799,7 +2799,7 @@ done RUN_OVN_NBCTL wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_FOR_OUTPUT([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_LOCAL_OUTPUT | grep reg15=0x8000,metadata=0x1 | grep -c "controller(userdata=00.00.00.1b"], [0],[dnl 3 @@ -2809,7 +2809,7 @@ for i in $(seq 1 280); do OVN_NBCTL(lsp-del sw0-p$i) done RUN_OVN_NBCTL -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync AT_CHECK([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_LOCAL_OUTPUT | grep -q controller], [1]) @@ -3010,7 +3010,7 @@ OVS_WAIT_UNTIL([grep -q 'OVNSB commit failed' hv1/ovn-controller.log]) sleep_controller hv1 wake_up_sb -ovn-nbctl lb-del lb +check ovn-nbctl lb-del lb wake_up_controller hv1 check ovn-nbctl --wait=hv sync From patchwork Tue Nov 5 19:23:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007121 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KneayF+G; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdZX4FLVz1xxN for ; Wed, 6 Nov 2024 06:24:52 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id BA9528114E; Tue, 5 Nov 2024 19:24:50 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id KStpjmuksSi7; Tue, 5 Nov 2024 19:24:41 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 5ED8380AD6 Authentication-Results: smtp1.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KneayF+G Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp1.osuosl.org (Postfix) with ESMTPS id 5ED8380AD6; Tue, 5 Nov 2024 19:24:32 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id D9035C08A6; Tue, 5 Nov 2024 19:24:31 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 279C5C08A8 for ; Tue, 5 Nov 2024 19:24:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id A597C608B1 for ; Tue, 5 Nov 2024 19:24:04 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id J0wi-6gLZ0Im for ; Tue, 5 Nov 2024 19:24:01 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org CA83860894 Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org CA83860894 Authentication-Results: smtp3.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KneayF+G Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp3.osuosl.org (Postfix) with ESMTPS id CA83860894 for ; Tue, 5 Nov 2024 19:24:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TaOU1QdVxQ3QvhA0YCZjnqsZWOnSTqqdhw2SUziGQaI=; b=KneayF+GQpbU9aD+sWM9b/IvhObVErTOhIZvTPiwk65gJ6seM9x52PfIAHwe5IgYRKVwsU Gr5If04s+SaIPHIoxNzk3F0ZfFykl84UJ7oSt1x97P8MiIsAgG5TkDg8LK6ekzyzHcfrOP J7+nG1v82pY7sMjpjPG98v8Mp0+923M= Received: from mail-oa1-f72.google.com (mail-oa1-f72.google.com [209.85.160.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-96-o-gHXwz8Mvq2cDPQFWFZ1w-1; Tue, 05 Nov 2024 14:23:50 -0500 X-MC-Unique: o-gHXwz8Mvq2cDPQFWFZ1w-1 Received: by mail-oa1-f72.google.com with SMTP id 586e51a60fabf-2886446d741so108616fac.1 for ; Tue, 05 Nov 2024 11:23:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834628; x=1731439428; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TaOU1QdVxQ3QvhA0YCZjnqsZWOnSTqqdhw2SUziGQaI=; b=CKp5cO8SHRrk40cyfpnM9W2o0XM6t4EjmO06oRR8TmBWUuN3bSYk7Vv0wvZ8Fuifj0 +mpU/XviuF2x/NwLHOrRZssQTdV4QrxeJRs/+lOJVyI0VqVJcQylsu7d075HuCwYKeQS MHq5RxNP3B/2ViS8gLp1wf46836YW+M/X3Gn5vmD1gE/8E9B3BcmIWw4H11brYwv+dAG kLFoQrC9eteiWtma+hyAbZlt+6RuGWYn7AgeMVfR3vX2sRt+pmk311plFwrfrqm6uK+b aHNrs/wUav1x3gc0OIJsri8VF7Y+B6wT4MUhCEYBjgjdWOqEHG3fxIYRx+tYMEvGGiTw qJGw== X-Gm-Message-State: AOJu0YwKYcEgEnwWGCKDUUZlU5VhAcCduCHBm7+G6aoXK5zmvyTSt/eD 94K31kL/1p7DYCaBg8s/BT/sAPvnl4GWLp2ZICN4NOf577VMxmZC884eQ3WBc8t8TgPvWQAri1c BXciofiYjUS3mHmmIom90fZHSqx6Mfe6NMO6PB9EMfFu6ysUdjVEZ+VNgKSJGKnAsH3SiIq7CFK RkQDQBtjvngl2m+Ne3qoT/RAW1dKV0zP8V52i88CrS8ekAoCLd/A== X-Received: by 2002:a05:6871:5827:b0:288:4407:55cc with SMTP id 586e51a60fabf-2949cfdbb6dmr10492339fac.8.1730834625469; Tue, 05 Nov 2024 11:23:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IGROgI3mAgGnz7KTVn/svbwGHeUtTKsWtlRgcT+AKftBSafy1704ISaVP/X04bAdBHqkRYrrw== X-Received: by 2002:a05:6871:5827:b0:288:4407:55cc with SMTP id 586e51a60fabf-2949cfdbb6dmr10492201fac.8.1730834621335; Tue, 05 Nov 2024 11:23:41 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-294874d837bsm3840458fac.33.2024.11.05.11.23.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:40 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:24 +0100 Message-ID: <432f7e60769eb1f892ee20adc322ce304636e0cd.1730833286.git.lorenzo.bianconi@redhat.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 2/8] test: system-ovn: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/system-ovn-kmod.at | 306 +++---- tests/system-ovn.at | 1885 +++++++++++++++++++------------------- 2 files changed, 1095 insertions(+), 1096 deletions(-) diff --git a/tests/system-ovn-kmod.at b/tests/system-ovn-kmod.at index 75ecdadeb..cb2e7bf7f 100644 --- a/tests/system-ovn-kmod.at +++ b/tests/system-ovn-kmod.at @@ -34,84 +34,84 @@ start_daemon ovn-controller ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" ADD_NAMESPACES(bar2) ADD_VETH(bar2, bar2, br-int, "192.168.2.3/24", "e0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar2 \ +check ovn-nbctl lsp-add bar bar2 \ -- lsp-set-addresses bar2 "e0:00:00:01:02:05 192.168.2.3" # Config OVN load-balancer with a VIP. -ovn-nbctl lb-add lb0 172.16.1.100:8080 192.168.1.2:80,192.168.2.2:80 -ovn-nbctl lb-add lb10 172.16.1.110:8080 192.168.1.2:80,192.168.2.2:80 -ovn-nbctl lb-add lb0-no-aff 172.16.1.100:8081 192.168.1.2:80,192.168.2.2:80 -ovn-nbctl lb-add lb10-no-aff 172.16.1.110:8081 192.168.1.2:80,192.168.2.2:80 -ovn-nbctl lr-lb-add R2 lb0 -ovn-nbctl lr-lb-add R2 lb10 -ovn-nbctl lr-lb-add R2 lb0-no-aff -ovn-nbctl lr-lb-add R2 lb10-no-aff +check ovn-nbctl lb-add lb0 172.16.1.100:8080 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lb-add lb10 172.16.1.110:8080 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lb-add lb0-no-aff 172.16.1.100:8081 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lb-add lb10-no-aff 172.16.1.110:8081 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lr-lb-add R2 lb0 +check ovn-nbctl lr-lb-add R2 lb10 +check ovn-nbctl lr-lb-add R2 lb0-no-aff +check ovn-nbctl lr-lb-add R2 lb10-no-aff # Start webservers in 'foo1', 'bar1'. NETNS_DAEMONIZE([foo1], [nc -l -k 192.168.1.2 80], [nc-foo1.pid]) NETNS_DAEMONIZE([bar1], [nc -l -k 192.168.2.2 80], [nc-bar1.pid]) # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers dnat=$(ovn-debug lflow-stage-to-oftable lr_in_dnat) @@ -135,8 +135,8 @@ tcp,orig=(src=172.16.1.2,dst=172.16.1.100,sport=,dport=),reply # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # Enable lb affinity -ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 -ovn-nbctl --wait=sb set load_balancer lb10 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb10 options:affinity_timeout=60 for i in $(seq 1 15); do echo Request $i @@ -166,17 +166,17 @@ NS_CHECK_EXEC([alice1], [nc -z 172.16.1.100 8081]) # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) -ovn-nbctl lb-add lb1 172.16.1.101:8080 192.168.1.2:80,192.168.2.2:80 -ovn-nbctl lb-add lb11 172.16.1.111:8080 192.168.1.2:80,192.168.2.2:80 -ovn-nbctl lb-add lb1-no-aff 172.16.1.101:8081 192.168.1.2:80,192.168.2.2:80 -ovn-nbctl lb-add lb11-no-aff 172.16.1.111:8081 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lb-add lb1 172.16.1.101:8080 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lb-add lb11 172.16.1.111:8080 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lb-add lb1-no-aff 172.16.1.101:8081 192.168.1.2:80,192.168.2.2:80 +check ovn-nbctl lb-add lb11-no-aff 172.16.1.111:8081 192.168.1.2:80,192.168.2.2:80 # Enable lb affinity -ovn-nbctl --wait=sb set load_balancer lb1 options:affinity_timeout=3 -ovn-nbctl --wait=sb set load_balancer lb11 options:affinity_timeout=3 -ovn-nbctl lr-lb-add R2 lb1 -ovn-nbctl lr-lb-add R2 lb11 -ovn-nbctl lr-lb-add R2 lb1-no-aff -ovn-nbctl lr-lb-add R2 lb11-no-aff +check ovn-nbctl --wait=sb set load_balancer lb1 options:affinity_timeout=3 +check ovn-nbctl --wait=sb set load_balancer lb11 options:affinity_timeout=3 +check ovn-nbctl lr-lb-add R2 lb1 +check ovn-nbctl lr-lb-add R2 lb11 +check ovn-nbctl lr-lb-add R2 lb1-no-aff +check ovn-nbctl lr-lb-add R2 lb11-no-aff # check we use both backends OVS_WAIT_FOR_OUTPUT([ @@ -198,16 +198,16 @@ AT_CHECK([ovs-appctl dpctl/flush-conntrack]) NETNS_DAEMONIZE([bar2], [nc -l -k 192.168.2.3 80], [nc-bar2.pid]) -ovn-nbctl lb-add lb2 192.168.2.100:8080 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl lb-add lb20 192.168.2.120:8080 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl lb-add lb2-no-aff 192.168.2.100:8081 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl lb-add lb20-no-aff 192.168.2.120:8081 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl --wait=sb set load_balancer lb2 options:affinity_timeout=60 -ovn-nbctl --wait=sb set load_balancer lb20 options:affinity_timeout=60 -ovn-nbctl ls-lb-add foo lb2 -ovn-nbctl ls-lb-add foo lb20 -ovn-nbctl ls-lb-add foo lb2-no-aff -ovn-nbctl ls-lb-add foo lb20-no-aff +check ovn-nbctl lb-add lb2 192.168.2.100:8080 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl lb-add lb20 192.168.2.120:8080 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl lb-add lb2-no-aff 192.168.2.100:8081 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl lb-add lb20-no-aff 192.168.2.120:8081 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl --wait=sb set load_balancer lb2 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb20 options:affinity_timeout=60 +check ovn-nbctl ls-lb-add foo lb2 +check ovn-nbctl ls-lb-add foo lb20 +check ovn-nbctl ls-lb-add foo lb2-no-aff +check ovn-nbctl ls-lb-add foo lb20-no-aff for i in $(seq 1 15); do echo Request $i @@ -223,16 +223,16 @@ NS_CHECK_EXEC([foo1], [nc -z 192.168.2.100 8081]) # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) -ovn-nbctl lb-add lb3 192.168.2.101:8080 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl lb-add lb30 192.168.2.131:8080 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl lb-add lb3-no-aff 192.168.2.101:8081 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl lb-add lb30-no-aff 192.168.2.131:8081 192.168.2.2:80,192.168.2.3:80 -ovn-nbctl --wait=sb set load_balancer lb3 options:affinity_timeout=3 -ovn-nbctl --wait=sb set load_balancer lb30 options:affinity_timeout=3 -ovn-nbctl ls-lb-add foo lb3 -ovn-nbctl ls-lb-add foo lb30 -ovn-nbctl ls-lb-add foo lb3-no-aff -ovn-nbctl ls-lb-add foo lb30-no-aff +check ovn-nbctl lb-add lb3 192.168.2.101:8080 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl lb-add lb30 192.168.2.131:8080 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl lb-add lb3-no-aff 192.168.2.101:8081 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl lb-add lb30-no-aff 192.168.2.131:8081 192.168.2.2:80,192.168.2.3:80 +check ovn-nbctl --wait=sb set load_balancer lb3 options:affinity_timeout=3 +check ovn-nbctl --wait=sb set load_balancer lb30 options:affinity_timeout=3 +check ovn-nbctl ls-lb-add foo lb3 +check ovn-nbctl ls-lb-add foo lb30 +check ovn-nbctl ls-lb-add foo lb3-no-aff +check ovn-nbctl ls-lb-add foo lb30-no-aff # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) @@ -251,20 +251,20 @@ tcp,orig=(src=192.168.1.2,dst=192.168.2.101,sport=,dport=),rep NS_CHECK_EXEC([foo1], [nc -z 192.168.2.101 8081]) NS_CHECK_EXEC([foo1], [ip neigh add 192.168.1.200 lladdr 00:00:01:01:02:03 dev foo1], [0]) -ovn-nbctl lb-add lb4 192.168.1.100:8080 192.168.1.2:80 -ovn-nbctl lb-add lb40 192.168.1.140:8080 192.168.1.2:80 -ovn-nbctl lb-add lb4-no-aff 192.168.1.100:8081 192.168.1.2:80 -ovn-nbctl lb-add lb40-no-aff 192.168.1.140:8081 192.168.1.2:80 -ovn-nbctl --wait=sb set load_balancer lb4 options:affinity_timeout=60 options:hairpin_snat_ip=192.168.1.200 -ovn-nbctl --wait=sb set load_balancer lb40 options:affinity_timeout=60 options:hairpin_snat_ip=192.168.1.200 -ovn-nbctl ls-lb-add foo lb4 -ovn-nbctl ls-lb-add foo lb40 -ovn-nbctl lr-lb-add R1 lb4 -ovn-nbctl lr-lb-add R1 lb40 -ovn-nbctl ls-lb-add foo lb4-no-aff -ovn-nbctl ls-lb-add foo lb40-no-aff -ovn-nbctl lr-lb-add R1 lb4-no-aff -ovn-nbctl lr-lb-add R1 lb40-no-aff +check ovn-nbctl lb-add lb4 192.168.1.100:8080 192.168.1.2:80 +check ovn-nbctl lb-add lb40 192.168.1.140:8080 192.168.1.2:80 +check ovn-nbctl lb-add lb4-no-aff 192.168.1.100:8081 192.168.1.2:80 +check ovn-nbctl lb-add lb40-no-aff 192.168.1.140:8081 192.168.1.2:80 +check ovn-nbctl --wait=sb set load_balancer lb4 options:affinity_timeout=60 options:hairpin_snat_ip=192.168.1.200 +check ovn-nbctl --wait=sb set load_balancer lb40 options:affinity_timeout=60 options:hairpin_snat_ip=192.168.1.200 +check ovn-nbctl ls-lb-add foo lb4 +check ovn-nbctl ls-lb-add foo lb40 +check ovn-nbctl lr-lb-add R1 lb4 +check ovn-nbctl lr-lb-add R1 lb40 +check ovn-nbctl ls-lb-add foo lb4-no-aff +check ovn-nbctl ls-lb-add foo lb40-no-aff +check ovn-nbctl lr-lb-add R1 lb4-no-aff +check ovn-nbctl lr-lb-add R1 lb40-no-aff # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) @@ -335,79 +335,79 @@ start_daemon ovn-controller ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd72::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd72::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 fd72::/64 fd20::2 -ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R1 fd72::/64 fd20::2 +check ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd72::2/64", "f0:00:00:01:02:04", \ "fd72::1", "nodad") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 fd72::2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:05", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 fd12::2" ADD_NAMESPACES(bar2) ADD_VETH(bar2, bar2, br-int, "fd12::3/64", "e0:00:00:01:02:05", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar2 \ +check ovn-nbctl lsp-add bar bar2 \ -- lsp-set-addresses bar2 "e0:00:00:01:02:05 fd12::3" -ovn-nbctl lb-add lb0 [[fd30::1]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 -ovn-nbctl lb-add lb10 [[fd30::10]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 -ovn-nbctl lb-add lb0-no-aff [[fd30::1]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 -ovn-nbctl lb-add lb10-no-aff [[fd30::10]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 -ovn-nbctl lr-lb-add R2 lb0 -ovn-nbctl lr-lb-add R2 lb10 -ovn-nbctl lr-lb-add R2 lb0-no-aff -ovn-nbctl lr-lb-add R2 lb10-no-aff +check ovn-nbctl lb-add lb0 [[fd30::1]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lb-add lb10 [[fd30::10]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lb-add lb0-no-aff [[fd30::1]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lb-add lb10-no-aff [[fd30::10]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lr-lb-add R2 lb0 +check ovn-nbctl lr-lb-add R2 lb10 +check ovn-nbctl lr-lb-add R2 lb0-no-aff +check ovn-nbctl lr-lb-add R2 lb10-no-aff # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers dnat=$(ovn-debug lflow-stage-to-oftable lr_in_dnat) @@ -436,8 +436,8 @@ NS_CHECK_EXEC([alice1], [nc -z fd30::1 8081]) # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # Enable lb affinity -ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 -ovn-nbctl --wait=sb set load_balancer lb10 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb10 options:affinity_timeout=60 for i in $(seq 1 15); do echo Request $i @@ -467,17 +467,17 @@ NS_CHECK_EXEC([alice1], [nc -z fd30::1 8081]) # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) -ovn-nbctl lb-add lb1 [[fd30::2]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 -ovn-nbctl lb-add lb11 [[fd30::12]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 -ovn-nbctl lb-add lb1-no-aff [[fd30::2]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 -ovn-nbctl lb-add lb11-no-aff [[fd30::12]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lb-add lb1 [[fd30::2]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lb-add lb11 [[fd30::12]]:8080 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lb-add lb1-no-aff [[fd30::2]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 +check ovn-nbctl lb-add lb11-no-aff [[fd30::12]]:8081 [[fd11::2]]:80,[[fd12::2]]:80 # Enable lb affinity -ovn-nbctl --wait=sb set load_balancer lb1 options:affinity_timeout=3 -ovn-nbctl --wait=sb set load_balancer lb11 options:affinity_timeout=3 -ovn-nbctl lr-lb-add R2 lb1 -ovn-nbctl lr-lb-add R2 lb11 -ovn-nbctl lr-lb-add R2 lb1-no-aff -ovn-nbctl lr-lb-add R2 lb11-no-aff +check ovn-nbctl --wait=sb set load_balancer lb1 options:affinity_timeout=3 +check ovn-nbctl --wait=sb set load_balancer lb11 options:affinity_timeout=3 +check ovn-nbctl lr-lb-add R2 lb1 +check ovn-nbctl lr-lb-add R2 lb11 +check ovn-nbctl lr-lb-add R2 lb1-no-aff +check ovn-nbctl lr-lb-add R2 lb11-no-aff # check we use both backends OVS_WAIT_FOR_OUTPUT([ @@ -499,16 +499,16 @@ AT_CHECK([ovs-appctl dpctl/flush-conntrack]) NETNS_DAEMONIZE([bar2], [nc -l -k fd12::3 80], [nc-bar2.pid]) -ovn-nbctl lb-add lb2 [[fd12::a]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl lb-add lb20 [[fd12::2a]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl lb-add lb2-no-aff [[fd12::a]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl lb-add lb20-no-aff [[fd12::2a]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl --wait=sb set load_balancer lb2 options:affinity_timeout=60 -ovn-nbctl --wait=sb set load_balancer lb20 options:affinity_timeout=60 -ovn-nbctl ls-lb-add foo lb2 -ovn-nbctl ls-lb-add foo lb20 -ovn-nbctl ls-lb-add foo lb2-no-aff -ovn-nbctl ls-lb-add foo lb20-no-aff +check ovn-nbctl lb-add lb2 [[fd12::a]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl lb-add lb20 [[fd12::2a]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl lb-add lb2-no-aff [[fd12::a]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl lb-add lb20-no-aff [[fd12::2a]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl --wait=sb set load_balancer lb2 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb20 options:affinity_timeout=60 +check ovn-nbctl ls-lb-add foo lb2 +check ovn-nbctl ls-lb-add foo lb20 +check ovn-nbctl ls-lb-add foo lb2-no-aff +check ovn-nbctl ls-lb-add foo lb20-no-aff for i in $(seq 1 15); do echo Request $i @@ -524,16 +524,16 @@ NS_CHECK_EXEC([foo1], [nc -z fd12::a 8081]) AT_CHECK([ovs-appctl dpctl/flush-conntrack]) -ovn-nbctl lb-add lb3 [[fd12::b]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl lb-add lb30 [[fd12::3b]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl lb-add lb3-no-aff [[fd12::b]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl lb-add lb30-no-aff [[fd12::3b]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 -ovn-nbctl --wait=sb set load_balancer lb3 options:affinity_timeout=3 -ovn-nbctl --wait=sb set load_balancer lb30 options:affinity_timeout=3 -ovn-nbctl ls-lb-add foo lb3 -ovn-nbctl ls-lb-add foo lb30 -ovn-nbctl ls-lb-add foo lb3-no-aff -ovn-nbctl ls-lb-add foo lb30-no-aff +check ovn-nbctl lb-add lb3 [[fd12::b]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl lb-add lb30 [[fd12::3b]]:8080 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl lb-add lb3-no-aff [[fd12::b]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl lb-add lb30-no-aff [[fd12::3b]]:8081 [[fd12::2]]:80,[[fd12::3]]:80 +check ovn-nbctl --wait=sb set load_balancer lb3 options:affinity_timeout=3 +check ovn-nbctl --wait=sb set load_balancer lb30 options:affinity_timeout=3 +check ovn-nbctl ls-lb-add foo lb3 +check ovn-nbctl ls-lb-add foo lb30 +check ovn-nbctl ls-lb-add foo lb3-no-aff +check ovn-nbctl ls-lb-add foo lb30-no-aff OVS_WAIT_FOR_OUTPUT([ for i in $(seq 1 5); do @@ -549,20 +549,20 @@ tcp,orig=(src=fd11::2,dst=fd12::b,sport=,dport=),reply=(src=fd NS_CHECK_EXEC([foo1], [nc -z fd12::b 8081]) NS_CHECK_EXEC([foo1], [ip -6 neigh add fd11::b lladdr 00:00:01:01:02:03 dev foo1], [0]) -ovn-nbctl --wait=sb lb-add lb4 [[fd11::a]]:8080 [[fd11::2]]:80 -ovn-nbctl --wait=sb lb-add lb40 [[fd11::a]]:8080 [[fd11::2]]:80 -ovn-nbctl --wait=sb lb-add lb4-no-aff [[fd11::a]]:8081 [[fd11::2]]:80 -ovn-nbctl --wait=sb lb-add lb40-no-aff [[fd11::a]]:8081 [[fd11::2]]:80 -ovn-nbctl --wait=sb set load_balancer lb4 options:affinity_timeout=60 options:hairpin_snat_ip="fd11::b" -ovn-nbctl --wait=sb set load_balancer lb40 options:affinity_timeout=60 options:hairpin_snat_ip="fd11::b" -ovn-nbctl ls-lb-add foo lb4 -ovn-nbctl ls-lb-add foo lb40 -ovn-nbctl lr-lb-add R1 lb4 -ovn-nbctl lr-lb-add R1 lb40 -ovn-nbctl ls-lb-add foo lb4-no-aff -ovn-nbctl ls-lb-add foo lb40-no-aff -ovn-nbctl lr-lb-add R1 lb4-no-aff -ovn-nbctl lr-lb-add R1 lb40-no-aff +check ovn-nbctl --wait=sb lb-add lb4 [[fd11::a]]:8080 [[fd11::2]]:80 +check ovn-nbctl --wait=sb lb-add lb40 [[fd11::a]]:8080 [[fd11::2]]:80 +check ovn-nbctl --wait=sb lb-add lb4-no-aff [[fd11::a]]:8081 [[fd11::2]]:80 +check ovn-nbctl --wait=sb lb-add lb40-no-aff [[fd11::a]]:8081 [[fd11::2]]:80 +check ovn-nbctl --wait=sb set load_balancer lb4 options:affinity_timeout=60 options:hairpin_snat_ip="fd11::b" +check ovn-nbctl --wait=sb set load_balancer lb40 options:affinity_timeout=60 options:hairpin_snat_ip="fd11::b" +check ovn-nbctl ls-lb-add foo lb4 +check ovn-nbctl ls-lb-add foo lb40 +check ovn-nbctl lr-lb-add R1 lb4 +check ovn-nbctl lr-lb-add R1 lb40 +check ovn-nbctl ls-lb-add foo lb4-no-aff +check ovn-nbctl ls-lb-add foo lb40-no-aff +check ovn-nbctl lr-lb-add R1 lb4-no-aff +check ovn-nbctl lr-lb-add R1 lb40-no-aff # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) @@ -643,7 +643,7 @@ check ovn-nbctl lrp-add lr lr-internal 00:00:01:01:02:04 172.16.1.1/24 check ovn-nbctl lsp-add internal internal-lr -- set Logical_Switch_Port internal-lr \ type=router options:router-port=lr-internal addresses=\"00:00:01:01:02:04\" -ovn-nbctl lsp-add public ln_port \ +check ovn-nbctl lsp-add public ln_port \ -- lsp-set-addresses ln_port unknown \ -- lsp-set-type ln_port localnet \ -- lsp-set-options ln_port network_name=phynet @@ -955,7 +955,7 @@ check ovn-nbctl lrp-add lr lr-internal 00:00:01:01:02:04 192.168.20.1/24 fd20::1 check ovn-nbctl lsp-add internal internal-lr -- set Logical_Switch_Port internal-lr \ type=router options:router-port=lr-internal addresses=\"00:00:01:01:02:04\" -ovn-nbctl lsp-add public ln_port \ +check ovn-nbctl lsp-add public ln_port \ -- lsp-set-addresses ln_port unknown \ -- lsp-set-type ln_port localnet \ -- lsp-set-options ln_port network_name=phynet diff --git a/tests/system-ovn.at b/tests/system-ovn.at index 6dfc3055a..00cadd4f0 100644 --- a/tests/system-ovn.at +++ b/tests/system-ovn.at @@ -34,59 +34,59 @@ start_daemon ovn-controller ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" # Add a DNAT rule. @@ -98,7 +98,7 @@ ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.2.2 \ external_ip=30.0.0.1 -- add logical_router R2 nat @nat # wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=30.0.0.1)']) # 'alice1' should be able to ping 'foo1' directly. @@ -134,10 +134,10 @@ icmp,orig=(src=192.168.2.2,dst=172.16.1.2,id=,type=8,code=0),reply=(src ]) # Add static routes to handle east-west NAT. -ovn-nbctl lr-route-add R1 30.0.0.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R1 30.0.0.0/24 20.0.0.2 # wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) @@ -213,60 +213,60 @@ start_daemon ovn-controller ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd21::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd21::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd00::1/64 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd00::1/64 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd00::2/64 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd00::2/64 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 fd21::/64 fd00::2 -ovn-nbctl lr-route-add R2 fd11::/64 fd00::1 -ovn-nbctl lr-route-add R2 fd12::/64 fd00::1 +check ovn-nbctl lr-route-add R1 fd21::/64 fd00::2 +check ovn-nbctl lr-route-add R2 fd11::/64 fd00::1 +check ovn-nbctl lr-route-add R2 fd12::/64 fd00::1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd21::2/64", "f0:00:00:01:02:04", \ "fd21::1", "nodad") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 fd21::2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:05", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 fd12::2" # Add a DNAT rule. @@ -278,7 +278,7 @@ ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=\"fd12::2\" \ external_ip=\"fd30::1\" -- add logical_router R2 nat @nat # wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=fd30::1)']) # 'alice1' should be able to ping 'foo1' directly. @@ -314,10 +314,10 @@ icmpv6,orig=(src=fd12::2,dst=fd21::2,id=,type=128,code=0),reply=(src=fd ]) # Add static routes to handle east-west NAT. -ovn-nbctl lr-route-add R1 fd30::/64 fd00::2 +check ovn-nbctl lr-route-add R1 fd30::/64 fd00::2 # wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) @@ -388,57 +388,57 @@ start_daemon ovn-controller # # foo -- R1 -- join - R2 -- alice -ovn-nbctl lr-add R1 -ovn-nbctl lr-add R2 -- set Logical_Router R2 options:chassis=hv1 +check ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R2 -- set Logical_Router R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect alice to R2 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" # Add a SNAT rule ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.1.2 \ external_ip=172.16.1.1 -- add logical_router R2 nat @nat -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=172.16.1.1)']) # South-North SNAT: 'foo1' pings 'alice1'. But 'alice1' receives traffic @@ -500,57 +500,57 @@ start_daemon ovn-controller # # foo -- R1 -- join - R2 -- alice -ovn-nbctl lr-add R1 -ovn-nbctl lr-add R2 -- set Logical_Router R2 options:chassis=hv1 +check ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R2 -- set Logical_Router R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd10::1/64 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd30::1/64 -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd10::1/64 +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd30::1/64 +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect alice to R2 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 fd30::/64 fd20::2 -ovn-nbctl lr-route-add R2 fd10::/64 fd20::1 +check ovn-nbctl lr-route-add R1 fd30::/64 fd20::2 +check ovn-nbctl lr-route-add R2 fd10::/64 fd20::1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd10::2/64", "f0:00:00:01:02:03", \ "fd10::1", "nodad") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd10::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd30::2/64", "f0:00:00:01:02:04", \ "fd30::1", "nodad") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 fd30::2" # Add a SNAT rule ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=\"fd10::2\" \ external_ip=\"fd30::1\" -- add logical_router R2 nat @nat -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=fd30::1)']) # South-North SNAT: 'foo1' pings 'alice1'. But 'alice1' receives traffic @@ -622,86 +622,86 @@ ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 ovn-nbctl create Logical_Router name=R3 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' # Install static routes with source ip address as the policy for routing. # We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3. -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 # Static routes. -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 -ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 # For gateway routers R2 and R3, set a force SNAT rule. -ovn-nbctl set logical_router R2 options:dnat_force_snat_ip=20.0.0.2 -ovn-nbctl set logical_router R3 options:dnat_force_snat_ip=20.0.0.3 +check ovn-nbctl set logical_router R2 options:dnat_force_snat_ip=20.0.0.2 +check ovn-nbctl set logical_router R3 options:dnat_force_snat_ip=20.0.0.3 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.3/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" # Logical port 'bob1' in switch 'bob'. ADD_NAMESPACES(bob1) ADD_VETH(bob1, bob1, br-int, "172.16.1.4/24", "f0:00:00:01:02:06", \ "172.16.1.2") -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.1.4" # Router R2 @@ -723,7 +723,7 @@ ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.2.2 \ external_ip=30.0.0.4 -- add logical_router R3 nat @nat # wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=30.0.0.4)']) # North-South DNAT: 'alice1' should be able to ping 'foo1' via 30.0.0.2 @@ -844,88 +844,88 @@ ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 ovn-nbctl create Logical_Router name=R3 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd30::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd30::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 fd30::2/64 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 fd30::2/64 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 fd20::3/64 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 fd20::3/64 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' # Install static routes with source ip address as the policy for routing. # We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3. -ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 -ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 # Static routes. -ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 -ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 # For gateway routers R2 and R3, set a force SNAT rule. -ovn-nbctl set logical_router R2 options:dnat_force_snat_ip=fd20::2 -ovn-nbctl set logical_router R3 options:dnat_force_snat_ip=fd20::3 +check ovn-nbctl set logical_router R2 options:dnat_force_snat_ip=fd20::2 +check ovn-nbctl set logical_router R3 options:dnat_force_snat_ip=fd20::3 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd30::3/64", "f0:00:00:01:02:04", \ "fd30::1", "nodad") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 fd30::3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:05", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 fd12::2" # Logical port 'bob1' in switch 'bob'. ADD_NAMESPACES(bob1) ADD_VETH(bob1, bob1, br-int, "fd30::4/64", "f0:00:00:01:02:06", \ "fd30::2", "nodad") -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 fd30::4" # External IPs -- 30.0.0.N --> fd40::N (from IPv4 version of test case) @@ -949,7 +949,7 @@ ovn-nbctl -- --id=@nat create nat type="snat" logical_ip='"fd12::2"' \ external_ip='"fd40::4"' -- add logical_router R3 nat @nat # wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=fd40::4)']) # North-South DNAT: 'alice1' should be able to ping 'foo1' via fd30::2 @@ -1071,116 +1071,116 @@ ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 ovn-nbctl create Logical_Router name=R3 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 fd30::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 fd30::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 fd30::2/64 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 fd30::2/64 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 fd20::1/64 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 fd20::1/64 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 fd20::2/64 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 fd20::2/64 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 fd20::3/64 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 fd20::3/64 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' # Install static routes with source ip address as the policy for routing. # We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3. -ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 -ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 # Static routes. -ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 -ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 -ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 # For gateway routers R2 and R3, set a force SNAT rule. -ovn-nbctl set logical_router R2 options:dnat_force_snat_ip="20.0.0.2 fd20::2" -ovn-nbctl set logical_router R3 options:dnat_force_snat_ip="20.0.0.3 fd20::3" +check ovn-nbctl set logical_router R2 options:dnat_force_snat_ip="20.0.0.2 fd20::2" +check ovn-nbctl set logical_router R3 options:dnat_force_snat_ip="20.0.0.3 fd20::3" # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" ADD_NAMESPACES(foo16) ADD_VETH(foo16, foo16, br-int, "fd11::2/64", "f0:00:00:02:02:03", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo16 \ +check ovn-nbctl lsp-add foo foo16 \ -- lsp-set-addresses foo16 "f0:00:00:02:02:03 fd11::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.3/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.3" ADD_NAMESPACES(alice16) ADD_VETH(alice16, alice16, br-int, "fd30::3/64", "f0:00:00:02:02:04", \ "fd30::1", "nodad") -ovn-nbctl lsp-add alice alice16 \ +check ovn-nbctl lsp-add alice alice16 \ -- lsp-set-addresses alice16 "f0:00:00:02:02:04 fd30::3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" ADD_NAMESPACES(bar16) ADD_VETH(bar16, bar16, br-int, "fd12::2/64", "f0:00:00:02:02:05", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar16 \ +check ovn-nbctl lsp-add bar bar16 \ -- lsp-set-addresses bar16 "f0:00:00:02:02:05 fd12::2" # Logical port 'bob1' in switch 'bob'. ADD_NAMESPACES(bob1) ADD_VETH(bob1, bob1, br-int, "172.16.1.4/24", "f0:00:00:01:02:06", \ "172.16.1.2") -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.1.4" ADD_NAMESPACES(bob16) ADD_VETH(bob16, bob16, br-int, "fd30::4/64", "f0:00:00:02:02:06", \ "fd30::2", "nodad") -ovn-nbctl lsp-add bob bob16 \ +check ovn-nbctl lsp-add bob bob16 \ -- lsp-set-addresses bob16 "f0:00:00:02:02:06 fd30::4" # Router R2 @@ -1210,7 +1210,7 @@ ovn-nbctl -- --id=@nat create nat type="snat" logical_ip='"fd12::2"' \ external_ip='"fd40::4"' -- add logical_router R3 nat @nat # wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=fd40::4)']) OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=30.0.0.4)']) @@ -1375,58 +1375,58 @@ start_daemon ovn-controller # Loadbalancer VIPs in 30.0.0.0/24 network. ovn-nbctl create Logical_Router name=R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 172.16.1.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 172.16.1.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Create logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Create logical ports 'bar1', 'bar2', 'bar3' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "172.16.1.2/24", "f0:00:0f:01:02:03", \ "172.16.1.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:0f:01:02:03 172.16.1.2" ADD_NAMESPACES(bar2) ADD_VETH(bar2, bar2, br-int, "172.16.1.3/24", "f0:00:0f:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add bar bar2 \ +check ovn-nbctl lsp-add bar bar2 \ -- lsp-set-addresses bar2 "f0:00:0f:01:02:04 172.16.1.3" ADD_NAMESPACES(bar3) ADD_VETH(bar3, bar3, br-int, "172.16.1.4/24", "f0:00:0f:01:02:05", \ "172.16.1.1") -ovn-nbctl lsp-add bar bar3 \ +check ovn-nbctl lsp-add bar bar3 \ -- lsp-set-addresses bar3 "f0:00:0f:01:02:05 172.16.1.4" # Config OVN load-balancer with a VIP. -ovn-nbctl lb-add lb1 30.0.0.1 "172.16.1.2,172.16.1.3,172.16.1.4" -ovn-nbctl ls-lb-add foo lb1 +check ovn-nbctl lb-add lb1 30.0.0.1 "172.16.1.2,172.16.1.3,172.16.1.4" +check ovn-nbctl ls-lb-add foo lb1 # Create another load-balancer with another VIP. lb2_uuid=`ovn-nbctl create load_balancer name=lb2 vips:30.0.0.3="172.16.1.2,172.16.1.3,172.16.1.4"` -ovn-nbctl ls-lb-add foo lb2 +check ovn-nbctl ls-lb-add foo lb2 # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $lb2_uuid vips:'"30.0.0.2:8000"'='"172.16.1.2:80,172.16.1.3:80,172.16.1.4:80"' +check ovn-nbctl set load_balancer $lb2_uuid vips:'"30.0.0.2:8000"'='"172.16.1.2:80,172.16.1.3:80,172.16.1.4:80"' # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=172.16.1.4:80)']) @@ -1445,7 +1445,7 @@ AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # Clear the apply-after-lb option. The traffic will be allowed. check ovn-nbctl clear acl . options -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_FOR_OUTPUT([ for i in `seq 1 20`; do @@ -1458,8 +1458,8 @@ tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=,dport=),reply=(s tcp,orig=(src=192.168.1.2,dst=30.0.0.1,sport=,dport=),reply=(src=172.16.1.4,dst=192.168.1.2,sport=,dport=),zone=,mark=2,protoinfo=(state=) ]) -ovn-nbctl acl-del foo from-lport 1002 "ip4 && ip4.dst == {172.16.1.2,172.16.1.3,172.16.1.4} && ct.new" -ovn-nbctl --wait=hv sync +check ovn-nbctl acl-del foo from-lport 1002 "ip4 && ip4.dst == {172.16.1.2,172.16.1.3,172.16.1.4} && ct.new" +check ovn-nbctl --wait=hv sync dnl Should work with the virtual IP 30.0.0.1 address through NAT dnl Each server should have at least one connection. @@ -1504,7 +1504,7 @@ tcp,orig=(src=192.168.1.2,dst=30.0.0.2,sport=,dport=),reply=(s ]) # Configure selection_fields. -ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" +check ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" OVS_WAIT_UNTIL([ test $(ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(ip_src,ip_dst,tcp_src,tcp_dst)" -c) -eq 2 @@ -1536,7 +1536,7 @@ done dnl Only one backend should be chosen. AT_CHECK([test $(ovs-appctl dpctl/dump-conntrack | grep 30.0.0.2 -c) -eq 1]) -ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src" +check ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src" OVS_WAIT_UNTIL([ test $(ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields=ip_src" -c) -eq 2 @@ -1577,14 +1577,14 @@ else fi # Change the protocol of lb2 to udp and set tp_src and tp_dst. -ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" +check ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" OVS_WAIT_UNTIL([ test $(ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(ip_src,ip_dst,tcp_src,tcp_dst)" -c) -eq 2 ]) -ovn-nbctl set load_balancer $lb2_uuid protocol=udp +check ovn-nbctl set load_balancer $lb2_uuid protocol=udp OVS_WAIT_UNTIL([ test $(ovs-ofctl dump-groups br-int | \ @@ -1592,15 +1592,15 @@ OVS_WAIT_UNTIL([ ]) # Change the protocol of lb2 to sctp. -ovn-nbctl set load_balancer $lb2_uuid protocol=sctp +check ovn-nbctl set load_balancer $lb2_uuid protocol=sctp OVS_WAIT_UNTIL([ test $(ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(ip_src,ip_dst,sctp_src,sctp_dst)" -c) -eq 2 ]) -ovn-nbctl --reject lb-add lb3 30.0.0.10:80 "" -ovn-nbctl ls-lb-add foo lb3 +check ovn-nbctl --reject lb-add lb3 30.0.0.10:80 "" +check ovn-nbctl ls-lb-add foo lb3 # Filter reset segments NETNS_START_TCPDUMP([foo1], [-c 1 -neei foo1 ip[[33:1]]=0x14], [rst]) NS_CHECK_EXEC([foo1], [curl 30.0.0.10 -s --retry 3 --max-time 1], [7]) @@ -1656,58 +1656,58 @@ start_daemon ovn-controller # Loadbalancer VIPs in fd03::/64 network. ovn-nbctl create Logical_Router name=R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd01::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd01::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd02::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd02::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Create logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd01::2/64", "f0:00:00:01:02:03", \ "fd01::1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd01::2" # Create logical ports 'bar1', 'bar2', 'bar3' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd02::2/64", "f0:00:0f:01:02:03", \ "fd02::1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:0f:01:02:03 fd02::2" ADD_NAMESPACES(bar2) ADD_VETH(bar2, bar2, br-int, "fd02::3/64", "f0:00:0f:01:02:04", \ "fd02::1") -ovn-nbctl lsp-add bar bar2 \ +check ovn-nbctl lsp-add bar bar2 \ -- lsp-set-addresses bar2 "f0:00:0f:01:02:04 fd02::3" ADD_NAMESPACES(bar3) ADD_VETH(bar3, bar3, br-int, "fd02::4/64", "f0:00:0f:01:02:05", \ "fd02::1") -ovn-nbctl lsp-add bar bar3 \ +check ovn-nbctl lsp-add bar bar3 \ -- lsp-set-addresses bar3 "f0:00:0f:01:02:05 fd02::4" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:\"fd03::1\"=\"fd02::2,fd02::3,fd02::4\"` -ovn-nbctl set logical_switch foo load_balancer=$uuid +check ovn-nbctl set logical_switch foo load_balancer=$uuid # Create another load-balancer with another VIP. lb2_uuid=`ovn-nbctl create load_balancer vips:\"fd03::3\"=\"fd02::2,fd02::3,fd02::4\"` ovn-nbctl add logical_switch foo load_balancer $lb2_uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $lb2_uuid vips:'"[[fd03::2]]:8000"'='"@<:@fd02::2@:>@:80,@<:@fd02::3@:>@:80,@<:@fd02::4@:>@:80"' +check ovn-nbctl set load_balancer $lb2_uuid vips:'"[[fd03::2]]:8000"'='"@<:@fd02::2@:>@:80,@<:@fd02::3@:>@:80,@<:@fd02::4@:>@:80"' # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=\[[fd02::4\]]:80)']) @@ -1755,7 +1755,7 @@ tcp,orig=(src=fd01::2,dst=fd03::2,sport=,dport=),reply=(src=fd ]) # Configure selection_fields. -ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" +check ovn-nbctl set load_balancer $lb2_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" OVS_WAIT_UNTIL([ test $(ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(ip_src,ip_dst,tcp_src,tcp_dst)" -c) -eq 2 @@ -1789,7 +1789,7 @@ done # there should be only one conntrack entry. AT_CHECK([test $(ovs-appctl dpctl/dump-conntrack | grep fd03::2 -c) -eq 1]) -ovn-nbctl set load_balancer $lb2_uuid selection_fields="eth_src,ip_src" +check ovn-nbctl set load_balancer $lb2_uuid selection_fields="eth_src,ip_src" OVS_WAIT_UNTIL([ test $(ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(eth_src,ip_src)" -c) -eq 2 @@ -1877,11 +1877,11 @@ start_daemon ovn-controller # foo4 as servers. ovn-nbctl create Logical_Router name=R1 -ovn-nbctl ls-add foo +check ovn-nbctl ls-add foo # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Create logical port 'foo1', 'foo2', 'foo3' and 'foo4' in switch 'foo'. @@ -1896,13 +1896,13 @@ done # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:30.0.0.1="192.168.1.3,192.168.1.4,192.168.1.5"` -ovn-nbctl set logical_switch foo load_balancer=$uuid +check ovn-nbctl set logical_switch foo load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.3:80,192.168.1.4:80,192.168.1.5:80"' +check ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.3:80,192.168.1.4:80,192.168.1.5:80"' # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=192.168.1.5:80)']) @@ -1985,11 +1985,11 @@ start_daemon ovn-controller # foo4 as servers. ovn-nbctl create Logical_Router name=R1 -ovn-nbctl ls-add foo +check ovn-nbctl ls-add foo # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd01::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd01::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Create logical port 'foo1', 'foo2', 'foo3' and 'foo4' in switch 'foo'. @@ -2004,15 +2004,15 @@ done # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:\"fd03::1\"=\"fd01::3,fd01::4,fd01::5\"` -ovn-nbctl set logical_switch foo load_balancer=$uuid +check ovn-nbctl set logical_switch foo load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"[[fd03::2]]:8000"'='"@<:@fd01::3@:>@:80,@<:@fd01::4@:>@:80,@<:@fd01::5@:>@:80"' +check ovn-nbctl set load_balancer $uuid vips:'"[[fd03::2]]:8000"'='"@<:@fd01::3@:>@:80,@<:@fd01::4@:>@:80,@<:@fd01::5@:>@:80"' ovn-nbctl list load_balancer # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=\[[fd01::5\]]:80)']) @@ -2099,74 +2099,74 @@ start_daemon ovn-controller ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:30.0.0.1="192.168.1.2,192.168.2.2"` -ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:80,192.168.2.2:80"' +check ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:80,192.168.2.2:80"' # Add SNAT rule to make sure that Load-balancing still works with a SNAT rule. ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.2.2 \ external_ip=30.0.0.2 -- add logical_router R2 nat @nat # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers snat=$(ovn-debug lflow-stage-to-oftable lr_out_snat) @@ -2219,17 +2219,17 @@ sed -n 's/.*n_packets=\([[0-9]]\{1,\}\).*/\1/p') OVS_WAIT_UNTIL([check_est_flows], [check established flows]) -ovn-nbctl set logical_router R2 options:lb_force_snat_ip="20.0.0.2" +check ovn-nbctl set logical_router R2 options:lb_force_snat_ip="20.0.0.2" # Destroy the load balancer and create again. ovn-controller will # clear the OF flows and re add again and clears the n_packets # for these flows. -ovn-nbctl destroy load_balancer $uuid +check ovn-nbctl destroy load_balancer $uuid uuid=`ovn-nbctl create load_balancer vips:30.0.0.1="192.168.1.2,192.168.2.2"` -ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:80,192.168.2.2:80"' +check ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:80,192.168.2.2:80"' ovn-nbctl list load_balancer ovn-sbctl dump-flows R2 @@ -2258,17 +2258,17 @@ test "x$ct1 = x$exp_ct1" && test "x$ct2 = x$exp_ct2" OVS_WAIT_UNTIL([check_est_flows], [check established flows]) -ovn-nbctl set logical_router R2 options:lb_force_snat_ip=router_ip +check ovn-nbctl set logical_router R2 options:lb_force_snat_ip=router_ip # Destroy the load balancer and create again. ovn-controller will # clear the OF flows and re add again and clears the n_packets # for these flows. -ovn-nbctl destroy load_balancer $uuid +check ovn-nbctl destroy load_balancer $uuid uuid=`ovn-nbctl create load_balancer vips:30.0.0.1="192.168.1.2,192.168.2.2"` -ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:80,192.168.2.2:80"' +check ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:80,192.168.2.2:80"' ovn-nbctl list load_balancer ovn-sbctl dump-flows R2 @@ -2445,68 +2445,68 @@ start_daemon ovn-controller ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd72::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd72::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 fd72::/64 fd20::2 -ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R1 fd72::/64 fd20::2 +check ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd72::2/64", "f0:00:00:01:02:04", \ "fd72::1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 fd72::2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:05", \ "fd12::1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 fd12::2" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:\"fd30::1\"=\"fd11::2,fd12::2\"` -ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"[[fd30::2]]:8000"'='"@<:@fd11::2@:>@:80,@<:@fd12::2@:>@:80"' +check ovn-nbctl set load_balancer $uuid vips:'"[[fd30::2]]:8000"'='"@<:@fd11::2@:>@:80,@<:@fd12::2@:>@:80"' ovn-nbctl list load_balancer @@ -2516,7 +2516,7 @@ ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=\"fd12::2\" \ # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=\[[fd12::2\]]:80)']) @@ -2606,95 +2606,95 @@ ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 ovn-nbctl create Logical_Router name=R3 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' # Install static routes with source ip address as the policy for routing. # We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3. -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 # Static routes. -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 -ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 # For gateway routers R2 and R3, set a force SNAT rule. -ovn-nbctl set logical_router R2 options:lb_force_snat_ip=20.0.0.2 -ovn-nbctl set logical_router R3 options:lb_force_snat_ip=20.0.0.3 +check ovn-nbctl set logical_router R2 options:lb_force_snat_ip=20.0.0.2 +check ovn-nbctl set logical_router R3 options:lb_force_snat_ip=20.0.0.3 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.3/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" # Logical port 'bob1' in switch 'bob'. ADD_NAMESPACES(bob1) ADD_VETH(bob1, bob1, br-int, "172.16.1.4/24", "f0:00:00:01:02:06", \ "172.16.1.2") -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.1.4" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:30.0.0.1="192.168.1.2,192.168.2.2"` -ovn-nbctl set logical_router R2 load_balancer=$uuid -ovn-nbctl set logical_router R3 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R3 load_balancer=$uuid # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=192.168.2.2)']) @@ -2777,97 +2777,97 @@ ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 ovn-nbctl create Logical_Router name=R3 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd72::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 fd72::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 fd72::2/64 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 fd72::2/64 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 fd20::1/64 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 fd20::2/64 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 fd20::3/64 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 fd20::3/64 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' # Install static routes with source ip address as the policy for routing. # We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3. -ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 -ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 # Static routes. -ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 -ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 # For gateway routers R2 and R3, set a force SNAT rule. -ovn-nbctl set logical_router R2 options:lb_force_snat_ip=fd20::2 -ovn-nbctl set logical_router R3 options:lb_force_snat_ip=fd20::3 +check ovn-nbctl set logical_router R2 options:lb_force_snat_ip=fd20::2 +check ovn-nbctl set logical_router R3 options:lb_force_snat_ip=fd20::3 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd72::3/64", "f0:00:00:01:02:04", \ "fd72::1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 fd72::3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:05", \ "fd12::1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 fd12::2" # Logical port 'bob1' in switch 'bob'. ADD_NAMESPACES(bob1) ADD_VETH(bob1, bob1, br-int, "fd72::4/64", "f0:00:00:01:02:06", \ "fd72::2") -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 fd72::4" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:\"fd30::1\"=\"fd11::2,fd12::2\"` -ovn-nbctl set logical_router R2 load_balancer=$uuid -ovn-nbctl set logical_router R3 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R3 load_balancer=$uuid # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=fd12::2)']) @@ -2951,130 +2951,130 @@ ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 ovn-nbctl create Logical_Router name=R3 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 fd72::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 fd72::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 fd72::2/64 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 fd72::2/64 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 fd20::1/64 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 fd20::1/64 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 fd20::2/64 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 fd20::2/64 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 fd20::3/64 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 fd20::3/64 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' # Install static routes with source ip address as the policy for routing. # We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3. -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 -ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 -ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd11::/64 fd20::2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 fd12::/64 fd20::3 # Static routes. -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 -ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 -ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 -ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 -ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R2 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R2 fd12::/64 fd20::1 +check ovn-nbctl lr-route-add R3 fd11::/64 fd20::1 +check ovn-nbctl lr-route-add R3 fd12::/64 fd20::1 # For gateway routers R2 and R3, set a force SNAT rule. -ovn-nbctl set logical_router R2 options:lb_force_snat_ip="20.0.0.2 fd20::2" -ovn-nbctl set logical_router R3 options:lb_force_snat_ip="20.0.0.3 fd20::3" +check ovn-nbctl set logical_router R2 options:lb_force_snat_ip="20.0.0.2 fd20::2" +check ovn-nbctl set logical_router R3 options:lb_force_snat_ip="20.0.0.3 fd20::3" # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'foo16' in switch 'foo'. ADD_NAMESPACES(foo16) ADD_VETH(foo16, foo16, br-int, "fd11::2/64", "f0:00:06:01:02:03", \ "fd11::1") -ovn-nbctl lsp-add foo foo16 \ +check ovn-nbctl lsp-add foo foo16 \ -- lsp-set-addresses foo16 "f0:00:06:01:02:03 fd11::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.3/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.3" # Logical port 'alice16' in switch 'alice'. ADD_NAMESPACES(alice16) ADD_VETH(alice16, alice16, br-int, "fd72::3/64", "f0:00:06:01:02:04", \ "fd72::1") -ovn-nbctl lsp-add alice alice16 \ +check ovn-nbctl lsp-add alice alice16 \ -- lsp-set-addresses alice16 "f0:00:06:01:02:04 fd72::3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" # Logical port 'bar16' in switch 'bar'. ADD_NAMESPACES(bar16) ADD_VETH(bar16, bar16, br-int, "fd12::2/64", "f0:00:06:01:02:05", \ "fd12::1") -ovn-nbctl lsp-add bar bar16 \ +check ovn-nbctl lsp-add bar bar16 \ -- lsp-set-addresses bar16 "f0:00:06:01:02:05 fd12::2" # Logical port 'bob1' in switch 'bob'. ADD_NAMESPACES(bob1) ADD_VETH(bob1, bob1, br-int, "172.16.1.4/24", "f0:00:00:01:02:06", \ "172.16.1.2") -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.1.4" # Logical port 'bob16' in switch 'bob'. ADD_NAMESPACES(bob16) ADD_VETH(bob16, bob16, br-int, "fd72::4/64", "f0:00:06:01:02:06", \ "fd72::2") -ovn-nbctl lsp-add bob bob16 \ +check ovn-nbctl lsp-add bob bob16 \ -- lsp-set-addresses bob16 "f0:00:06:01:02:06 fd72::4" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:30.0.0.1="192.168.1.2,192.168.2.2" \ vips:\"fd30::1\"=\"fd11::2,fd12::2\"` -ovn-nbctl set logical_router R2 load_balancer=$uuid -ovn-nbctl set logical_router R3 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R3 load_balancer=$uuid # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=192.168.2.2)']) OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ @@ -3160,29 +3160,29 @@ start_daemon ovn-controller # | # alice ---- -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \ -- lrp-set-gateway-chassis alice hv1 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect bar to R1 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar \ -- lsp-set-addresses rp-bar router # Connect alice to R1 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice \ -- lsp-set-addresses rp-alice router @@ -3190,39 +3190,39 @@ ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'foo2' in switch 'foo'. ADD_NAMESPACES(foo2) ADD_VETH(foo2, foo2, br-int, "192.168.1.3/24", "f0:00:00:01:02:06", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo2 \ +check ovn-nbctl lsp-add foo foo2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 192.168.1.3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:04", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 192.168.2.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:05", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 172.16.1.2" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:172.16.1.10="192.168.1.2,192.168.2.2"` -ovn-nbctl set logical_router R1 load_balancer=$uuid +check ovn-nbctl set logical_router R1 load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"172.16.1.11:8000"'='"192.168.1.2:80,192.168.2.2:80"' +check ovn-nbctl set load_balancer $uuid vips:'"172.16.1.11:8000"'='"192.168.1.2:80,192.168.2.2:80"' # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=192.168.2.2:80)']) @@ -3303,29 +3303,29 @@ start_daemon ovn-controller # | # alice ---- -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd01::1/64 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd02::1/64 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 fd72::1/64 \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd01::1/64 +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd02::1/64 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 fd72::1/64 \ -- lrp-set-gateway-chassis alice hv1 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect bar to R1 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar \ -- lsp-set-addresses rp-bar router # Connect alice to R1 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice \ -- lsp-set-addresses rp-alice router @@ -3333,39 +3333,39 @@ ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd01::2/64", "f0:00:00:01:02:03", \ "fd01::1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd01::2" # Logical port 'foo2' in switch 'foo'. ADD_NAMESPACES(foo2) ADD_VETH(foo2, foo2, br-int, "fd01::3/64", "f0:00:00:01:02:06", \ "fd01::1") -ovn-nbctl lsp-add foo foo2 \ +check ovn-nbctl lsp-add foo foo2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 fd01::3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd02::2/64", "f0:00:00:01:02:04", \ "fd02::1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 fd02::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd72::2/64", "f0:00:00:01:02:05", \ "fd72::1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 fd72::2" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer vips:\"fd72::10\"=\"fd01::2,fd02::2\"` -ovn-nbctl set logical_router R1 load_balancer=$uuid +check ovn-nbctl set logical_router R1 load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"[[fd72::11]]:8000"'='"@<:@fd01::2@:>@:80,@<:@fd02::2@:>@:80"' +check ovn-nbctl set load_balancer $uuid vips:'"[[fd72::11]]:8000"'='"@<:@fd01::2@:>@:80,@<:@fd02::2@:>@:80"' # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=\[[fd02::2\]]:80)']) @@ -3446,29 +3446,29 @@ start_daemon ovn-controller # | # bar ---- -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \ -- lrp-set-gateway-chassis alice hv1 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect bar to R1 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar \ -- lsp-set-addresses rp-bar router # Connect alice to R1 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice \ -- lsp-set-addresses rp-alice router @@ -3476,28 +3476,28 @@ ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'foo2' in switch 'foo'. ADD_NAMESPACES(foo2) ADD_VETH(foo2, foo2, br-int, "192.168.1.3/24", "f0:00:00:01:02:06", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo2 \ +check ovn-nbctl lsp-add foo foo2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 192.168.1.3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:04", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 192.168.2.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:05", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 172.16.1.2" # Add external network @@ -3523,7 +3523,7 @@ AT_CHECK([ovn-nbctl lr-nat-add R1 snat 172.16.1.1 0.0.0.0/0]) # Add default route to ext-net AT_CHECK([ovn-nbctl lr-route-add R1 10.0.0.0/24 172.16.1.2]) -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=172.16.1.1)']) # North-South DNAT: 'alice1' pings 'foo1' using 172.16.1.3. @@ -3663,29 +3663,29 @@ start_daemon ovn-controller # | # bar ---- -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 fd20::1/64 \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 fd20::1/64 \ -- lrp-set-gateway-chassis alice hv1 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect bar to R1 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar \ -- lsp-set-addresses rp-bar router # Connect alice to R1 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice \ -- lsp-set-addresses rp-alice router @@ -3693,31 +3693,31 @@ ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'foo2' in switch 'foo'. ADD_NAMESPACES(foo2) ADD_VETH(foo2, foo2, br-int, "fd11::3/64", "f0:00:00:01:02:06", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo2 \ +check ovn-nbctl lsp-add foo foo2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 fd11::3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:04", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 fd12::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd20::2/64", "f0:00:00:01:02:05", \ "fd20::1", "nodad") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 fd20::2" -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Add DNAT rules AT_CHECK([ovn-nbctl lr-nat-add R1 dnat_and_snat fd20::3 fd11::2 foo1 00:00:02:02:03:04]) @@ -3726,7 +3726,7 @@ AT_CHECK([ovn-nbctl lr-nat-add R1 dnat_and_snat fd20::4 fd11::3 foo2 00:00:02:02 # Add a SNAT rule AT_CHECK([ovn-nbctl lr-nat-add R1 snat fd20::1 ::/0]) -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=fd20::1)']) # North-South DNAT: 'alice1' pings 'foo1' using fd20::3 @@ -3860,29 +3860,29 @@ start_daemon ovn-controller # | # bar ---- -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 \ -- lrp-set-gateway-chassis alice hv1 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect bar to R1 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar \ -- lsp-set-addresses rp-bar router # Connect alice to R1 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice \ -- lsp-set-addresses rp-alice router @@ -3890,28 +3890,28 @@ ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'foo2' in switch 'foo'. ADD_NAMESPACES(foo2) ADD_VETH(foo2, foo2, br-int, "192.168.1.3/24", "f0:00:00:01:02:06", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo2 \ +check ovn-nbctl lsp-add foo foo2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 192.168.1.3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:04", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 192.168.2.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:05", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 172.16.1.2" # Add DNAT rules @@ -3921,7 +3921,7 @@ AT_CHECK([ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.4 192.168.2.2 bar1 00:0 # Add a SNAT rule AT_CHECK([ovn-nbctl lr-nat-add R1 snat 172.16.1.1 0.0.0.0/0]) -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=172.16.1.1)']) echo "------ hv dump ------" @@ -4044,29 +4044,29 @@ start_daemon ovn-controller # | # bar ---- -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 fd20::1/64 \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 fd20::1/64 \ -- lrp-set-gateway-chassis alice hv1 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect bar to R1 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar \ -- lsp-set-addresses rp-bar router # Connect alice to R1 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice \ -- lsp-set-addresses rp-alice router @@ -4074,28 +4074,28 @@ ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'foo2' in switch 'foo'. ADD_NAMESPACES(foo2) ADD_VETH(foo2, foo2, br-int, "fd11::3/64", "f0:00:00:01:02:06", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo2 \ +check ovn-nbctl lsp-add foo foo2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 fd11::3" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:04", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 fd12::2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "fd20::2/64", "f0:00:00:01:02:05", \ "fd20::1", "nodad") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 fd20::2" # Add DNAT rules @@ -4105,7 +4105,7 @@ AT_CHECK([ovn-nbctl lr-nat-add R1 dnat_and_snat fd20::4 fd12::2 bar1 00:00:02:02 # Add a SNAT rule AT_CHECK([ovn-nbctl lr-nat-add R1 snat fd20::1 ::/0]) -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl dump-flows br-int | grep 'nat(src=fd20::1)']) echo "------ hv dump ------" @@ -4215,14 +4215,14 @@ check ovn-nbctl acl-add ls1 from-lport 1 1 allow-related # Logical port 'p1' in switch 'ls1'. ADD_NAMESPACES(p1) ADD_VETH(p1, p1, br-int, "192.168.1.10/24", "00:00:00:00:00:10") -ovn-nbctl lsp-add ls1 p1 \ +check ovn-nbctl lsp-add ls1 p1 \ -- lsp-set-addresses p1 "00:00:00:00:00:10 192.168.1.10" # Logical port 'p2' in switch 'ls1'. -ovn-nbctl lsp-add ls1 p2 \ +check ovn-nbctl lsp-add ls1 p2 \ -- lsp-set-addresses p2 "00:00:00:00:00:20 192.168.1.20" -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync zone_id=$(ovn-appctl -t ovn-controller ct-zone-list | grep p1 | cut -d ' ' -f2) @@ -4289,8 +4289,8 @@ start_daemon ovn-controller # - subnet 20.0.0.0/8 # - 2 port (sw2-p1 - sw2-p2) # - IGMP Querier from 20.0.0.254 -ovn-nbctl ls-add sw1 -ovn-nbctl ls-add sw2 +check ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw2 for i in `seq 1 2` do @@ -4316,9 +4316,9 @@ do done # Enable IGMP snooping on sw1. -ovn-nbctl set Logical_Switch sw1 other_config:mcast_querier="false" -ovn-nbctl set Logical_Switch sw1 other_config:mcast_snoop="true" -ovn-nbctl --wait=hv sync +check ovn-nbctl set Logical_Switch sw1 other_config:mcast_querier="false" +check ovn-nbctl set Logical_Switch sw1 other_config:mcast_snoop="true" +check ovn-nbctl --wait=hv sync group_v4="239.0.1.68" # Inject IGMP Join for v4 group on sw1-p1. @@ -4348,7 +4348,7 @@ OVS_WAIT_UNTIL([ # Flush IGMP groups. ovn-sbctl ip-multicast-flush sw1 -ovn-nbctl --wait=hv -t 3 sync +check ovn-nbctl --wait=hv -t 3 sync OVS_WAIT_UNTIL([ total_entries=`ovn-sbctl find IGMP_Group address="${group_v4}" | grep _uuid -c` test "${total_entries}" = "0" @@ -4383,7 +4383,7 @@ OVS_WAIT_UNTIL([ # Enable IGMP & MLD snooping and querier on sw2 and set query interval to # minimum. -ovn-nbctl set Logical_Switch sw2 \ +check ovn-nbctl set Logical_Switch sw2 \ other_config:mcast_snoop="true" \ other_config:mcast_querier="true" \ other_config:mcast_query_interval=1 \ @@ -4444,73 +4444,73 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03" -ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03" +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03" +check ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03" -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" # Create port group and ACLs for sw0 ports. -ovn-nbctl pg-add pg0_drop sw0-p1 sw0-p2 -ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop -ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop +check ovn-nbctl pg-add pg0_drop sw0-p1 sw0-p2 +check ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop +check ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop -ovn-nbctl pg-add pg0 sw0-p1 sw0-p2 -ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip4" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related +check ovn-nbctl pg-add pg0 sw0-p1 sw0-p2 +check ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip4" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related # Create the second logical switch with one port -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" -ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" # Create port group and ACLs for sw1 ports. -ovn-nbctl pg-add pg1_drop sw1-p1 -ovn-nbctl acl-add pg1_drop from-lport 1001 "inport == @pg1_drop && ip" drop -ovn-nbctl acl-add pg1_drop to-lport 1001 "outport == @pg1_drop && ip" drop +check ovn-nbctl pg-add pg1_drop sw1-p1 +check ovn-nbctl acl-add pg1_drop from-lport 1001 "inport == @pg1_drop && ip" drop +check ovn-nbctl acl-add pg1_drop to-lport 1001 "outport == @pg1_drop && ip" drop -ovn-nbctl pg-add pg1 sw1-p1 -ovn-nbctl acl-add pg1 from-lport 1002 "inport == @pg1 && ip4" allow-related -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related +check ovn-nbctl pg-add pg1 sw1-p1 +check ovn-nbctl acl-add pg1 from-lport 1002 "inport == @pg1 && ip4" allow-related +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related # Create a logical router and attach both logical switches -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 router +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 -ovn-nbctl --reject lb-add lb1 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 +check ovn-nbctl --reject lb-add lb1 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 ovn-nbctl --wait=sb -- --id=@hc create \ Load_Balancer_Health_Check vip="10.0.0.10\:80" -- add Load_Balancer . \ health_check @hc -ovn-nbctl --wait=sb ls-lb-add sw0 lb1 -ovn-nbctl --wait=sb ls-lb-add sw1 lb1 -ovn-nbctl --wait=sb lr-lb-add lr0 lb1 +check ovn-nbctl --wait=sb ls-lb-add sw0 lb1 +check ovn-nbctl --wait=sb ls-lb-add sw1 lb1 +check ovn-nbctl --wait=sb lr-lb-add lr0 lb1 OVN_POPULATE_ARP -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ADD_NAMESPACES(sw0-p1) ADD_VETH(sw0-p1, sw0-p1, br-int, "10.0.0.3/24", "50:54:00:00:00:03", \ @@ -4588,23 +4588,23 @@ wait_row_count Service_Monitor 2 wait_row_count Service_Monitor 1 status=online # Create udp load balancer. -ovn-nbctl lb-add lb2 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 udp +check ovn-nbctl lb-add lb2 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 udp lb_udp=`ovn-nbctl lb-list | grep udp | awk '{print $1}'` echo "lb udp uuid = $lb_udp" ovn-nbctl list load_balancer -ovn-nbctl --wait=sb set load_balancer $lb_udp ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 -ovn-nbctl --wait=sb set load_balancer $lb_udp ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 +check ovn-nbctl --wait=sb set load_balancer $lb_udp ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 +check ovn-nbctl --wait=sb set load_balancer $lb_udp ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 ovn-nbctl --wait=sb -- --id=@hc create \ Load_Balancer_Health_Check vip="10.0.0.10\:80" -- add Load_Balancer $lb_udp \ health_check @hc -ovn-nbctl --wait=sb ls-lb-add sw0 lb2 -ovn-nbctl --wait=sb ls-lb-add sw1 lb2 -ovn-nbctl --wait=sb lr-lb-add lr0 lb2 +check ovn-nbctl --wait=sb ls-lb-add sw0 lb2 +check ovn-nbctl --wait=sb ls-lb-add sw1 lb2 +check ovn-nbctl --wait=sb lr-lb-add lr0 lb2 sleep 10 @@ -4736,7 +4736,7 @@ check ovn-nbctl ls-lb-add sw1 lb1 check ovn-nbctl lr-lb-add lr0 lb1 OVN_POPULATE_ARP -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ADD_NAMESPACES(sw0-p1) ADD_VETH(sw0-p1, sw0-p1, br-int, "2001::3/64", "50:54:00:00:00:03", \ @@ -4858,22 +4858,22 @@ start_daemon ovn-controller # Logical network: # One logical switch with IPv4 load balancers that hairpin the traffic. -ovn-nbctl ls-add sw -ovn-nbctl lsp-add sw lsp -- lsp-set-addresses lsp 00:00:00:00:00:01 -ovn-nbctl lb-add lb-ipv4-tcp 88.88.88.88:8080 42.42.42.1:4041 tcp -ovn-nbctl lb-add lb-ipv4-tcp-dup 88.88.88.89:8080 42.42.42.1:4041 tcp -ovn-nbctl lb-add lb-ipv4-udp 88.88.88.88:4040 42.42.42.1:2021 udp -ovn-nbctl lb-add lb-ipv4-udp-dup 88.88.88.89:4040 42.42.42.1:2021 udp -ovn-nbctl lb-add lb-ipv4 88.88.88.90 42.42.42.1 -ovn-nbctl ls-lb-add sw lb-ipv4-tcp -ovn-nbctl ls-lb-add sw lb-ipv4-tcp-dup -ovn-nbctl ls-lb-add sw lb-ipv4-udp -ovn-nbctl ls-lb-add sw lb-ipv4-udp-dup -ovn-nbctl ls-lb-add sw lb-ipv4 - -ovn-nbctl lr-add rtr -ovn-nbctl lrp-add rtr rtr-sw 00:00:00:00:01:00 42.42.42.254/24 -ovn-nbctl lsp-add sw sw-rtr \ +check ovn-nbctl ls-add sw +check ovn-nbctl lsp-add sw lsp -- lsp-set-addresses lsp 00:00:00:00:00:01 +check ovn-nbctl lb-add lb-ipv4-tcp 88.88.88.88:8080 42.42.42.1:4041 tcp +check ovn-nbctl lb-add lb-ipv4-tcp-dup 88.88.88.89:8080 42.42.42.1:4041 tcp +check ovn-nbctl lb-add lb-ipv4-udp 88.88.88.88:4040 42.42.42.1:2021 udp +check ovn-nbctl lb-add lb-ipv4-udp-dup 88.88.88.89:4040 42.42.42.1:2021 udp +check ovn-nbctl lb-add lb-ipv4 88.88.88.90 42.42.42.1 +check ovn-nbctl ls-lb-add sw lb-ipv4-tcp +check ovn-nbctl ls-lb-add sw lb-ipv4-tcp-dup +check ovn-nbctl ls-lb-add sw lb-ipv4-udp +check ovn-nbctl ls-lb-add sw lb-ipv4-udp-dup +check ovn-nbctl ls-lb-add sw lb-ipv4 + +check ovn-nbctl lr-add rtr +check ovn-nbctl lrp-add rtr rtr-sw 00:00:00:00:01:00 42.42.42.254/24 +check ovn-nbctl lsp-add sw sw-rtr \ -- lsp-set-type sw-rtr router \ -- lsp-set-addresses sw-rtr 00:00:00:00:01:00 \ -- lsp-set-options sw-rtr router-port=rtr-sw @@ -4882,7 +4882,7 @@ ADD_NAMESPACES(lsp) ADD_VETH(lsp, lsp, br-int, "42.42.42.1/24", "00:00:00:00:00:01", \ "42.42.42.254") -ovn-nbctl --wait=hv -t 3 sync +check ovn-nbctl --wait=hv -t 3 sync # Start IPv4 TCP server on lsp. NETNS_DAEMONIZE([lsp], [nc -l -k 42.42.42.1 4041], [lsp0.pid]) @@ -4907,11 +4907,11 @@ OVS_WAIT_UNTIL([ test "${total_pkts}" = "3" ]) -ovn-nbctl pg-add pg0 lsp -ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1004 "ip4 && ip4.dst == 10.0.0.2" drop -ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip4 && tcp" allow-related -ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip4 && udp" allow -ovn-nbctl --wait=hv sync +check ovn-nbctl pg-add pg0 lsp +check ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1004 "ip4 && ip4.dst == 10.0.0.2" drop +check ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip4 && tcp" allow-related +check ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip4 && udp" allow +check ovn-nbctl --wait=hv sync ## Check that IPv4 TCP hairpin connection succeeds on both VIPs. NS_CHECK_EXEC([lsp], [nc 88.88.88.88 8080 -z], [0], [ignore], [ignore]) @@ -4957,29 +4957,29 @@ start_daemon ovn-controller # Logical network: # One logical switch with IPv6 load balancers that hairpin the traffic. -ovn-nbctl ls-add sw -ovn-nbctl lsp-add sw lsp -- lsp-set-addresses lsp 00:00:00:00:00:01 -ovn-nbctl lb-add lb-ipv6-tcp [[8800::0088]]:8080 [[4200::1]]:4041 tcp -ovn-nbctl lb-add lb-ipv6-tcp-dup [[8800::0089]]:8080 [[4200::1]]:4041 tcp -ovn-nbctl lb-add lb-ipv6-udp [[8800::0088]]:4040 [[4200::1]]:2021 udp -ovn-nbctl lb-add lb-ipv6-udp-dup [[8800::0089]]:4040 [[4200::1]]:2021 udp -ovn-nbctl lb-add lb-ipv6 8800::0090 4200::1 -ovn-nbctl ls-lb-add sw lb-ipv6-tcp -ovn-nbctl ls-lb-add sw lb-ipv6-tcp-dup -ovn-nbctl ls-lb-add sw lb-ipv6-udp -ovn-nbctl ls-lb-add sw lb-ipv6-udp-dup -ovn-nbctl ls-lb-add sw lb-ipv6 - -ovn-nbctl lr-add rtr -ovn-nbctl lrp-add rtr rtr-sw 00:00:00:00:01:00 4200::00ff/64 -ovn-nbctl lsp-add sw sw-rtr \ +check ovn-nbctl ls-add sw +check ovn-nbctl lsp-add sw lsp -- lsp-set-addresses lsp 00:00:00:00:00:01 +check ovn-nbctl lb-add lb-ipv6-tcp [[8800::0088]]:8080 [[4200::1]]:4041 tcp +check ovn-nbctl lb-add lb-ipv6-tcp-dup [[8800::0089]]:8080 [[4200::1]]:4041 tcp +check ovn-nbctl lb-add lb-ipv6-udp [[8800::0088]]:4040 [[4200::1]]:2021 udp +check ovn-nbctl lb-add lb-ipv6-udp-dup [[8800::0089]]:4040 [[4200::1]]:2021 udp +check ovn-nbctl lb-add lb-ipv6 8800::0090 4200::1 +check ovn-nbctl ls-lb-add sw lb-ipv6-tcp +check ovn-nbctl ls-lb-add sw lb-ipv6-tcp-dup +check ovn-nbctl ls-lb-add sw lb-ipv6-udp +check ovn-nbctl ls-lb-add sw lb-ipv6-udp-dup +check ovn-nbctl ls-lb-add sw lb-ipv6 + +check ovn-nbctl lr-add rtr +check ovn-nbctl lrp-add rtr rtr-sw 00:00:00:00:01:00 4200::00ff/64 +check ovn-nbctl lsp-add sw sw-rtr \ -- lsp-set-type sw-rtr router \ -- lsp-set-addresses sw-rtr 00:00:00:00:01:00 \ -- lsp-set-options sw-rtr router-port=rtr-sw ADD_NAMESPACES(lsp) ADD_VETH(lsp, lsp, br-int, "4200::1/64", "00:00:00:00:00:01", "4200::00ff", "nodad") -ovn-nbctl --wait=hv -t 3 sync +check ovn-nbctl --wait=hv -t 3 sync # Start IPv6 TCP server on lsp. NETNS_DAEMONIZE([lsp], [nc -l -k 4200::1 4041], [lsp0.pid]) @@ -5004,11 +5004,11 @@ OVS_WAIT_UNTIL([ test "${total_pkts}" = "3" ]) -ovn-nbctl pg-add pg0 lsp -ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip6 && tcp" allow-related -ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip6 && udp" allow -ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1000 "ip6" drop -ovn-nbctl --wait=hv sync +check ovn-nbctl pg-add pg0 lsp +check ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip6 && tcp" allow-related +check ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "ip6 && udp" allow +check ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1000 "ip6" drop +check ovn-nbctl --wait=hv sync # Check that IPv6 TCP hairpin connection succeeds on both VIPs. NS_CHECK_EXEC([lsp], [nc 8800::0088 8080 -z], [0], [ignore], [ignore]) @@ -5052,51 +5052,51 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1-rej -ovn-nbctl lsp-set-addresses sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" -ovn-nbctl lsp-set-port-security sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" +check ovn-nbctl lsp-add sw0 sw0-p1-rej +check ovn-nbctl lsp-set-addresses sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" +check ovn-nbctl lsp-set-port-security sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" -ovn-nbctl lsp-add sw0 sw0-p2-rej -ovn-nbctl lsp-set-addresses sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" -ovn-nbctl lsp-set-port-security sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" +check ovn-nbctl lsp-add sw0 sw0-p2-rej +check ovn-nbctl lsp-set-addresses sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" +check ovn-nbctl lsp-set-port-security sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" # Create port group and ACLs for sw0 ports. -ovn-nbctl pg-add pg0_drop sw0-p1-rej sw0-p2-rej -ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop -ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop - -ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej -ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip" allow-related -ovn-nbctl --log acl-add pg0 from-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 80" reject -ovn-nbctl --log acl-add pg0 from-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 90" reject - -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 82" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 82" allow-related -ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 84" reject -ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 94" reject - -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1-rej -ovn-nbctl lsp-set-addresses sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" -ovn-nbctl lsp-set-port-security sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" - -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 - -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 +check ovn-nbctl pg-add pg0_drop sw0-p1-rej sw0-p2-rej +check ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop +check ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop + +check ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej +check ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip" allow-related +check ovn-nbctl --log acl-add pg0 from-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 80" reject +check ovn-nbctl --log acl-add pg0 from-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 90" reject + +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 82" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 82" allow-related +check ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 84" reject +check ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 94" reject + +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1-rej +check ovn-nbctl lsp-set-addresses sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl lsp-set-port-security sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" + +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 + +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 router +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 OVN_POPULATE_ARP -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ADD_NAMESPACES(sw0-p1-rej) ADD_VETH(sw0-p1-rej, sw0-p1-rej, br-int, "10.0.0.3/24", "50:54:00:00:00:03", \ @@ -5149,9 +5149,9 @@ OVS_WAIT_UNTIL([ echo "total = $total" test "${total}" = "2" ]) -ovn-nbctl acl-add sw1 from-lport 1004 "ip" allow-related -ovn-nbctl acl-add sw1 to-lport 1004 "ip" allow-related -ovn-nbctl --log acl-add pg0 to-lport 1004 "outport == @pg0 && ip && tcp && tcp.dst == 84" reject +check ovn-nbctl acl-add sw1 from-lport 1004 "ip" allow-related +check ovn-nbctl acl-add sw1 to-lport 1004 "ip" allow-related +check ovn-nbctl --log acl-add pg0 to-lport 1004 "outport == @pg0 && ip && tcp && tcp.dst == 84" reject OVS_WAIT_UNTIL([ ip netns exec sw1-p1-rej nc -vz 10.0.0.4 84 2>&1 | grep -i 'connection refused' @@ -5210,9 +5210,9 @@ aef0::3 udp port 94" | uniq | wc -l) ]) # Delete all the ACLs of pg0 and add the ACL with a generic match with reject action. -ovn-nbctl pg-del pg0 -ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej -ovn-nbctl --log acl-add pg0 from-lport 1004 "inport == @pg0 && ip && (tcp || udp)" reject +check ovn-nbctl pg-del pg0 +check ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej +check ovn-nbctl --log acl-add pg0 from-lport 1004 "inport == @pg0 && ip && (tcp || udp)" reject OVS_WAIT_UNTIL([ ip netns exec sw0-p1-rej nc -vz 10.0.0.4 80 2>&1 | grep -i 'connection refused' @@ -5286,51 +5286,51 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1-rej -ovn-nbctl lsp-set-addresses sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" -ovn-nbctl lsp-set-port-security sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" +check ovn-nbctl lsp-add sw0 sw0-p1-rej +check ovn-nbctl lsp-set-addresses sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" +check ovn-nbctl lsp-set-port-security sw0-p1-rej "50:54:00:00:00:03 10.0.0.3 aef0::3" -ovn-nbctl lsp-add sw0 sw0-p2-rej -ovn-nbctl lsp-set-addresses sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" -ovn-nbctl lsp-set-port-security sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" +check ovn-nbctl lsp-add sw0 sw0-p2-rej +check ovn-nbctl lsp-set-addresses sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" +check ovn-nbctl lsp-set-port-security sw0-p2-rej "50:54:00:00:00:04 10.0.0.4 aef0::4" # Create port group and ACLs for sw0 ports. -ovn-nbctl pg-add pg0_drop sw0-p1-rej sw0-p2-rej -ovn-nbctl --apply-after-lb acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop -ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop - -ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej -ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "inport == @pg0 && ip" allow-related -ovn-nbctl --log --apply-after-lb acl-add pg0 from-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 80" reject -ovn-nbctl --log --apply-after-lb acl-add pg0 from-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 90" reject - -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 82" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 82" allow-related -ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 84" reject -ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 94" reject - -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1-rej -ovn-nbctl lsp-set-addresses sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" -ovn-nbctl lsp-set-port-security sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" - -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 - -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 +check ovn-nbctl pg-add pg0_drop sw0-p1-rej sw0-p2-rej +check ovn-nbctl --apply-after-lb acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop +check ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop + +check ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej +check ovn-nbctl --apply-after-lb acl-add pg0 from-lport 1002 "inport == @pg0 && ip" allow-related +check ovn-nbctl --log --apply-after-lb acl-add pg0 from-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 80" reject +check ovn-nbctl --log --apply-after-lb acl-add pg0 from-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 90" reject + +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 82" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 82" allow-related +check ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && tcp && tcp.dst == 84" reject +check ovn-nbctl --log acl-add pg0 to-lport 1004 "inport == @pg0 && ip && udp && udp.dst == 94" reject + +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1-rej +check ovn-nbctl lsp-set-addresses sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl lsp-set-port-security sw1-p1-rej "40:54:00:00:00:03 20.0.0.3" + +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 + +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 router +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 OVN_POPULATE_ARP -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ADD_NAMESPACES(sw0-p1-rej) ADD_VETH(sw0-p1-rej, sw0-p1-rej, br-int, "10.0.0.3/24", "50:54:00:00:00:03", \ @@ -5386,9 +5386,9 @@ OVS_WAIT_UNTIL([ kill $(pidof tcpdump) -ovn-nbctl --apply-after-lb acl-add sw1 from-lport 1004 "ip" allow-related -ovn-nbctl acl-add sw1 to-lport 1004 "ip" allow-related -ovn-nbctl --log acl-add pg0 to-lport 1004 "outport == @pg0 && ip && tcp && tcp.dst == 84" reject +check ovn-nbctl --apply-after-lb acl-add sw1 from-lport 1004 "ip" allow-related +check ovn-nbctl acl-add sw1 to-lport 1004 "ip" allow-related +check ovn-nbctl --log acl-add pg0 to-lport 1004 "outport == @pg0 && ip && tcp && tcp.dst == 84" reject OVS_WAIT_UNTIL([ ip netns exec sw1-p1-rej nc -vz 10.0.0.4 84 2>&1 | grep -i 'connection refused' @@ -5446,9 +5446,9 @@ aef0::3 udp port 94" | uniq | wc -l) ]) # Delete all the ACLs of pg0 and add the ACL with a generic match with reject action. -ovn-nbctl pg-del pg0 -ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej -ovn-nbctl --log --apply-after-lb acl-add pg0 from-lport 1004 "inport == @pg0 && ip && (tcp || udp)" reject +check ovn-nbctl pg-del pg0 +check ovn-nbctl pg-add pg0 sw0-p1-rej sw0-p2-rej +check ovn-nbctl --log --apply-after-lb acl-add pg0 from-lport 1004 "inport == @pg0 && ip && (tcp || udp)" reject OVS_WAIT_UNTIL([ ip netns exec sw0-p1-rej nc -vz 10.0.0.4 80 2>&1 | grep -i 'connection refused' @@ -5543,41 +5543,41 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 rst-p1 -ovn-nbctl lsp-set-addresses rst-p1 "50:54:00:00:00:03" -ovn-nbctl lsp-set-port-security rst-p1 "50:54:00:00:00:03" +check ovn-nbctl lsp-add sw0 rst-p1 +check ovn-nbctl lsp-set-addresses rst-p1 "50:54:00:00:00:03" +check ovn-nbctl lsp-set-port-security rst-p1 "50:54:00:00:00:03" -ovn-nbctl lsp-add sw0 rst-p2 -ovn-nbctl lsp-set-addresses rst-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-set-port-security rst-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 rst-p2 +check ovn-nbctl lsp-set-addresses rst-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-set-port-security rst-p2 "50:54:00:00:00:04 10.0.0.4" # Create port group and ACLs for sw0 ports. -ovn-nbctl pg-add pg0_drop rst-p1 rst-p2 -ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop -ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop +check ovn-nbctl pg-add pg0_drop rst-p1 rst-p2 +check ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop +check ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop -ovn-nbctl pg-add pg0 rst-p1 rst-p2 -ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip4" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related +check ovn-nbctl pg-add pg0 rst-p1 rst-p2 +check ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip4" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related # Create a logical router and attach to logical switch. -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 -ovn-nbctl lb-add lb1 10.0.0.10:80 10.0.0.3:80 -ovn-nbctl --wait=sb ls-lb-add sw0 lb1 -ovn-nbctl --wait=sb lr-lb-add lr0 lb1 +check ovn-nbctl lb-add lb1 10.0.0.10:80 10.0.0.3:80 +check ovn-nbctl --wait=sb ls-lb-add sw0 lb1 +check ovn-nbctl --wait=sb lr-lb-add lr0 lb1 OVN_POPULATE_ARP -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ADD_NAMESPACES(rst-p1) ADD_VETH(rst-p1, rst-p1, br-int, "10.0.0.3/24", "50:54:00:00:00:03", \ @@ -5647,44 +5647,44 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1-lbc -ovn-nbctl lsp-set-addresses sw0-port1 "10:54:00:00:00:03 10.0.0.3" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1-lbc +check ovn-nbctl lsp-set-addresses sw0-p1-lbc "10:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add sw0 sw0-p2-lbc -ovn-nbctl lsp-set-addresses sw0-port2 "10:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2-lbc +check ovn-nbctl lsp-set-addresses sw0-p2-lbc "10:54:00:00:00:04 10.0.0.4" -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-port1 sw0-p1-lbc 10 -ovn-nbctl lsp-set-addresses sw1-port1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-port1 sw0-p1-lbc 10 +check ovn-nbctl lsp-set-addresses sw1-port1 "40:54:00:00:00:03 20.0.0.3" -ovn-nbctl lsp-add sw1 sw1-port2 sw0-p2-lbc 20 -ovn-nbctl lsp-set-addresses sw1-port2 "40:54:00:00:00:04 20.0.0.4" +check ovn-nbctl lsp-add sw1 sw1-port2 sw0-p2-lbc 20 +check ovn-nbctl lsp-set-addresses sw1-port2 "40:54:00:00:00:04 20.0.0.4" -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 router +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 -ovn-nbctl ls-add sw2 -ovn-nbctl lsp-add sw2 sw2-port1 -ovn-nbctl lsp-set-addresses sw2-port1 "50:54:00:00:00:03 30.0.0.3" +check ovn-nbctl ls-add sw2 +check ovn-nbctl lsp-add sw2 sw2-port1 +check ovn-nbctl lsp-set-addresses sw2-port1 "50:54:00:00:00:03 30.0.0.3" -ovn-nbctl lrp-add lr0 lr0-sw2 00:00:00:00:ff:03 30.0.0.1/24 -ovn-nbctl lsp-add sw2 sw2-lr0 -ovn-nbctl lsp-set-type sw2-lr0 router -ovn-nbctl lsp-set-addresses sw2-lr0 router -ovn-nbctl lsp-set-options sw2-lr0 router-port=lr0-sw2 +check ovn-nbctl lrp-add lr0 lr0-sw2 00:00:00:00:ff:03 30.0.0.1/24 +check ovn-nbctl lsp-add sw2 sw2-lr0 +check ovn-nbctl lsp-set-type sw2-lr0 router +check ovn-nbctl lsp-set-addresses sw2-lr0 router +check ovn-nbctl lsp-set-options sw2-lr0 router-port=lr0-sw2 -ovn-nbctl lb-add lb0 "30.0.0.10:80" "20.0.0.4:80" +check ovn-nbctl lb-add lb0 "30.0.0.10:80" "20.0.0.4:80" -ovn-nbctl ls-lb-add sw1 lb0 -ovn-nbctl ls-lb-add sw2 lb0 +check ovn-nbctl ls-lb-add sw1 lb0 +check ovn-nbctl ls-lb-add sw2 lb0 ADD_NAMESPACES(sw0-p1-lbc) ADD_VETH(sw0-p1-lbc, sw0-p1-lbc, br-int, "10.0.0.3/24", "10:54:00:00:00:03", \ @@ -5720,7 +5720,7 @@ NS_CHECK_EXEC([sw0-p1-lbc], [nc -z 20.0.0.4 80], [0], [ignore], [ignore]) NS_CHECK_EXEC([sw0-p1-lbc], [nc -z 30.0.0.10 80], [0], [ignore], [ignore]) # Now add an ACL in sw1. -ovn-nbctl --wait=hv acl-add sw1 to-lport 2002 "ip" allow-related +check ovn-nbctl --wait=hv acl-add sw1 to-lport 2002 "ip" allow-related # Send the packet to backend NS_CHECK_EXEC([sw0-p1-lbc], [nc -z 20.0.0.4 80], [0], [ignore], [ignore]) @@ -5987,20 +5987,20 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1-f -ovn-nbctl lsp-set-addresses sw0-p1-f "10:54:00:00:00:03 10.0.0.3" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1-f +check ovn-nbctl lsp-set-addresses sw0-p1-f "10:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add sw0 sw0-p2-f -ovn-nbctl lsp-set-addresses sw0-p2-f "10:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2-f +check ovn-nbctl lsp-set-addresses sw0-p2-f "10:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-add sw0 sw0-p3-f -ovn-nbctl lsp-set-addresses sw0-p3-f "10:54:00:00:00:05 10.0.0.5" +check ovn-nbctl lsp-add sw0 sw0-p3-f +check ovn-nbctl lsp-set-addresses sw0-p3-f "10:54:00:00:00:05 10.0.0.5" # Add ACL with allow-ralated so that conntrack is hit. -ovn-nbctl acl-add sw0 from-lport 1002 "ip" allow-related -ovn-nbctl acl-add sw0 to-lport 1002 "ip" allow-related +check ovn-nbctl acl-add sw0 from-lport 1002 "ip" allow-related +check ovn-nbctl acl-add sw0 to-lport 1002 "ip" allow-related ADD_NAMESPACES(sw0-p1-f) ADD_VETH(sw0-p1-f, sw0-p1-f, br-int, "10.0.0.3/24", "10:54:00:00:00:03", \ @@ -6097,64 +6097,64 @@ ovn-nbctl create Logical_Router name=R1 options:chassis=hv1 ovn-nbctl create Logical_Router name=R2 ovn-nbctl create Logical_Router name=R3 -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add ext +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add ext # connect alice to R1 -ovn-nbctl lrp-add R1 alice 00:00:01:01:02:03 10.0.0.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R1 alice 00:00:01:01:02:03 10.0.0.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses='"00:00:01:01:02:03"' # connect bob to R2 -ovn-nbctl lrp-add R2 R2_bob 00:00:02:01:02:03 172.16.0.2/16 -ovn-nbctl lsp-add bob rp2-bob -- set Logical_Switch_Port rp2-bob \ +check ovn-nbctl lrp-add R2 R2_bob 00:00:02:01:02:03 172.16.0.2/16 +check ovn-nbctl lsp-add bob rp2-bob -- set Logical_Switch_Port rp2-bob \ type=router options:router-port=R2_bob addresses='"00:00:02:01:02:03"' # connect bob to R3 -ovn-nbctl lrp-add R3 R3_bob 00:00:02:01:02:04 172.16.0.3/16 -ovn-nbctl lsp-add bob rp3-bob -- set Logical_Switch_Port rp3-bob \ +check ovn-nbctl lrp-add R3 R3_bob 00:00:02:01:02:04 172.16.0.3/16 +check ovn-nbctl lsp-add bob rp3-bob -- set Logical_Switch_Port rp3-bob \ type=router options:router-port=R3_bob addresses='"00:00:02:01:02:04"' # Connect R1 to ext -ovn-nbctl lrp-add R1 R1_ext 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add ext r1-ext -- set Logical_Switch_Port r1-ext \ +check ovn-nbctl lrp-add R1 R1_ext 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add ext r1-ext -- set Logical_Switch_Port r1-ext \ type=router options:router-port=R1_ext addresses='"00:00:04:01:02:03"' # Connect R2 to ext -ovn-nbctl lrp-add R2 R2_ext 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add ext r2-ext -- set Logical_Switch_Port r2-ext \ +check ovn-nbctl lrp-add R2 R2_ext 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add ext r2-ext -- set Logical_Switch_Port r2-ext \ type=router options:router-port=R2_ext addresses='"00:00:04:01:02:04"' # Connect R3 to ext -ovn-nbctl lrp-add R3 R3_ext 00:00:04:01:02:05 20.0.0.3/24 -ovn-nbctl lsp-add ext r3-ext -- set Logical_Switch_Port r3-ext \ +check ovn-nbctl lrp-add R3 R3_ext 00:00:04:01:02:05 20.0.0.3/24 +check ovn-nbctl lsp-add ext r3-ext -- set Logical_Switch_Port r3-ext \ type=router options:router-port=R3_ext addresses='"00:00:04:01:02:05"' # Install ECMP routes for alice. -ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 10.0.0.0/24 20.0.0.2 -ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 10.0.0.0/24 20.0.0.3 +check ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 10.0.0.0/24 20.0.0.2 +check ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 10.0.0.0/24 20.0.0.3 # Static Routes -ovn-nbctl lr-route-add R2 10.0.0.0/24 20.0.0.1 -ovn-nbctl lr-route-add R3 10.0.0.0/24 20.0.0.1 +check ovn-nbctl lr-route-add R2 10.0.0.0/24 20.0.0.1 +check ovn-nbctl lr-route-add R3 10.0.0.0/24 20.0.0.1 # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "10.0.0.2/24", "f0:00:00:01:02:04", \ "10.0.0.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 10.0.0.2" # Logical port 'bob1' in switch 'bob'. ADD_NAMESPACES(bob1) ADD_VETH(bob1, bob1, br-int, "172.16.0.1/16", "f0:00:00:01:02:06", \ "172.16.0.2") -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.0.1" # Ensure ovn-controller is caught up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync on_exit 'ovs-ofctl dump-flows br-int' @@ -6188,12 +6188,12 @@ AT_CHECK([ovs-appctl dpctl/dump-flows | grep 'ct_state(-new+est+trk).*ct_label(0 # Flush conntrack entries for easier output parsing of next test. AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # Change bob1 L2 address anche check the reply is properly updated. -ovn-nbctl set Logical_Router_Port R2_ext mac='"00:00:10:01:02:04"' -ovn-nbctl set Logical_Switch_Port r2-ext \ +check ovn-nbctl set Logical_Router_Port R2_ext mac='"00:00:10:01:02:04"' +check ovn-nbctl set Logical_Switch_Port r2-ext \ type=router options:router-port=R2_ext addresses='"00:00:10:01:02:04"' # Wait for ovn-controller before sending traffic -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync NS_CHECK_EXEC([bob1], [nc -z 10.0.0.2 80], [0]) NS_CHECK_EXEC([bob1], [ping -q -c 3 -i 0.3 -w 2 10.0.0.2 | FORMAT_PING], \ @@ -6313,47 +6313,47 @@ ovn-nbctl create Logical_Router name=R1 options:chassis=hv1 ovn-nbctl create Logical_Router name=R2 ovn-nbctl create Logical_Router name=R3 -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add ext +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add ext # connect alice to R1 -ovn-nbctl lrp-add R1 alice 00:00:01:01:02:03 fd01::1/64 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R1 alice 00:00:01:01:02:03 fd01::1/64 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses='"00:00:01:01:02:03"' # connect bob to R2 -ovn-nbctl lrp-add R2 R2_bob 00:00:02:01:02:03 fd07::2/64 -ovn-nbctl lsp-add bob rp2-bob -- set Logical_Switch_Port rp2-bob \ +check ovn-nbctl lrp-add R2 R2_bob 00:00:02:01:02:03 fd07::2/64 +check ovn-nbctl lsp-add bob rp2-bob -- set Logical_Switch_Port rp2-bob \ type=router options:router-port=R2_bob addresses='"00:00:02:01:02:03"' # connect bob to R3 -ovn-nbctl lrp-add R3 R3_bob 00:00:02:01:02:04 fd07::3/64 -ovn-nbctl lsp-add bob rp3-bob -- set Logical_Switch_Port rp3-bob \ +check ovn-nbctl lrp-add R3 R3_bob 00:00:02:01:02:04 fd07::3/64 +check ovn-nbctl lsp-add bob rp3-bob -- set Logical_Switch_Port rp3-bob \ type=router options:router-port=R3_bob addresses='"00:00:02:01:02:04"' # Connect R1 to ext -ovn-nbctl lrp-add R1 R1_ext 00:00:04:01:02:03 fd02::1/64 -ovn-nbctl lsp-add ext r1-ext -- set Logical_Switch_Port r1-ext \ +check ovn-nbctl lrp-add R1 R1_ext 00:00:04:01:02:03 fd02::1/64 +check ovn-nbctl lsp-add ext r1-ext -- set Logical_Switch_Port r1-ext \ type=router options:router-port=R1_ext addresses='"00:00:04:01:02:03"' # Connect R2 to ext -ovn-nbctl lrp-add R2 R2_ext 00:00:04:01:02:04 fd02::2/64 -ovn-nbctl lsp-add ext r2-ext -- set Logical_Switch_Port r2-ext \ +check ovn-nbctl lrp-add R2 R2_ext 00:00:04:01:02:04 fd02::2/64 +check ovn-nbctl lsp-add ext r2-ext -- set Logical_Switch_Port r2-ext \ type=router options:router-port=R2_ext addresses='"00:00:04:01:02:04"' # Connect R3 to ext -ovn-nbctl lrp-add R3 R3_ext 00:00:04:01:02:05 fd02::3/64 -ovn-nbctl lsp-add ext r3-ext -- set Logical_Switch_Port r3-ext \ +check ovn-nbctl lrp-add R3 R3_ext 00:00:04:01:02:05 fd02::3/64 +check ovn-nbctl lsp-add ext r3-ext -- set Logical_Switch_Port r3-ext \ type=router options:router-port=R3_ext addresses='"00:00:04:01:02:05"' # Install ECMP routes for alice. -ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 fd01::/126 fd02::2 -ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 fd01::/126 fd02::3 +check ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 fd01::/126 fd02::2 +check ovn-nbctl --ecmp-symmetric-reply --policy="src-ip" lr-route-add R1 fd01::/126 fd02::3 # Static Routes -ovn-nbctl lr-route-add R2 fd01::/64 fd02::1 -ovn-nbctl lr-route-add R3 fd01::/64 fd02::1 +check ovn-nbctl lr-route-add R2 fd01::/64 fd02::1 +check ovn-nbctl lr-route-add R3 fd01::/64 fd02::1 # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) @@ -6364,7 +6364,7 @@ net.ipv6.conf.default.router_solicitations = 1 ]) ADD_VETH(alice1, alice1, br-int, "fd01::2/64", "f0:00:00:01:02:04", \ "fd01::1", "nodad") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 fd01::2" # Add neighbour MAC address to avoid sending IPv6 NS messages which could # cause datapath flows to be evicted @@ -6384,11 +6384,11 @@ ADD_VETH(bob1, bob1, br-int, "fd07::1/64", "f0:00:00:01:02:06", \ NS_CHECK_EXEC([bob1], [ip -6 neigh add fd07::2 lladdr 00:00:02:01:02:03 dev bob1], [0]) NS_CHECK_EXEC([bob1], [ip -6 neigh add fd07::3 lladdr 00:00:01:01:02:04 dev bob1], [0]) -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 fd07::1" # Ensure ovn-controller is caught up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync on_exit 'ovs-ofctl dump-flows br-int' @@ -6424,8 +6424,8 @@ tcp,orig=(src=fd07::1,dst=fd01::2,sport=,dport=),reply=(src=fd AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # Change bob1 L2 address anche check the reply is properly updated. -ovn-nbctl set Logical_Router_Port R2_ext mac='"00:00:10:01:02:04"' -ovn-nbctl --wait=hv set Logical_Switch_Port r2-ext \ +check ovn-nbctl set Logical_Router_Port R2_ext mac='"00:00:10:01:02:04"' +check ovn-nbctl --wait=hv set Logical_Switch_Port r2-ext \ type=router options:router-port=R2_ext addresses='"00:00:10:01:02:04"' NS_CHECK_EXEC([bob1], [nc -6 -z fd01::2 80], [0]) @@ -6524,9 +6524,9 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port1 -ovn-nbctl lsp-set-addresses sw0-port1 "10:54:00:00:00:03 10.0.0.3" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port1 +check ovn-nbctl lsp-set-addresses sw0-port1 "10:54:00:00:00:03 10.0.0.3" ovs-vsctl add-port br-int p1 -- \ set Interface p1 external_ids:iface-id=sw0-port1 -- \ @@ -6575,30 +6575,30 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add sw0 -ovn-nbctl ls-add public +check ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add public -ovn-nbctl lrp-add R1 rp-sw0 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lrp-add R1 rp-public 00:00:02:01:02:03 172.16.1.1/24 \ +check ovn-nbctl lrp-add R1 rp-sw0 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lrp-add R1 rp-public 00:00:02:01:02:03 172.16.1.1/24 \ -- lrp-set-gateway-chassis rp-public hv1 -ovn-nbctl lsp-add sw0 sw0-rp -- set Logical_Switch_Port sw0-rp \ +check ovn-nbctl lsp-add sw0 sw0-rp -- set Logical_Switch_Port sw0-rp \ type=router options:router-port=rp-sw0 \ -- lsp-set-addresses sw0-rp router -ovn-nbctl lsp-add public public-rp -- set Logical_Switch_Port public-rp \ +check ovn-nbctl lsp-add public public-rp -- set Logical_Switch_Port public-rp \ type=router options:router-port=rp-public \ -- lsp-set-addresses public-rp router -ovn-nbctl lr-nat-add R1 snat 172.16.1.1 192.168.1.0/24 -ovn-nbctl lr-nat-add R1 snat 172.16.1.20 192.168.1.2 +check ovn-nbctl lr-nat-add R1 snat 172.16.1.1 192.168.1.0/24 +check ovn-nbctl lr-nat-add R1 snat 172.16.1.20 192.168.1.2 ADD_NAMESPACES(sw01-x) ADD_VETH(sw01-x, sw01-x, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add sw0 sw01-x \ +check ovn-nbctl lsp-add sw0 sw01-x \ -- lsp-set-addresses sw01-x "f0:00:00:01:02:03 192.168.1.2" OVS_WAIT_UNTIL([test x$(ovn-nbctl lsp-get-up sw01-x) = xup]) @@ -6608,12 +6608,12 @@ ADD_VETH(ext-foo, ext-foo, br-ext, "172.16.1.100/24", "00:10:10:01:02:13", \ "172.16.1.1") AT_CHECK([ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext]) -ovn-nbctl lsp-add public public1 \ +check ovn-nbctl lsp-add public public1 \ -- lsp-set-addresses public1 unknown \ -- lsp-set-type public1 localnet \ -- lsp-set-options public1 network_name=phynet -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Send ping from sw01-x to ext-foo. NS_CHECK_EXEC([sw01-x], [ping -q -c 3 -i 0.3 -w 2 172.16.1.100 | FORMAT_PING], \ @@ -6668,28 +6668,28 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 ADD_NAMESPACES(sw01) ADD_VETH(sw01, sw01, br-int, "192.168.1.2/24", "f0:00:00:01:02:03") -ovn-nbctl lsp-add sw0 sw01 \ +check ovn-nbctl lsp-add sw0 sw01 \ -- lsp-set-addresses sw01 "f0:00:00:01:02:03 192.168.1.2" ADD_NAMESPACES(sw02) ADD_VETH(sw02, sw02, br-int, "192.168.1.3/24", "f0:00:00:01:02:44") -ovn-nbctl lsp-add sw0 sw02 \ +check ovn-nbctl lsp-add sw0 sw02 \ -- lsp-set-addresses sw02 "f0:00:00:01:02:44 192.168.1.3" -ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw1 ADD_NAMESPACES(sw11) ADD_VETH(sw11, sw11, br-int, "192.168.4.2/24", "f0:00:00:01:04:03") -ovn-nbctl lsp-add sw1 sw11 \ +check ovn-nbctl lsp-add sw1 sw11 \ -- lsp-set-addresses sw11 "f0:00:00:01:04:03 192.168.4.2" ADD_NAMESPACES(sw12) ADD_VETH(sw12, sw12, br-int, "192.168.4.3/24", "f0:00:00:03:04:03") -ovn-nbctl lsp-add sw1 sw12 \ +check ovn-nbctl lsp-add sw1 sw12 \ -- lsp-set-addresses sw11 "f0:00:00:03:04:03 192.168.4.3" ADD_NAMESPACES(public) @@ -6704,12 +6704,12 @@ ADD_VETH(ext, ext, br-ext, "192.168.3.2/24", "f0:00:00:01:02:06") AT_CHECK([ovs-vsctl remove interface ovs-ext external-ids iface-id=ext]) AT_CHECK([ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=public:br-public,ext:br-ext]) -ovn-nbctl lsp-add sw0 public \ +check ovn-nbctl lsp-add sw0 public \ -- lsp-set-addresses public unknown \ -- lsp-set-type public localnet \ -- lsp-set-options public network_name=public -ovn-nbctl lsp-add sw1 ext \ +check ovn-nbctl lsp-add sw1 ext \ -- lsp-set-addresses ext unknown \ -- lsp-set-type ext localnet \ -- lsp-set-options ext network_name=ext @@ -7023,7 +7023,7 @@ OVS_WAIT_UNTIL([ovn-sbctl dump-flows R1 |grep lr_in_ip_routing |grep 'ip4.dst == check ovn-nbctl clear logical_router_static_route $route_uuid bfd wait_column "admin_down" nb:bfd status logical_port=rp-public OVS_WAIT_UNTIL([ip netns exec server bfdd-control status | grep -qi state=Down]) -ovn-nbctl destroy bfd $uuid +check ovn-nbctl destroy bfd $uuid check_row_count bfd 0 # create reroute route policy @@ -7042,7 +7042,7 @@ stopping ]) # remove bfd entry -ovn-nbctl destroy bfd $uuid +check ovn-nbctl destroy bfd $uuid check_row_count bfd 0 NETNS_START_TCPDUMP([server], [-nni s1 udp port 3784 -Q in], [bfd]) sleep 5 @@ -7052,7 +7052,7 @@ AT_CHECK([grep -qi bfd bfd.tcpdump],[1]) uuid_v6=$(ovn-nbctl create bfd logical_port=rp-public dst_ip=\"1000::b\") check ovn-nbctl lr-route-add R1 2000::/64 1000::b route_uuid_v6=$(fetch_column nb:logical_router_static_route _uuid ip_prefix=\"2000::/64\") -ovn-nbctl set logical_router_static_route $route_uuid_v6 bfd=$uuid_v6 +check ovn-nbctl set logical_router_static_route $route_uuid_v6 bfd=$uuid_v6 check ovn-nbctl --wait=hv sync NETNS_DAEMONIZE([server], [bfdd-beacon --nofork --tee --listen=1000::b >beacon.stdout 2>&1], [beacon.pid]) OVS_WAIT_UNTIL([grep -q "Listening for BFD connections" beacon.stdout]) @@ -7061,7 +7061,7 @@ Allowing connections from 1000::a ]) wait_column "up" nb:bfd status logical_port=rp-public -ovn-nbctl destroy bfd $uuid_v6 +check ovn-nbctl destroy bfd $uuid_v6 OVS_APP_EXIT_AND_WAIT([ovn-controller]) @@ -7120,7 +7120,7 @@ check ovn-nbctl acl-add pg1 from-lport 1002 "ip" allow-related check ovn-nbctl acl-add pg1 to-lport 1002 "ip" allow-related OVN_POPULATE_ARP -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ADD_NAMESPACES(sw0-p1) ADD_VETH(sw0-p1, sw0-p1, br-int, "10.0.0.3/24", "50:54:00:00:00:03", \ @@ -7248,36 +7248,36 @@ start_daemon ovn-controller # # In this test, we want to ensure that a ping from VM1 to IP address 172.18.2.10 reaches VM2. -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 vm1 -- lsp-set-addresses vm1 "00:00:00:00:00:05 192.168.100.5" -ovn-nbctl lsp-add ls1 vm2 -- lsp-set-addresses vm2 "00:00:00:00:00:06 192.168.100.6" +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 vm1 -- lsp-set-addresses vm1 "00:00:00:00:00:05 192.168.100.5" +check ovn-nbctl lsp-add ls1 vm2 -- lsp-set-addresses vm2 "00:00:00:00:00:06 192.168.100.6" -ovn-nbctl ls-add ls-pub -ovn-nbctl lsp-add ls-pub ext-router -- lsp-set-addresses ext-router "00:00:00:00:01:02 172.18.1.2" +check ovn-nbctl ls-add ls-pub +check ovn-nbctl lsp-add ls-pub ext-router -- lsp-set-addresses ext-router "00:00:00:00:01:02 172.18.1.2" -ovn-nbctl lr-add lr1 -ovn-nbctl lrp-add lr1 lr1-ls1 00:00:00:00:00:01 192.168.100.1/24 -ovn-nbctl lsp-add ls1 ls1-lr1 \ +check ovn-nbctl lr-add lr1 +check ovn-nbctl lrp-add lr1 lr1-ls1 00:00:00:00:00:01 192.168.100.1/24 +check ovn-nbctl lsp-add ls1 ls1-lr1 \ -- lsp-set-type ls1-lr1 router \ -- lsp-set-addresses ls1-lr1 00:00:00:00:00:01 \ -- lsp-set-options ls1-lr1 router-port=lr1-ls1 -ovn-nbctl lrp-add lr1 lr1-ls-pub 00:00:00:00:01:01 172.18.1.1/24 -ovn-nbctl lrp-set-gateway-chassis lr1-ls-pub hv1 -ovn-nbctl lsp-add ls-pub ls-pub-lr1 \ +check ovn-nbctl lrp-add lr1 lr1-ls-pub 00:00:00:00:01:01 172.18.1.1/24 +check ovn-nbctl lrp-set-gateway-chassis lr1-ls-pub hv1 +check ovn-nbctl lsp-add ls-pub ls-pub-lr1 \ -- lsp-set-type ls-pub-lr1 router \ -- lsp-set-addresses ls-pub-lr1 00:00:00:00:01:01 \ -- lsp-set-options ls-pub-lr1 router-port=lr1-ls-pub -ovn-nbctl lr-nat-add lr1 snat 172.18.1.1 192.168.100.0/24 -ovn-nbctl lr-nat-add lr1 dnat_and_snat 172.18.2.10 192.168.100.6 -ovn-nbctl lr-route-add lr1 0.0.0.0/0 172.18.1.2 +check ovn-nbctl lr-nat-add lr1 snat 172.18.1.1 192.168.100.0/24 +check ovn-nbctl lr-nat-add lr1 dnat_and_snat 172.18.2.10 192.168.100.6 +check ovn-nbctl lr-route-add lr1 0.0.0.0/0 172.18.1.2 #ls1_uuid=$(fetch_column Port_Binding datapath logical_port=vm1) #ovn-sbctl create MAC_Binding ip=172.18.2.10 datapath=$ls1_uuid logical_port=vm2 mac="00:00:00:00:00:06" OVN_POPULATE_ARP -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ADD_NAMESPACES(vm1) ADD_VETH(vm1, vm1, br-int, "192.168.100.5/24", "00:00:00:00:00:05", \ @@ -7304,7 +7304,7 @@ NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2 172.18.2.10 | FORMAT_PING], \ ]) dnat_and_snat_uuid=$(fetch_column nb:NAT _uuid external_ip=172.18.2.10) -ovn-nbctl set NAT $dnat_and_snat_uuid options:stateless=true +check ovn-nbctl set NAT $dnat_and_snat_uuid options:stateless=true # A ping from vm1 should hairpin in lr1 and successfully DNAT to vm2 NS_CHECK_EXEC([vm1], [ping -q -c 3 -i 0.3 -w 2 172.18.2.10 | FORMAT_PING], \ @@ -7723,7 +7723,7 @@ ADD_VETH(sw0-p3, sw0-p3, br-int, "10.0.0.4/24", "50:54:00:00:00:04", \ "10.0.0.1") # Ensure ovn-controller is caught up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync on_exit 'ovn-nbctl acl-list sw0' on_exit 'ovn-sbctl lflow-list' @@ -7865,7 +7865,7 @@ ADD_VETH(sw0-p3, sw0-p3, br-int, "10.0.0.4/24", "50:54:00:00:00:04", \ "10.0.0.1") # Ensure ovn-controller is caught up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync on_exit 'ovn-nbctl acl-list sw0' on_exit 'ovn-sbctl lflow-list' @@ -7993,7 +7993,7 @@ ADD_VETH(sw0-p2, sw0-p2, br-int, "10.0.0.3/24", "50:54:00:00:00:03", \ "10.0.0.1") # Ensure ovn-controller is caught up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync on_exit 'ovn-nbctl acl-list sw0' on_exit 'ovn-sbctl lflow-list' @@ -8020,7 +8020,7 @@ icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=,type=8,code=0),reply=(src=10.0 # This ACL also allows the ping running in background. check ovn-nbctl --label=1235 acl-add sw0 from-lport 1003 'ip4 && inport == "sw0-p1" && ip4.dst == 10.0.0.3' allow-related -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync sleep 3s @@ -8094,7 +8094,7 @@ ADD_VETH(sw0-p2, sw0-p2, br-int, "10.0.0.3/24", "50:54:00:00:00:03", \ "10.0.0.1") # Ensure ovn-controller is caught up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync on_exit 'ovn-nbctl acl-list sw0' on_exit 'ovn-sbctl lflow-list' @@ -8121,7 +8121,7 @@ icmp,orig=(src=10.0.0.2,dst=10.0.0.3,id=,type=8,code=0),reply=(src=10.0 # This ACL also allows the ping running in background. check ovn-nbctl --label=1235 --apply-after-lb acl-add sw0 from-lport 1003 'ip4 && inport == "sw0-p1" && ip4.dst == 10.0.0.3' allow-related -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync sleep 3s @@ -8212,7 +8212,7 @@ check ovn-nbctl lsp-set-addresses sw1-lr0 00:00:00:00:ff:02 check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 # Ensure ovn-controller is caught up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync on_exit 'ovn-nbctl acl-list sw0' on_exit 'ovn-sbctl lflow-list' @@ -8691,7 +8691,7 @@ tcp,orig=(src=192.168.2.2,dst=192.168.1.2,sport=,dport=),reply AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # SNAT and DNAT. using Logical IP -ovn-nbctl --wait=hv lr-nat-add R1 dnat_and_snat 172.16.1.2 192.168.1.2 +check ovn-nbctl --wait=hv lr-nat-add R1 dnat_and_snat 172.16.1.2 192.168.1.2 NS_CHECK_EXEC([sw11], [nc 192.168.1.2 8000 -z], [0], [ignore], [ignore]) test_ping sw11 192.168.1.2 @@ -8757,13 +8757,12 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "00:54:00:00:00:03 10.0.0.3" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "00:54:00:00:00:03 10.0.0.3" -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1.2 sw0-p1 2 -ovn-nbctl lsp-set-addresses sw0-p1.2 "00:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p1.2 sw0-p1 2 +check ovn-nbctl lsp-set-addresses sw0-p1.2 "00:54:00:00:00:04 10.0.0.4" check ovn-nbctl --wait=hv sync ADD_NAMESPACES(sw0-p1) @@ -9735,21 +9734,21 @@ start_daemon ovn-controller # # foo -- R1 -- bar -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 # Connect foo to R1 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect bar to R1 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar \ -- lsp-set-addresses rp-bar router @@ -9757,22 +9756,22 @@ ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:04", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 192.168.2.2" # Config OVN load-balancer with a VIP. -ovn-nbctl lb-add lb1 30.30.30.30:80 "192.168.2.2:80" tcp -ovn-nbctl ls-lb-add foo lb1 +check ovn-nbctl lb-add lb1 30.30.30.30:80 "192.168.2.2:80" tcp +check ovn-nbctl ls-lb-add foo lb1 # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=192.168.2.2:80)']) @@ -9805,7 +9804,7 @@ tcp,orig=(src=192.168.1.2,dst=30.30.30.30,sport=,dport=),reply AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # remove lb -ovn-nbctl ls-lb-del foo lb1 +check ovn-nbctl ls-lb-del foo lb1 # add stateless acl check ovn-nbctl acl-add foo from-lport 1 1 allow-stateless @@ -9822,10 +9821,10 @@ sed -e 's/zone=[[0-9]]*/zone=/'], [0], [dnl AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # add lb back -ovn-nbctl ls-lb-add foo lb1 +check ovn-nbctl ls-lb-add foo lb1 # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=192.168.2.2:80)']) @@ -9883,41 +9882,41 @@ start_daemon ovn-controller # # foo -- R1 -- bar -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 fd11::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 fd12::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "fd11::2/64", "f0:00:00:01:02:03", \ "fd11::1", "nodad") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 fd11::2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "fd12::2/64", "f0:00:00:01:02:05", \ "fd12::1", "nodad") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 fd12::2" # Config OVN load-balancer with a VIP. -ovn-nbctl lb-add lb1 [[fd30::2]]:80 [[fd12::2]]:80 tcp -ovn-nbctl ls-lb-add foo lb1 +check ovn-nbctl lb-add lb1 [[fd30::2]]:80 [[fd12::2]]:80 tcp +check ovn-nbctl ls-lb-add foo lb1 # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=\[[fd12::2\]]:80)']) @@ -9949,7 +9948,7 @@ tcp,orig=(src=fd11::2,dst=fd30::2,sport=,dport=),reply=(src=fd AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # remove lb -ovn-nbctl ls-lb-del foo lb1 +check ovn-nbctl ls-lb-del foo lb1 # add stateless acl check ovn-nbctl acl-add foo from-lport 1 1 allow-stateless @@ -9966,10 +9965,10 @@ sed -e 's/zone=[[0-9]]*/zone=/'], [0], [dnl AT_CHECK([ovs-appctl dpctl/flush-conntrack]) # add lb back -ovn-nbctl ls-lb-add foo lb1 +check ovn-nbctl ls-lb-add foo lb1 # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=\[[fd12::2\]]:80)']) @@ -10134,7 +10133,7 @@ ovs-vsctl \ # Start ovn-controller start_daemon ovn-controller -ovn-nbctl ls-add sw +check ovn-nbctl ls-add sw # Logical port 'vm1' in switch 'sw'. ADD_NAMESPACES(vm1) @@ -10338,7 +10337,7 @@ check ovn-nbctl ls-lb-add foo lb2 check ovn-nbctl set load_balancer $lb2_uuid vips:'"30.0.0.2:8000"'='"172.16.1.2:80,172.16.1.3:80,172.16.1.4:80"' # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=172.16.1.4:80)']) @@ -11434,31 +11433,31 @@ ovs-ofctl add-flow br-mirror action=normal ovn-nbctl create Logical_Router name=R1 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 2001::1/64 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 2001::1/64 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 2002::1/64 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 2002::1/64 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "2001::2/64", "f0:00:00:01:02:03", \ "2001::1", "nodad", "192.168.1.2/24", "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2 2001::2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "2002::2/64", "f0:00:00:01:02:05", \ "2002::1", "nodad", "192.168.2.2/24", "192.168.2.1") -ovn-nbctl --wait=hv lsp-add bar bar1 \ +check ovn-nbctl --wait=hv lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2 2002::2" # Warm up the datapath (needed to make the DPDK datapth happy) @@ -11467,8 +11466,8 @@ NS_CHECK_EXEC([foo1], [ping -q -c 3 -i 0.3 -w 2 192.168.2.2 | FORMAT_PING], \ 3 packets transmitted, 3 received, 0% packet loss, time 0ms ]) -ovn-nbctl mirror-add mirror0 gre 1 to-lport 172.16.0.100 -ovn-nbctl lsp-attach-mirror bar1 mirror0 +check ovn-nbctl mirror-add mirror0 gre 1 to-lport 172.16.0.100 +check ovn-nbctl lsp-attach-mirror bar1 mirror0 OVN_POPULATE_ARP check ovn-nbctl --wait=hv sync @@ -11491,10 +11490,10 @@ OVS_WAIT_UNTIL([ test "${n_packets}" = "3" ]) -ovn-nbctl mirror-del mirror0 -ovn-nbctl mirror-add mirror1 gre 2 to-lport 2003::b +check ovn-nbctl mirror-del mirror0 +check ovn-nbctl mirror-add mirror1 gre 2 to-lport 2003::b -ovn-nbctl --wait=hv lsp-attach-mirror bar1 mirror1 +check ovn-nbctl --wait=hv lsp-attach-mirror bar1 mirror1 NETNS_START_TCPDUMP([mirror], [-c 3 -neei mirror proto GRE], [gre_mirror6]) @@ -11508,9 +11507,9 @@ OVS_WAIT_UNTIL([ test "${n_packets}" = "3" ]) -ovn-nbctl mirror-del mirror1 -ovn-nbctl mirror-add mirror2 erspan 3 to-lport 172.16.0.100 -ovn-nbctl --wait=hv lsp-attach-mirror bar1 mirror2 +check ovn-nbctl mirror-del mirror1 +check ovn-nbctl mirror-add mirror2 erspan 3 to-lport 172.16.0.100 +check ovn-nbctl --wait=hv lsp-attach-mirror bar1 mirror2 NETNS_START_TCPDUMP([mirror], [-c 3 -neei mirror ip[[22:2]]=0x88be], [erspan_mirror4]) @@ -11523,9 +11522,9 @@ OVS_WAIT_UNTIL([ test "${n_packets}" = "3" ]) -ovn-nbctl mirror-del mirror2 -ovn-nbctl mirror-add mirror3 erspan 4 to-lport 2003::b -ovn-nbctl --wait=hv lsp-attach-mirror bar1 mirror3 +check ovn-nbctl mirror-del mirror2 +check ovn-nbctl mirror-add mirror3 erspan 4 to-lport 2003::b +check ovn-nbctl --wait=hv lsp-attach-mirror bar1 mirror3 NETNS_START_TCPDUMP([mirror], [-c 3 -neei mirror ip6[[42:2]]=0x88be], [erspan_mirror6]) @@ -11539,7 +11538,7 @@ OVS_WAIT_UNTIL([ ]) uuid=$(fetch_column nb:mirror _uuid name="mirror3") -ovn-nbctl --wait=hv set mirror $uuid type=gre +check ovn-nbctl --wait=hv set mirror $uuid type=gre NETNS_START_TCPDUMP([mirror], [-c 3 -neei mirror proto GRE], [gre2_mirror6]) @@ -11848,7 +11847,7 @@ NS_CHECK_EXEC([vif0], [ping -q -c 3 -i 0.3 -w 2 fe80::200:ff:fe00:1 | FORMAT_PIN check_row_count mac_binding 1 mac=\"00:00:00:00:00:02\" ovn-sbctl --all destroy mac_binding -ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=true +check ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=true NS_CHECK_EXEC([vif0], [ping -q -c 3 -i 0.3 -w 2 fe80::200:ff:fe00:1 | FORMAT_PING], \ [0], [dnl @@ -12027,74 +12026,74 @@ start_daemon ovn-controller ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis=hv1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Static routes. -ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 # Logical port 'foo1' in switch 'foo'. ADD_NAMESPACES(foo1) ADD_VETH(foo1, foo1, br-int, "192.168.1.2/24", "f0:00:00:01:02:03", \ "192.168.1.1") -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Logical port 'alice1' in switch 'alice'. ADD_NAMESPACES(alice1) ADD_VETH(alice1, alice1, br-int, "172.16.1.2/24", "f0:00:00:01:02:04", \ "172.16.1.1") -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" # Logical port 'bar1' in switch 'bar'. ADD_NAMESPACES(bar1) ADD_VETH(bar1, bar1, br-int, "192.168.2.2/24", "f0:00:00:01:02:05", \ "192.168.2.1") -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:05 192.168.2.2" # Config OVN load-balancer with a VIP. uuid=`ovn-nbctl create load_balancer protocol=sctp vips:30.0.0.1="192.168.1.2,192.168.2.2"` -ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:12345,192.168.2.2:12345"' +check ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:12345,192.168.2.2:12345"' # Add SNAT rule to make sure that Load-balancing still works with a SNAT rule. ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=192.168.2.2 \ external_ip=30.0.0.2 -- add logical_router R2 nat @nat # Wait for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow13 dump-groups br-int | \ grep 'nat(dst=192.168.2.2:12345)']) @@ -12143,19 +12142,19 @@ check_est_flows () { OVS_WAIT_UNTIL([check_est_flows 0x2], [check established flows]) -ovn-nbctl set logical_router R2 options:lb_force_snat_ip="20.0.0.2" +check ovn-nbctl set logical_router R2 options:lb_force_snat_ip="20.0.0.2" # Destroy the load balancer and create again. ovn-controller will # clear the OF flows and re add again and clears the n_packets # for these flows. -ovn-nbctl destroy load_balancer $uuid +check ovn-nbctl destroy load_balancer $uuid uuid=`ovn-nbctl create load_balancer protocol=sctp vips:30.0.0.1="192.168.1.2,192.168.2.2"` -ovn-nbctl set logical_router R2 load_balancer=$uuid +check ovn-nbctl set logical_router R2 load_balancer=$uuid check ovs-appctl dpctl/flush-conntrack # Config OVN load-balancer with another VIP (this time with ports). -ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:12345,192.168.2.2:12345"' +check ovn-nbctl set load_balancer $uuid vips:'"30.0.0.2:8000"'='"192.168.1.2:12345,192.168.2.2:12345"' ovn-nbctl list load_balancer ovn-sbctl dump-flows R2 @@ -12533,7 +12532,7 @@ check ovn-nbctl lsp-set-addresses lp0 "50:54:00:00:00:01 10.0.0.10" check ovn-nbctl lsp-set-addresses lp1 "50:54:00:00:00:02 20.0.0.10" OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up lp0` = xup]) -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Stopping updates to sb # By stopping temporarily updates from controller to sb, we are making sb read-only. @@ -12612,7 +12611,7 @@ check ovn-nbctl lsp-add internal internal-lr -- set Logical_Switch_Port internal check ovn-nbctl lsp-add internal server -- lsp-set-addresses server "unknown" -ovn-nbctl lsp-add public ln_port \ +check ovn-nbctl lsp-add public ln_port \ -- lsp-set-addresses ln_port unknown \ -- lsp-set-type ln_port localnet \ -- lsp-set-options ln_port network_name=phynet @@ -12860,7 +12859,7 @@ check ovn-nbctl lsp-add internal vm2 \ check ovn-nbctl lsp-add internal vm3 \ -- lsp-set-addresses vm3 "f0:00:0f:01:02:05 192.168.200.30" -ovn-nbctl lsp-add public ln_port \ +check ovn-nbctl lsp-add public ln_port \ -- lsp-set-addresses ln_port unknown \ -- lsp-set-type ln_port localnet \ -- lsp-set-options ln_port network_name=phynet @@ -12996,7 +12995,7 @@ check ovn-nbctl lsp-add internal vm2 \ check ovn-nbctl lsp-add internal vm3 \ -- lsp-set-addresses vm3 "f0:00:0f:01:02:05 2000::30" -ovn-nbctl lsp-add public ln_port \ +check ovn-nbctl lsp-add public ln_port \ -- lsp-set-addresses ln_port unknown \ -- lsp-set-type ln_port localnet \ -- lsp-set-options ln_port network_name=phynet @@ -13213,7 +13212,7 @@ ovs-vsctl --id=@br get Bridge br-int \ -- --id=@ipfix create IPFIX targets=\"127.0.0.1:4242\" template_interval=1 \ -- --id=@cs create Flow_Sample_Collector_Set id=100 bridge=@br ipfix=@ipfix -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync dnl And wait for it to be up and running. OVS_WAIT_UNTIL([ovs-ofctl dump-ipfix-flow br-int | grep -q '1 ids']) @@ -13382,7 +13381,7 @@ ovs-vsctl --id=@br get Bridge br-int \ -- --id=@ipfix create IPFIX targets=\"127.0.0.1:4242\" template_interval=1 \ -- --id=@cs create Flow_Sample_Collector_Set id=100 bridge=@br ipfix=@ipfix -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync dnl And wait for it to be up and running. OVS_WAIT_UNTIL([ovs-ofctl dump-ipfix-flow br-int | grep -q '1 ids']) @@ -13512,7 +13511,7 @@ ovs-vsctl --id=@br get Bridge br-int \ -- --id=@ipfix create IPFIX targets=\"127.0.0.1:4242\" template_interval=1 \ -- --id=@cs create Flow_Sample_Collector_Set id=100 bridge=@br ipfix=@ipfix -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync dnl And wait for it to be up and running. OVS_WAIT_UNTIL([ovs-ofctl dump-ipfix-flow br-int | grep -q '1 ids']) @@ -13973,7 +13972,7 @@ ensure_controller_run restart_ovsdb_controller_updates $TCP_PORT wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync AT_CHECK([ovn-appctl -t ovn-controller ct-zone-list | sed "s/ [[0-9]]*/ ??/" | sort], [0], [dnl sw0-port1 ?? From patchwork Tue Nov 5 19:23:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007120 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=fuqhvuxV; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdZD5rGGz1xyP for ; Wed, 6 Nov 2024 06:24:35 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 3909040A91; Tue, 5 Nov 2024 19:24:33 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 9UxcJLYUc_0M; Tue, 5 Nov 2024 19:24:24 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org C0E6740AE1 Authentication-Results: smtp2.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=fuqhvuxV Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id C0E6740AE1; Tue, 5 Nov 2024 19:24:23 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 4B839C08BD; Tue, 5 Nov 2024 19:24:23 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 1A178C08A8 for ; Tue, 5 Nov 2024 19:24:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 79E6B608B2 for ; Tue, 5 Nov 2024 19:24:01 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id V2ZfM0czzWJS for ; Tue, 5 Nov 2024 19:23:56 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org 16124608A9 Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 16124608A9 Authentication-Results: smtp3.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=fuqhvuxV Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp3.osuosl.org (Postfix) with ESMTPS id 16124608A9 for ; Tue, 5 Nov 2024 19:23:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DtPmgfuLzriynyAdrHp95An41qRZWLNLiOxkWHQFZZg=; b=fuqhvuxVhkPWmkEt5qOYC/Dxp2925h/mEoN0nG3jOO8ICiMmFKOTHILCfKn1PnYsaG1T0U kAdZRiEVHs/ZggweyOEycZR072vNQKJXs4MK+KgkPlXEEnNSJzgOCW06/sBUuQAEnYI/38 LcobYKran84y3nd+rp8CkoyMrFN5WOU= Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-107-vUHAxYWHPJashvFczIpJLw-1; Tue, 05 Nov 2024 14:23:52 -0500 X-MC-Unique: vUHAxYWHPJashvFczIpJLw-1 Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-3e60dde7edcso4011540b6e.0 for ; Tue, 05 Nov 2024 11:23:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834631; x=1731439431; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DtPmgfuLzriynyAdrHp95An41qRZWLNLiOxkWHQFZZg=; b=pGObUewWzWtcB2VXk32KTe8i6ysniZ9Wc/sG+/LR9ph97OigyeTx9xtgIcn6tzzkF4 4gpVgZ6hOUWhYFRoXDkjhHpGGNKT0j2pWc3gk4w50Fy1tCz+4npd4EvEWFAiWirNEqc2 0qB80yaKDhH7iFlrEfBBMLPtQlnay4knmpEMyyTfin4zmk1L7CtD0WfFrW/AAKsCDpt1 icMafK1FDksQKXk77n57UYh0CuJMVgJP9+nv7UAkP9/23KQNSo8OmIuSEU2ztchZWW2k iqu0A6GCqOveZo1EW8/F3hJBD/upVQwh5h9q1mgJTo46VLrc23sl0Qn3xd7nL/3mWL/I GSYg== X-Gm-Message-State: AOJu0YzzJUB01o5NxgkKUHtvxHjulEyQAc2EcMfyWVGzmWkAGKs00YsR eCQ4UfVo10RsOpbqCHuEqcI6WuH51ZaQ7dOxxuJoVtBu/ztEoTzTmvXkaGur5GnsGgTleKnyiPb Nsrk1M5xtXqxqORWbSLZQISBlqQjYRitBH6YxWJa3TQYUgX+EQ1/2b4yECijjvd35IPmUKp0OZ8 lfn4AFp1T2jheKyOAI6oA/JZmYp6E+urpPPiupi51aahwdQW+Oxw== X-Received: by 2002:a05:6808:2e8a:b0:3e7:5b6b:a5c9 with SMTP id 5614622812f47-3e75b6ba628mr14208788b6e.6.1730834628661; Tue, 05 Nov 2024 11:23:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IFwSKbprS2nc97is2TbSHXTEhysXUgZUUpJtOQz7gz71DcPigy5DUtU1+pGdlSPh4OIvyVdLA== X-Received: by 2002:a05:6808:2e8a:b0:3e7:5b6b:a5c9 with SMTP id 5614622812f47-3e75b6ba628mr14208603b6e.6.1730834625579; Tue, 05 Nov 2024 11:23:45 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3e76362ec62sm1817218b6e.31.2024.11.05.11.23.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:44 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:25 +0100 Message-ID: X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 3/8] test: ovn: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/ovn.at | 3256 +++++++++++++++++++++++++------------------------- 1 file changed, 1628 insertions(+), 1628 deletions(-) diff --git a/tests/ovn.at b/tests/ovn.at index 10cd7a79b..19ef64380 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -2824,7 +2824,7 @@ ovn_start # Create hypervisors hv[12]. # Add vif1[12] to hv1, vif2[12] to hv2 -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 net_add n1 for i in 1 2; do sim_add hv$i @@ -2992,12 +2992,12 @@ ovn_start # Turn on port security on all lports except ls1. # Make ls1 a destination for unknown MACs. # Add some ACLs for Ethertypes 1234, 1235, 1236. -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 ovn-sbctl chassis-add hv0 geneve 127.0.0.1 for i in 1 2 3; do ovn-nbctl lsp-add lsw0 lp$i done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync for i in 1 2 3; do ovn-sbctl lsp-bind lp$i hv0 if test $i = 1; then @@ -3012,13 +3012,13 @@ for i in 1 2 3; do ovn-nbctl lsp-set-port-security lp$i f0:00:00:00:00:0$i fi done -ovn-nbctl acl-add lsw0 from-lport 1000 'eth.type == 0x1234' drop -ovn-nbctl acl-add lsw0 from-lport 1000 'eth.type == 0x1235 && inport == "lp1"' drop -ovn-nbctl acl-add lsw0 to-lport 1000 'eth.type == 0x1236 && outport == "lp3"' drop +check ovn-nbctl acl-add lsw0 from-lport 1000 'eth.type == 0x1234' drop +check ovn-nbctl acl-add lsw0 from-lport 1000 'eth.type == 0x1235 && inport == "lp1"' drop +check ovn-nbctl acl-add lsw0 to-lport 1000 'eth.type == 0x1236 && outport == "lp3"' drop ovn-nbctl create Address_Set name=set1 addresses=\"f0:00:00:00:00:01\",\"f0:00:00:00:00:02\" -ovn-nbctl acl-add lsw0 to-lport 1000 'eth.type == 0x1237 && eth.src == $set1 && outport == "lp3"' drop +check ovn-nbctl acl-add lsw0 to-lport 1000 'eth.type == 0x1237 && eth.src == $set1 && outport == "lp3"' drop -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) on_exit 'kill `cat ovn-trace.pid`' @@ -3299,7 +3299,7 @@ done wait_for_ports_up OVN_WAIT_PATCH_PORT_FLOWS(["ln1" "ln2" "ln3"], ["hv1"] ["hv2"]) -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -3467,7 +3467,7 @@ done wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync OVN_WAIT_PATCH_PORT_FLOWS(["ln-11" "ln-21"], ["hv-1" "hv-2"]) ovn-sbctl dump-flows > sbflows @@ -3614,7 +3614,7 @@ done wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-nbctl show ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -3766,7 +3766,7 @@ for i in 1 2; do done wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-nbctl show ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -3988,10 +3988,10 @@ check ovn-nbctl ls-add ls check ovn-nbctl --wait=sb add Logical-Switch ls other_config vlan-passthru=true ln_port_name=ln-100 -ovn-nbctl lsp-add ls $ln_port_name "" 100 -ovn-nbctl lsp-set-addresses $ln_port_name unknown -ovn-nbctl lsp-set-type $ln_port_name localnet -ovn-nbctl lsp-set-options $ln_port_name network_name=phys-100 +check ovn-nbctl lsp-add ls $ln_port_name "" 100 +check ovn-nbctl lsp-set-addresses $ln_port_name unknown +check ovn-nbctl lsp-set-type $ln_port_name localnet +check ovn-nbctl lsp-set-options $ln_port_name network_name=phys-100 net_add n-100 # two hypervisors, each connected to the same network @@ -4057,10 +4057,10 @@ check ovn-nbctl ls-add ls check ovn-nbctl --wait=sb add Logical-Switch ls other_config vlan-passthru=true ln_port_name=ln-100 -ovn-nbctl lsp-add ls $ln_port_name "" 100 -ovn-nbctl lsp-set-addresses $ln_port_name unknown -ovn-nbctl lsp-set-type $ln_port_name localnet -ovn-nbctl lsp-set-options $ln_port_name network_name=phys-100 ethtype=$ethtype +check ovn-nbctl lsp-add ls $ln_port_name "" 100 +check ovn-nbctl lsp-set-addresses $ln_port_name unknown +check ovn-nbctl lsp-set-type $ln_port_name localnet +check ovn-nbctl lsp-set-options $ln_port_name network_name=phys-100 ethtype=$ethtype net_add n-100 # two hypervisors, each connected to the same network @@ -4143,10 +4143,10 @@ check ovn-nbctl ls-add ls check ovn-nbctl --wait=sb add Logical-Switch ls other_config vlan-passthru=true ln_port_name=ln -ovn-nbctl lsp-add ls $ln_port_name -ovn-nbctl lsp-set-addresses $ln_port_name unknown -ovn-nbctl lsp-set-type $ln_port_name localnet -ovn-nbctl lsp-set-options $ln_port_name network_name=phys +check ovn-nbctl lsp-add ls $ln_port_name +check ovn-nbctl lsp-set-addresses $ln_port_name unknown +check ovn-nbctl lsp-set-type $ln_port_name localnet +check ovn-nbctl lsp-set-options $ln_port_name network_name=phys net_add n # two hypervisors, each connected to the same network @@ -4362,7 +4362,7 @@ ovn_start # located on chassis plugged to different physical networks. # create the single switch with two locanet ports -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 for tag in 10 20; do ln_port_name=ln-$tag ovn-nbctl lsp-add ls1 $ln_port_name "" $tag @@ -4401,7 +4401,7 @@ for tag in 10 20; do done done wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows for tag in 10 20; do @@ -4476,36 +4476,36 @@ AT_SKIP_IF([test $HAVE_SCAPY = no]) ovn_start # Configure the Northbound database -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 -ovn-nbctl lsp-add lsw0 lp1 -ovn-nbctl lsp-set-addresses lp1 'f0:00:00:00:00:01 192.168.1.24' +check ovn-nbctl lsp-add lsw0 lp1 +check ovn-nbctl lsp-set-addresses lp1 'f0:00:00:00:00:01 192.168.1.24' -ovn-nbctl lsp-add lsw0 lp2 -ovn-nbctl lsp-set-addresses lp2 f0:00:00:00:00:02 +check ovn-nbctl lsp-add lsw0 lp2 +check ovn-nbctl lsp-set-addresses lp2 f0:00:00:00:00:02 -ovn-nbctl lsp-add lsw0 lp-vtep -ovn-nbctl lsp-set-type lp-vtep vtep -ovn-nbctl lsp-set-options lp-vtep vtep-physical-switch=br-vtep vtep-logical-switch=lsw0 -ovn-nbctl lsp-set-addresses lp-vtep unknown +check ovn-nbctl lsp-add lsw0 lp-vtep +check ovn-nbctl lsp-set-type lp-vtep vtep +check ovn-nbctl lsp-set-options lp-vtep vtep-physical-switch=br-vtep vtep-logical-switch=lsw0 +check ovn-nbctl lsp-set-addresses lp-vtep unknown # lpr, lr and lrp1 are used for the ARP request handling test only. -ovn-nbctl lsp-add lsw0 lpr -ovn-nbctl lr-add lr -ovn-nbctl lrp-add lr lrp1 f0:00:00:00:00:f1 192.168.1.1/24 -ovn-nbctl set Logical_Switch_Port lpr \ +check ovn-nbctl lsp-add lsw0 lpr +check ovn-nbctl lr-add lr +check ovn-nbctl lrp-add lr lrp1 f0:00:00:00:00:f1 192.168.1.1/24 +check ovn-nbctl set Logical_Switch_Port lpr \ type=router \ options:router-port=lrp1 \ addresses=router -ovn-nbctl lrp-set-gateway-chassis lrp1 hv1 +check ovn-nbctl lrp-set-gateway-chassis lrp1 hv1 -ovn-nbctl lsp-add lsw0 lpr2 -ovn-nbctl lrp-add lr lrp2 f0:00:00:00:00:f2 192.168.1.254/24 -ovn-nbctl set Logical_Switch_Port lpr2 \ +check ovn-nbctl lsp-add lsw0 lpr2 +check ovn-nbctl lrp-add lr lrp2 f0:00:00:00:00:f2 192.168.1.254/24 +check ovn-nbctl set Logical_Switch_Port lpr2 \ type=router \ options:router-port=lrp2 \ addresses=router -ovn-nbctl lrp-set-gateway-chassis lrp2 hv1 +check ovn-nbctl lrp-set-gateway-chassis lrp2 hv1 net_add n1 # Network to connect hv1, hv2, and vtep net_add n2 # Network to connect vtep and hv3 @@ -4810,18 +4810,18 @@ AT_SETUP([3 HVs, 1 VIFs/HV, 1 software GW, 1 LS]) ovn_start # Configure the Northbound database -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 -ovn-nbctl lsp-add lsw0 lp1 -ovn-nbctl lsp-set-addresses lp1 f0:00:00:00:00:01 +check ovn-nbctl lsp-add lsw0 lp1 +check ovn-nbctl lsp-set-addresses lp1 f0:00:00:00:00:01 -ovn-nbctl lsp-add lsw0 lp2 -ovn-nbctl lsp-set-addresses lp2 f0:00:00:00:00:02 +check ovn-nbctl lsp-add lsw0 lp2 +check ovn-nbctl lsp-set-addresses lp2 f0:00:00:00:00:02 -ovn-nbctl lsp-add lsw0 lp-gw -ovn-nbctl lsp-set-type lp-gw l2gateway -ovn-nbctl lsp-set-options lp-gw network_name=physnet1 l2gateway-chassis=hv_gw -ovn-nbctl lsp-set-addresses lp-gw unknown +check ovn-nbctl lsp-add lsw0 lp-gw +check ovn-nbctl lsp-set-type lp-gw l2gateway +check ovn-nbctl lsp-set-options lp-gw network_name=physnet1 l2gateway-chassis=hv_gw +check ovn-nbctl lsp-set-addresses lp-gw unknown net_add n1 # Network to connect hv1, hv2, and gw net_add n2 # Network to connect gw and hv3 @@ -5000,7 +5000,7 @@ for i in 1 2 3; do done done -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 for i in 1 2 3; do for j in 1 2 3; do ovn-nbctl lrp-add lr0 lrp$i$j 00:00:00:00:ff:$i$j 192.168.$i$j.254/24 @@ -5012,7 +5012,7 @@ for i in 1 2 3; do done done -ovn-nbctl set Logical_Switch_Port lrp33-attachment \ +check ovn-nbctl set Logical_Switch_Port lrp33-attachment \ addresses='"00:00:00:00:ff:33 192.168.33.254"' # Physical network: @@ -5421,7 +5421,7 @@ ovn_start # There is a secondary IP 192.168.1.100 that is unknown in NB and learned # through ARP only, and it can move between lp11 and lp12. # -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 for i in 1 2 ; do ovn-nbctl ls-add ls$i ovn-nbctl lrp-add lr0 lrp$i 00:00:00:00:ff:0$i 192.168.$i.1/24 @@ -5585,7 +5585,7 @@ spa6="fe80::abcd:1" # When always_learn_from_arp_request=false, the new mac-binding will not be learned # through GARP request. -ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=false +check ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=false test_arp 11 $sha $spa test_na 11 $sha $spa6 @@ -5594,13 +5594,13 @@ check_row_count MAC_Binding 0 ip="$spa" check_row_count MAC_Binding 0 ip=\"$spa6\" # When always_learn_from_arp_request=true, the new mac-binding will be learned. -ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=true +check ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=true test_arp 11 $sha $spa test_na 11 $sha $spa6 wait_row_count MAC_Binding 1 ip="$spa" mac=\"$sha\" wait_row_count MAC_Binding 1 ip=\"$spa6\" mac=\"$sha\" -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Send an IP packet from lp21 to 192.168.1.100, which should go to lp11. @@ -5614,14 +5614,14 @@ test_ip 21 $smac $dmac $sip $dip 11 # Even when always_learn_from_arp_request=false, the existing mac-binding should be # updated through GARP request. -ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=false +check ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=false sha="f0:00:00:00:00:12" test_arp 12 $sha $spa test_na 11 $sha $spa6 wait_row_count MAC_Binding 1 ip="$spa" mac=\"$sha\" wait_row_count MAC_Binding 1 ip=\"$spa6\" mac=\"$sha\" -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # give to the hv the time to send queued ip packets sleep 1 @@ -5674,7 +5674,7 @@ ovn_start # Turn on l2 port security on vifs vif[123]2 # Turn of l2 and l3 port security on vifs vif[123]3 # Make vif13, vif2[23], vif3[123] destinations for unknown MACs. -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 net_add n1 for i in 1 2 3; do sim_add hv$i @@ -5974,7 +5974,7 @@ for i in 1 2 3; do done # configure lsp13 to send and received IPv4 packets with an address range -ovn-nbctl --wait=hv lsp-set-port-security lp13 "f0:00:00:00:00:13 192.168.0.13 20.0.0.4/24 10.0.0.0/24 4242::/64" +check ovn-nbctl --wait=hv lsp-set-port-security lp13 "f0:00:00:00:00:13 192.168.0.13 20.0.0.4/24 10.0.0.0/24 4242::/64" sip=10.0.0.13 tip=192.168.0.22 @@ -6090,37 +6090,37 @@ ls2_lp1_mac="f0:00:00:01:02:04" ls1_lp1_ip="192.168.1.2" ls2_lp1_ip="172.16.1.2" -ovn-nbctl lr-add R1 -ovn-nbctl lr-add R2 +check ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R2 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 $rp_ls1_mac 192.168.1.1/24 +check ovn-nbctl lrp-add R1 ls1 $rp_ls1_mac 192.168.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ options:router-port=ls1 addresses=\"$rp_ls1_mac\" # Connect ls2 to R2 -ovn-nbctl lrp-add R2 ls2 $rp_ls2_mac 172.16.1.1/24 +check ovn-nbctl lrp-add R2 ls2 $rp_ls2_mac 172.16.1.1/24 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 type=router \ +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 type=router \ options:router-port=ls2 addresses=\"$rp_ls2_mac\" # Connect R1 to R2 -ovn-nbctl lrp-add R1 R1_R2 00:00:00:02:03:04 20.0.0.1/24 peer=R2_R1 -ovn-nbctl lrp-add R2 R2_R1 00:00:00:02:03:05 20.0.0.2/24 peer=R1_R2 +check ovn-nbctl lrp-add R1 R1_R2 00:00:00:02:03:04 20.0.0.1/24 peer=R2_R1 +check ovn-nbctl lrp-add R2 R2_R1 00:00:00:02:03:05 20.0.0.2/24 peer=R1_R2 -ovn-nbctl lr-route-add R1 "0.0.0.0/0" 20.0.0.2 -ovn-nbctl lr-route-add R2 "0.0.0.0/0" 20.0.0.1 +check ovn-nbctl lr-route-add R1 "0.0.0.0/0" 20.0.0.2 +check ovn-nbctl lr-route-add R2 "0.0.0.0/0" 20.0.0.1 # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "$ls1_lp1_mac $ls1_lp1_ip" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "$ls2_lp1_mac $ls2_lp1_ip" # Create two hypervisor and create OVS ports corresponding to logical ports. @@ -6198,7 +6198,7 @@ grep "reg0 == 172.16.1.2" | wc -l], [0], [1 ]) # Disable the ls2-lp1 port. -ovn-nbctl --wait=hv set logical_switch_port ls2-lp1 enabled=false +check ovn-nbctl --wait=hv set logical_switch_port ls2-lp1 enabled=false AT_CHECK([ovn-sbctl dump-flows | grep lr_in_arp_resolve | \ grep "reg0 == 172.16.1.2" | wc -l], [0], [0 @@ -6229,21 +6229,21 @@ ovn_start # One LR - R1 has switch ls1 with two subnets attached to it (191.168.1.0/24 # and 172.16.1.0/24) connected to it. -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:03 192.168.1.1/24 172.16.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ +check ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:03 192.168.1.1/24 172.16.1.1/24 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ options:router-port=ls1 addresses=\"00:00:00:01:02:03\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port ls1-lp2 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp2 \ +check ovn-nbctl lsp-add ls1 ls1-lp2 \ -- lsp-set-addresses ls1-lp2 "f0:00:00:01:02:04 172.16.1.2" # Create one hypervisor and create OVS ports corresponding to logical ports. @@ -6301,7 +6301,7 @@ as hv1 ovs-ofctl dump-flows br-int #Disable router R1 -ovn-nbctl --wait=hv set Logical_Router R1 enabled=false +check ovn-nbctl --wait=hv set Logical_Router R1 enabled=false echo "---------SB dump-----" ovn-sbctl list datapath_binding @@ -6339,27 +6339,27 @@ ovn_start # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it, # and has switch ls2 (172.16.1.0/24) connected to it. -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ +check ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ options:router-port=ls1 addresses=\"00:00:00:01:02:03\" # Connect ls2 to R1 -ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:04 172.16.1.1/24 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 type=router \ +check ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:04 172.16.1.1/24 +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 type=router \ options:router-port=ls2 addresses=\"00:00:00:01:02:04\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "f0:00:00:01:02:04 172.16.1.2" # Create one hypervisor and create OVS ports corresponding to logical ports. @@ -6400,7 +6400,7 @@ packet=$(fmt_pkt "Ether(dst='${dst_mac}', src='${src_mac}')/ \ as hv1 ovs-appctl netdev-dummy/receive vif1 $packet #Disable router R1 -ovn-nbctl --wait=hv set Logical_Router R1 enabled=false +check ovn-nbctl --wait=hv set Logical_Router R1 enabled=false ovn-sbctl dump-flows > sbflows2 AT_CAPTURE_FILE([sbflows2]) @@ -6432,47 +6432,47 @@ ovn_start # connected to it. # R2 has alice (172.16.1.0/24) and bob (172.16.2.0/24) connected to it. -ovn-nbctl lr-add R1 -ovn-nbctl lr-add R2 +check ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R2 -ovn-nbctl ls-add foo -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ +check ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ options:router-port=foo addresses=\"00:00:00:01:02:03\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:00:01:02:04 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:00:01:02:04 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:00:01:02:04\" # Connect bob to R2 -ovn-nbctl lrp-add R2 bob 00:00:00:01:02:05 172.16.2.1/24 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob type=router \ +check ovn-nbctl lrp-add R2 bob 00:00:00:01:02:05 172.16.2.1/24 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob type=router \ options:router-port=bob addresses=\"00:00:00:01:02:05\" # Connect R1 to R2 -ovn-nbctl lrp-add R1 R1_R2 00:00:00:02:03:04 20.0.0.1/24 peer=R2_R1 -ovn-nbctl lrp-add R2 R2_R1 00:00:00:02:03:05 20.0.0.2/24 peer=R1_R2 +check ovn-nbctl lrp-add R1 R1_R2 00:00:00:02:03:04 20.0.0.1/24 peer=R2_R1 +check ovn-nbctl lrp-add R2 R2_R1 00:00:00:02:03:05 20.0.0.2/24 peer=R1_R2 #install static routes -ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 -ovn-nbctl lr-route-add R2 172.16.2.0/24 20.0.0.2 R1_R2 -ovn-nbctl lr-route-add R2 192.168.1.0/24 20.0.0.1 +check ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R2 172.16.2.0/24 20.0.0.2 R1_R2 +check ovn-nbctl lr-route-add R2 192.168.1.0/24 20.0.0.1 # Create logical port foo1 in foo -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port alice1 in alice -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" # Create logical port bob1 in bob -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:05 172.16.2.2" # Create two hypervisor and create OVS ports corresponding to logical ports. @@ -6567,7 +6567,7 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD([ AT_SETUP([send gratuitous arp on localnet]) ovn_start -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 net_add n1 sim_add hv as hv @@ -6635,65 +6635,65 @@ ovn_start # connected to it. R2 has alice (172.16.1.0/24) and R3 has bob (10.32.1.0/24) # connected to it. -ovn-nbctl lr-add R1 -ovn-nbctl lr-add R2 -ovn-nbctl lr-add R3 +check ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R2 +check ovn-nbctl lr-add R3 -ovn-nbctl ls-add foo -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 10.32.1.1/24 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 10.32.1.1/24 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' #install static routes -ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 -ovn-nbctl lr-route-add R1 10.32.1.0/24 20.0.0.3 +check ovn-nbctl lr-route-add R1 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R1 10.32.1.0/24 20.0.0.3 -ovn-nbctl lr-route-add R2 192.168.1.0/24 20.0.0.1 -ovn-nbctl lr-route-add R2 10.32.1.0/24 20.0.0.3 +check ovn-nbctl lr-route-add R2 192.168.1.0/24 20.0.0.1 +check ovn-nbctl lr-route-add R2 10.32.1.0/24 20.0.0.3 -ovn-nbctl lr-route-add R3 192.168.1.0/24 20.0.0.1 -ovn-nbctl lr-route-add R3 172.16.1.0/24 20.0.0.2 +check ovn-nbctl lr-route-add R3 192.168.1.0/24 20.0.0.1 +check ovn-nbctl lr-route-add R3 172.16.1.0/24 20.0.0.2 # Create logical port foo1 in foo -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port alice1 in alice -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" # Create logical port bob1 in bob -ovn-nbctl lsp-add bob bob1 \ +check ovn-nbctl lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:05 10.32.1.2" # Create two hypervisor and create OVS ports corresponding to logical ports. @@ -7341,7 +7341,7 @@ rm -f 2.expected # Set tftp server option (IPv4 address) for ls1 echo "------ Set tftp server (IPv4 address) --------" -ovn-nbctl --wait=hv dhcp-options-set-options $d1 server_id=10.0.0.1 \ +check ovn-nbctl --wait=hv dhcp-options-set-options $d1 server_id=10.0.0.1 \ server_mac=ff:10:00:00:00:01 lease_time=3600 router=10.0.0.1 \ tftp_server=10.10.10.10 AT_CAPTURE_FILE([sbflows3]) @@ -7367,7 +7367,7 @@ rm -f 2.expected # Set tftp server option (Hostname) for ls1 echo "------ Set tftp server (hostname) --------" -ovn-nbctl --wait=hv dhcp-options-set-options $d1 server_id=10.0.0.1 \ +check ovn-nbctl --wait=hv dhcp-options-set-options $d1 server_id=10.0.0.1 \ server_mac=ff:10:00:00:00:01 lease_time=3600 router=10.0.0.1 \ tftp_server=\"test_tftp_server\" AT_CAPTURE_FILE([sbflows4]) @@ -7393,7 +7393,7 @@ rm -f 2.expected # Set domain search list option for ls1 echo "------ Set domain search list --------" -ovn-nbctl --wait=hv dhcp-options-set-options $d1 server_id=10.0.0.1 \ +check ovn-nbctl --wait=hv dhcp-options-set-options $d1 server_id=10.0.0.1 \ server_mac=ff:10:00:00:00:01 lease_time=3600 router=10.0.0.1 \ domain_search_list=\"test1.com,test2.com\" AT_CAPTURE_FILE([sbflows5]) @@ -7430,16 +7430,16 @@ reset_pcap_file hv1-vif2 hv1/vif2 rm -f 1.expected rm -f 2.expected -ovn-nbctl --all destroy dhcp-option +check ovn-nbctl --all destroy dhcp-option ovn-nbctl dhcp-options-create 10.0.0.0/24 d3=$(ovn-nbctl --bare --columns=_uuid find dhcp_options cidr="10.0.0.0/24") -ovn-nbctl dhcp-options-set-options $d3 \ +check ovn-nbctl dhcp-options-set-options $d3 \ server_id=10.0.0.1 server_mac=ff:10:00:00:00:01 \ lease_time=3600 router=10.0.0.1 bootfile_name_alt=\"bootfile_name_alt\" \ bootfile_name=\"bootfile\" -ovn-nbctl --wait=hv lsp-set-dhcpv4-options ls1-lp1 $d3 +check ovn-nbctl --wait=hv lsp-set-dhcpv4-options ls1-lp1 $d3 offer_ip=`ip_to_hex 10 0 0 4` server_ip=`ip_to_hex 10 0 0 1` @@ -7529,40 +7529,40 @@ AT_SETUP([dhcpv6 : 1 HV, 2 LS, 5 LSPs]) AT_SKIP_IF([test $HAVE_SCAPY = no]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "f0:00:00:00:00:01 10.0.0.4 ae70::4" -ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4 ae70::4" +check ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4 ae70::4" -ovn-nbctl lsp-add ls1 ls1-lp2 \ +check ovn-nbctl lsp-add ls1 ls1-lp2 \ -- lsp-set-addresses ls1-lp2 "f0:00:00:00:00:02 ae70::5" -ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 ae70::5" +check ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 ae70::5" -ovn-nbctl lsp-add ls1 ls1-lp3 \ +check ovn-nbctl lsp-add ls1 ls1-lp3 \ -- lsp-set-addresses ls1-lp3 "f0:00:00:00:00:22 ae70::22" -ovn-nbctl lsp-set-port-security ls1-lp3 "f0:00:00:00:00:22 ae70::22" +check ovn-nbctl lsp-set-port-security ls1-lp3 "f0:00:00:00:00:22 ae70::22" d1="$(ovn-nbctl create DHCP_Options cidr="ae70\:\:/64" \ options="\"server_id\"=\"00:00:00:10:00:01\"")" -ovn-nbctl lsp-set-dhcpv6-options ls1-lp1 ${d1} -ovn-nbctl lsp-set-dhcpv6-options ls1-lp2 ${d1} +check ovn-nbctl lsp-set-dhcpv6-options ls1-lp1 ${d1} +check ovn-nbctl lsp-set-dhcpv6-options ls1-lp2 ${d1} d2="$(ovn-nbctl create DHCP_Options cidr="ae70\:\:/64" \ options="\"dhcpv6_stateless\"=\"true\" \"server_id\"=\"00:00:00:10:00:01\"")" -ovn-nbctl lsp-set-dhcpv6-options ls1-lp3 ${d2} +check ovn-nbctl lsp-set-dhcpv6-options ls1-lp3 ${d2} -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "f0:00:00:00:00:03 be70::3" -ovn-nbctl lsp-set-port-security ls2-lp1 "f0:00:00:00:00:03 be70::3" -ovn-nbctl lsp-add ls2 ls2-lp2 \ +check ovn-nbctl lsp-set-port-security ls2-lp1 "f0:00:00:00:00:03 be70::3" +check ovn-nbctl lsp-add ls2 ls2-lp2 \ -- lsp-set-addresses ls2-lp2 "f0:00:00:00:00:04 be70::4" -ovn-nbctl lsp-set-port-security ls2-lp2 "f0:00:00:00:00:04 be70::4" +check ovn-nbctl lsp-set-port-security ls2-lp2 "f0:00:00:00:00:04 be70::4" net_add n1 sim_add hv1 @@ -7807,13 +7807,13 @@ reset_pcap_file hv1-vif5 hv1/vif5 test_dhcpv6 5 $src_mac $src_lla 11 1 "" "" 5 check_packets 5 -ovn-nbctl --all destroy dhcp-option +check ovn-nbctl --all destroy dhcp-option d1="$(ovn-nbctl create DHCP_Options cidr="ae70\:\:/64")" -ovn-nbctl dhcp-options-set-options $d1 \ +check ovn-nbctl dhcp-options-set-options $d1 \ server_id=00:00:00:10:00:01 \ bootfile_name_alt=\"bootfile_name_alt\" \ bootfile_name=\"bootfile_name\" -ovn-nbctl --wait=hv lsp-set-dhcpv6-options ls1-lp2 ${d1} +check ovn-nbctl --wait=hv lsp-set-dhcpv6-options ls1-lp2 ${d1} reset_pcap_file hv1-vif2 hv1/vif2 @@ -7839,12 +7839,12 @@ reset_pcap_file hv1-vif2 hv1/vif2 test_dhcpv6_release 2 $src_mac $src_lla $offer_ip check_packets 2 -ovn-nbctl --all destroy dhcp-option +check ovn-nbctl --all destroy dhcp-option d1="$(ovn-nbctl create DHCP_Options cidr="ae70\:\:/64")" -ovn-nbctl dhcp-options-set-options $d1 \ +check ovn-nbctl dhcp-options-set-options $d1 \ server_id=00:00:00:10:00:01 \ fqdn=\"ovn.org\" -ovn-nbctl --wait=hv lsp-set-dhcpv6-options ls1-lp2 ${d1} +check ovn-nbctl --wait=hv lsp-set-dhcpv6-options ls1-lp2 ${d1} reset_pcap_file hv1-vif2 hv1/vif2 @@ -7906,28 +7906,28 @@ OVN_POPULATE_ARP ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis="hv2" -ovn-nbctl ls-add foo -ovn-nbctl ls-add alice -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect alice to R2 -ovn-nbctl lrp-add R2 R2-alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice alice-R2 -- set Logical_Switch_Port alice-R2 \ +check ovn-nbctl lrp-add R2 R2-alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice alice-R2 -- set Logical_Switch_Port alice-R2 \ type=router options:router-port=R2-alice addresses=\"00:00:02:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' @@ -7941,11 +7941,11 @@ ip_prefix=192.168.1.0/24 nexthop=20.0.0.1 -- add Logical_Router \ R2 static_routes @lrt # Create logical port foo1 in foo -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port alice1 in alice -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 172.16.1.2" wait_for_ports_up @@ -8009,12 +8009,12 @@ OVN_CHECK_PACKETS([hv2/vif1-tx.pcap], [expected]) CHECK_FLOWS_AFTER_RECOMPUTE([hv1], [hv1]) # Delete the router and re-create it. Things should work as before. -ovn-nbctl lr-del R2 +check ovn-nbctl lr-del R2 ovn-nbctl create Logical_Router name=R2 options:chassis="hv2" # Connect alice to R2 -ovn-nbctl lrp-add R2 R2-alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lrp-add R2 R2-alice 00:00:02:01:02:03 172.16.1.1/24 # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 ovn-nbctl -- --id=@lrt create Logical_Router_Static_Route \ ip_prefix=192.168.1.0/24 nexthop=20.0.0.1 -- add Logical_Router \ @@ -8055,27 +8055,27 @@ ovn_start # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it, # and has switch ls2 (172.16.1.0/24) connected to it. -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ +check ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ type=router options:router-port=ls1 addresses=\"00:00:00:01:02:f1\" # Connect ls2 to R1 -ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ +check ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ type=router options:router-port=ls2 addresses=\"00:00:00:01:02:f2\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "00:00:00:01:02:03 192.168.1.2" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "00:00:00:01:02:04 172.16.1.2" # Create one hypervisor and create OVS ports corresponding to logical ports. @@ -8185,37 +8185,37 @@ ovn_start # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it, # and has switch ls2 (172.16.1.0/24) connected to it. -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl ls-add ls3 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls3 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ +check ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ type=router options:router-port=ls1 addresses=\"00:00:00:01:02:f1\" # Connect ls2 to R1 -ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ +check ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ type=router options:router-port=ls2 addresses=\"00:00:00:01:02:f2\" # Connect ls3 to R1 -ovn-nbctl lrp-add R1 ls3 00:00:00:01:02:f3 20.20.1.1/24 -ovn-nbctl lsp-add ls3 rp-ls3 -- set Logical_Switch_Port rp-ls3 \ +check ovn-nbctl lrp-add R1 ls3 00:00:00:01:02:f3 20.20.1.1/24 +check ovn-nbctl lsp-add ls3 rp-ls3 -- set Logical_Switch_Port rp-ls3 \ type=router options:router-port=ls3 addresses=\"00:00:00:01:02:f3\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "00:00:00:01:02:03 192.168.1.2" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "00:00:00:01:02:04 172.16.1.2" # Create logical port ls3-lp1 in ls3 -ovn-nbctl lsp-add ls3 ls3-lp1 \ +check ovn-nbctl lsp-add ls3 ls3-lp1 \ -- lsp-set-addresses ls3-lp1 "00:00:00:01:02:05 20.20.1.2" # Create one hypervisor and create OVS ports corresponding to logical ports. @@ -8358,37 +8358,37 @@ ovn_start # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it, # and has switch ls2 (172.16.1.0/24) connected to it. -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl ls-add ls3 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls3 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 2001::1/64 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ +check ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 2001::1/64 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ type=router options:router-port=ls1 addresses=\"00:00:00:01:02:f1\" # Connect ls2 to R1 -ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 2002::1/64 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ +check ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 2002::1/64 +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ type=router options:router-port=ls2 addresses=\"00:00:00:01:02:f2\" # Connect ls3 to R1 -ovn-nbctl lrp-add R1 ls3 00:00:00:01:02:f3 2003::1/64 -ovn-nbctl lsp-add ls3 rp-ls3 -- set Logical_Switch_Port rp-ls3 \ +check ovn-nbctl lrp-add R1 ls3 00:00:00:01:02:f3 2003::1/64 +check ovn-nbctl lsp-add ls3 rp-ls3 -- set Logical_Switch_Port rp-ls3 \ type=router options:router-port=ls3 addresses=\"00:00:00:01:02:f3\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "00:00:00:01:02:03 2001::2" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "00:00:00:01:02:04 2002::2" # Create logical port ls3-lp1 in ls3 -ovn-nbctl lsp-add ls3 ls3-lp1 \ +check ovn-nbctl lsp-add ls3 ls3-lp1 \ -- lsp-set-addresses ls3-lp1 "00:00:00:01:02:05 2003::2" # Create one hypervisor and create OVS ports corresponding to logical ports. @@ -8526,9 +8526,9 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([port state up and down]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 lp1 -ovn-nbctl lsp-set-addresses lp1 unknown +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 lp1 +check ovn-nbctl lsp-set-addresses lp1 unknown net_add n1 sim_add hv1 @@ -8588,9 +8588,9 @@ test_datapath_in_of_rules() { test_datapath_in_of_rules 0 "before ls+port create" -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 lp1 -ovn-nbctl lsp-set-addresses lp1 unknown +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 lp1 +check ovn-nbctl lsp-set-addresses lp1 unknown as hv1 ovs-vsctl add-port br-int vif1 -- set Interface vif1 external-ids:iface-id=lp1 OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up lp1` = xup]) @@ -8600,9 +8600,9 @@ test_datapath_in_of_rules 1 "after port is bound" as hv1 ovs-vsctl del-port br-int vif1 OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up lp1` = xdown]) -ovn-nbctl lsp-set-addresses lp1 -ovn-nbctl lsp-del lp1 -ovn-nbctl ls-del ls1 +check ovn-nbctl lsp-set-addresses lp1 +check ovn-nbctl lsp-del lp1 +check ovn-nbctl ls-del ls1 # wait for earlier changes to take effect wait_for_ports_up @@ -8629,7 +8629,7 @@ ovn_start # by local ovn-controller, but not by target VIF. # Create hypervisors and logical switch lsw0. -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 net_add n1 sim_add hv1 as hv1 @@ -8638,20 +8638,20 @@ ovn_attach n1 br-phys 192.168.0.2 # Add vif1 to hv1 and lsw0, turn on l2 port security on vif1. ovs-vsctl add-port br-int vif1 -- set Interface vif1 external-ids:iface-id=lp1 options:tx_pcap=hv1/vif1-tx.pcap options:rxq_pcap=hv1/vif1-rx.pcap ofport-request=1 -ovn-nbctl lsp-add lsw0 lp1 -ovn-nbctl lsp-set-addresses lp1 "fa:16:3e:94:05:98 192.168.0.3 fd81:ce49:a948:0:f816:3eff:fe94:598" -ovn-nbctl lsp-set-port-security lp1 "fa:16:3e:94:05:98 192.168.0.3 fd81:ce49:a948:0:f816:3eff:fe94:598" +check ovn-nbctl lsp-add lsw0 lp1 +check ovn-nbctl lsp-set-addresses lp1 "fa:16:3e:94:05:98 192.168.0.3 fd81:ce49:a948:0:f816:3eff:fe94:598" +check ovn-nbctl lsp-set-port-security lp1 "fa:16:3e:94:05:98 192.168.0.3 fd81:ce49:a948:0:f816:3eff:fe94:598" # Add vif2 to hv1 and lsw0, turn on l2 port security on vif2. ovs-vsctl add-port br-int vif2 -- set Interface vif2 external-ids:iface-id=lp2 options:tx_pcap=hv1/vif2-tx.pcap options:rxq_pcap=hv1/vif2-rx.pcap ofport-request=2 -ovn-nbctl lsp-add lsw0 lp2 -ovn-nbctl lsp-set-addresses lp2 "fa:16:3e:a1:f9:ae 192.168.0.4 fd81:ce49:a948:0:f816:3eff:fea1:f9ae" -ovn-nbctl lsp-set-port-security lp2 "fa:16:3e:a1:f9:ae 192.168.0.4 fd81:ce49:a948:0:f816:3eff:fea1:f9ae" +check ovn-nbctl lsp-add lsw0 lp2 +check ovn-nbctl lsp-set-addresses lp2 "fa:16:3e:a1:f9:ae 192.168.0.4 fd81:ce49:a948:0:f816:3eff:fea1:f9ae" +check ovn-nbctl lsp-set-port-security lp2 "fa:16:3e:a1:f9:ae 192.168.0.4 fd81:ce49:a948:0:f816:3eff:fea1:f9ae" # Add ACL rule for ICMPv6 on lsw0 -ovn-nbctl acl-add lsw0 from-lport 1002 'ip6 && icmp6' allow-related -ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp1" && ip6 && icmp6' allow-related -ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp2" && ip6 && icmp6' allow-related +check ovn-nbctl acl-add lsw0 from-lport 1002 'ip6 && icmp6' allow-related +check ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp1" && ip6 && icmp6' allow-related +check ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp2" && ip6 && icmp6' allow-related # Allow some time for ovn-northd and ovn-controller to catch up. wait_for_ports_up @@ -8694,8 +8694,8 @@ ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.1 row=`ovn-nbctl create Address_Set name=set1 addresses=\"1.1.1.1\"` -ovn-nbctl set Address_Set $row name=set1 addresses=\"1.1.1.1,1.1.1.2\" -ovn-nbctl --wait=hv destroy Address_Set $row +check ovn-nbctl set Address_Set $row name=set1 addresses=\"1.1.1.1,1.1.1.2\" +check ovn-nbctl --wait=hv destroy Address_Set $row # A bug previously existed in the address set support code # that caused ovn-controller to crash after an address set @@ -8726,9 +8726,9 @@ check_dynamic_addresses() { check ovn-nbctl --wait=sb sync # Add a port to a switch that does not have a subnet set, then set the # subnet which should result in an address being allocated for the port. -ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="0a:00:00:00:00:00" -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 p0 -- lsp-set-addresses p0 dynamic +check ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="0a:00:00:00:00:00" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 p0 -- lsp-set-addresses p0 dynamic ovn-nbctl --wait=sb add Logical-Switch sw0 other_config subnet=192.168.1.0/24 check_dynamic_addresses p0 "0a:00:00:a8:01:03 192.168.1.2" @@ -8744,8 +8744,8 @@ done # Trying similar tests with a second switch. MAC addresses should be unique # across both switches but IP's only need to be unique within the same switch. -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 p10 -- lsp-set-addresses p10 dynamic +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 p10 -- lsp-set-addresses p10 dynamic ovn-nbctl --wait=sb add Logical-Switch sw1 other_config subnet=192.168.1.0/24 check_row_count nb:Logical_Switch_Port 1 name=p10 dynamic_addresses='"0a:00:00:a8:01:0d 192.168.1.2"' @@ -8760,8 +8760,8 @@ done # Change a port's address to test for multiple ip's for a single address entry # and addresses set by the user. -ovn-nbctl lsp-set-addresses p0 "0a:00:00:a8:01:17 192.168.1.2 192.168.1.12 192.168.1.14" -ovn-nbctl --wait=sb lsp-add sw0 p20 -- lsp-set-addresses p20 dynamic +check ovn-nbctl lsp-set-addresses p0 "0a:00:00:a8:01:17 192.168.1.2 192.168.1.12 192.168.1.14" +check ovn-nbctl --wait=sb lsp-add sw0 p20 -- lsp-set-addresses p20 dynamic check_dynamic_addresses p20 "0a:00:00:a8:01:18 192.168.1.13" # Test for logical router port address management. @@ -8770,120 +8770,120 @@ ovn-nbctl -- --id=@lrp create Logical_Router_port name=sw0 \ network="192.168.1.1/24" mac=\"0a:00:00:a8:01:19\" \ -- add Logical_Router R1 ports @lrp -- lsp-add sw0 rp-sw0 \ -- set Logical_Switch_Port rp-sw0 type=router options:router-port=sw0 -ovn-nbctl --wait=sb lsp-add sw0 p21 -- lsp-set-addresses p21 dynamic +check ovn-nbctl --wait=sb lsp-add sw0 p21 -- lsp-set-addresses p21 dynamic check_dynamic_addresses p21 "0a:00:00:a8:01:1a 192.168.1.15" # Test for address reuse after logical port is deleted. -ovn-nbctl lsp-del p0 -ovn-nbctl --wait=sb lsp-add sw0 p23 -- lsp-set-addresses p23 dynamic +check ovn-nbctl lsp-del p0 +check ovn-nbctl --wait=sb lsp-add sw0 p23 -- lsp-set-addresses p23 dynamic check_dynamic_addresses p23 "0a:00:00:a8:01:03 192.168.1.2" # Test for multiple addresses to one logical port. -ovn-nbctl lsp-add sw0 p25 -- lsp-set-addresses p25 \ +check ovn-nbctl lsp-add sw0 p25 -- lsp-set-addresses p25 \ "0a:00:00:a8:01:1b 192.168.1.12" "0a:00:00:a8:01:1c 192.168.1.14" -ovn-nbctl --wait=sb lsp-add sw0 p26 -- lsp-set-addresses p26 dynamic +check ovn-nbctl --wait=sb lsp-add sw0 p26 -- lsp-set-addresses p26 dynamic check_dynamic_addresses p26 "0a:00:00:a8:01:17 192.168.1.16" # Test for exhausting subnet address space. -ovn-nbctl ls-add sw2 -- add Logical-Switch sw2 other_config subnet=172.16.1.0/30 -ovn-nbctl --wait=sb lsp-add sw2 p27 -- lsp-set-addresses p27 dynamic +check ovn-nbctl ls-add sw2 -- add Logical-Switch sw2 other_config subnet=172.16.1.0/30 +check ovn-nbctl --wait=sb lsp-add sw2 p27 -- lsp-set-addresses p27 dynamic check_dynamic_addresses p27 "0a:00:00:10:01:03 172.16.1.2" -ovn-nbctl --wait=sb lsp-add sw2 p28 -- lsp-set-addresses p28 dynamic +check ovn-nbctl --wait=sb lsp-add sw2 p28 -- lsp-set-addresses p28 dynamic check_dynamic_addresses p28 "0a:00:00:00:00:01" # Test that address management does not add duplicate MAC for lsp/lrp peers. ovn-nbctl create Logical_Router name=R2 -ovn-nbctl ls-add sw3 -ovn-nbctl lsp-add sw3 p29 -- lsp-set-addresses p29 \ +check ovn-nbctl ls-add sw3 +check ovn-nbctl lsp-add sw3 p29 -- lsp-set-addresses p29 \ "0a:00:00:a8:01:18" ovn-nbctl -- --id=@lrp create Logical_Router_port name=sw3 \ network="192.168.2.1/24" mac=\"0a:00:00:a8:01:18\" \ -- add Logical_Router R2 ports @lrp -- lsp-add sw3 rp-sw3 \ -- set Logical_Switch_Port rp-sw3 type=router options:router-port=sw3 -ovn-nbctl --wait=sb lsp-add sw0 p30 -- lsp-set-addresses p30 dynamic +check ovn-nbctl --wait=sb lsp-add sw0 p30 -- lsp-set-addresses p30 dynamic check_dynamic_addresses p30 "0a:00:00:a8:01:1d 192.168.1.17" # Test static MAC address with dynamically allocated IP -ovn-nbctl --wait=sb lsp-add sw0 p31 -- lsp-set-addresses p31 \ +check ovn-nbctl --wait=sb lsp-add sw0 p31 -- lsp-set-addresses p31 \ "fe:dc:ba:98:76:54 dynamic" check_dynamic_addresses p31 "fe:dc:ba:98:76:54 192.168.1.18" # Update the static MAC address with dynamically allocated IP and check # if the MAC address is updated in 'Logical_Switch_Port.dynamic_adddresses' -ovn-nbctl --wait=sb lsp-set-addresses p31 "fe:dc:ba:98:76:55 dynamic" +check ovn-nbctl --wait=sb lsp-set-addresses p31 "fe:dc:ba:98:76:55 dynamic" check_dynamic_addresses p31 "fe:dc:ba:98:76:55 192.168.1.18" -ovn-nbctl --wait=sb lsp-set-addresses p31 "dynamic" +check ovn-nbctl --wait=sb lsp-set-addresses p31 "dynamic" check_dynamic_addresses p31 "0a:00:00:a8:01:1e 192.168.1.18" -ovn-nbctl --wait=sb lsp-set-addresses p31 "fe:dc:ba:98:76:56 dynamic" +check ovn-nbctl --wait=sb lsp-set-addresses p31 "fe:dc:ba:98:76:56 dynamic" check_dynamic_addresses p31 "fe:dc:ba:98:76:56 192.168.1.18" # Test the exclude_ips from the IPAM list -ovn-nbctl --wait=sb set logical_switch sw0 \ +check ovn-nbctl --wait=sb set logical_switch sw0 \ other_config:exclude_ips="192.168.1.19 192.168.1.21 192.168.1.23..192.168.1.50" -ovn-nbctl --wait=sb lsp-add sw0 p32 -- lsp-set-addresses p32 "dynamic" +check ovn-nbctl --wait=sb lsp-add sw0 p32 -- lsp-set-addresses p32 "dynamic" # 192.168.1.20 should be assigned as 192.168.1.19 is excluded. check_dynamic_addresses p32 "0a:00:00:a8:01:1e 192.168.1.20" -ovn-nbctl --wait=sb lsp-add sw0 p33 -- lsp-set-addresses p33 \ +check ovn-nbctl --wait=sb lsp-add sw0 p33 -- lsp-set-addresses p33 \ "dynamic" # 192.168.1.22 should be assigned as 192.168.1.21 is excluded. check_dynamic_addresses p33 "0a:00:00:a8:01:1f 192.168.1.22" -ovn-nbctl --wait=sb lsp-add sw0 p34 -- lsp-set-addresses p34 \ +check ovn-nbctl --wait=sb lsp-add sw0 p34 -- lsp-set-addresses p34 \ "dynamic" # 192.168.1.51 should be assigned as 192.168.1.23-192.168.1.50 is excluded. check_dynamic_addresses p34 "0a:00:00:a8:01:34 192.168.1.51" # Now clear the exclude_ips list. 192.168.1.19 should be assigned. -ovn-nbctl --wait=sb set Logical-switch sw0 other_config:exclude_ips="invalid" -ovn-nbctl --wait=sb lsp-add sw0 p35 -- lsp-set-addresses p35 "dynamic" +check ovn-nbctl --wait=sb set Logical-switch sw0 other_config:exclude_ips="invalid" +check ovn-nbctl --wait=sb lsp-add sw0 p35 -- lsp-set-addresses p35 "dynamic" check_dynamic_addresses p35 "0a:00:00:a8:01:20 192.168.1.19" # Set invalid data in exclude_ips list. It should be ignored. -ovn-nbctl --wait=sb set Logical-switch sw0 other_config:exclude_ips="182.168.1.30" -ovn-nbctl --wait=sb lsp-add sw0 p36 -- lsp-set-addresses p36 \ +check ovn-nbctl --wait=sb set Logical-switch sw0 other_config:exclude_ips="182.168.1.30" +check ovn-nbctl --wait=sb lsp-add sw0 p36 -- lsp-set-addresses p36 \ "dynamic" # 192.168.1.21 should be assigned as that's the next free one. check_dynamic_addresses p36 "0a:00:00:a8:01:21 192.168.1.21" # Clear the dynamic addresses assignment request. -ovn-nbctl --wait=sb clear logical_switch_port p36 addresses +check ovn-nbctl --wait=sb clear logical_switch_port p36 addresses check_dynamic_addresses p36 # Set IPv6 prefix -ovn-nbctl --wait=sb set Logical-switch sw0 other_config:ipv6_prefix="aef0::" -ovn-nbctl --wait=sb lsp-add sw0 p37 -- lsp-set-addresses p37 "dynamic" +check ovn-nbctl --wait=sb set Logical-switch sw0 other_config:ipv6_prefix="aef0::" +check ovn-nbctl --wait=sb lsp-add sw0 p37 -- lsp-set-addresses p37 "dynamic" # With prefix aef0 and mac 0a:00:00:00:00:26, the dynamic IPv6 should be # - aef0::800:ff:fe00:26 (EUI64) check_dynamic_addresses p37 "0a:00:00:a8:01:21 192.168.1.21 aef0::800:ff:fea8:121" -ovn-nbctl --wait=sb ls-add sw4 -ovn-nbctl --wait=sb set Logical-switch sw4 other_config:ipv6_prefix="bef0::" \ +check ovn-nbctl --wait=sb ls-add sw4 +check ovn-nbctl --wait=sb set Logical-switch sw4 other_config:ipv6_prefix="bef0::" \ -- set Logical-switch sw4 other_config:subnet=192.168.2.0/30 -ovn-nbctl --wait=sb lsp-add sw4 p38 -- lsp-set-addresses p38 "dynamic" +check ovn-nbctl --wait=sb lsp-add sw4 p38 -- lsp-set-addresses p38 "dynamic" check_dynamic_addresses p38 "0a:00:00:a8:02:03 192.168.2.2 bef0::800:ff:fea8:203" -ovn-nbctl --wait=sb lsp-add sw4 p39 -- lsp-set-addresses p39 \ +check ovn-nbctl --wait=sb lsp-add sw4 p39 -- lsp-set-addresses p39 \ "f0:00:00:00:10:12 dynamic" check_dynamic_addresses p39 "f0:00:00:00:10:12 bef0::f200:ff:fe00:1012" # Test the case where IPv4 addresses are exhausted and IPv6 prefix is set # p40 should not have an IPv4 address since the pool is exhausted -ovn-nbctl --wait=sb lsp-add sw4 p40 -- lsp-set-addresses p40 \ +check ovn-nbctl --wait=sb lsp-add sw4 p40 -- lsp-set-addresses p40 \ "dynamic" check_dynamic_addresses p40 "0a:00:00:00:00:02 bef0::800:ff:fe00:2" # Test dynamic changes on switch ports. # -ovn-nbctl --wait=sb ls-add sw5 -ovn-nbctl --wait=sb lsp-add sw5 p41 -- lsp-set-addresses p41 \ +check ovn-nbctl --wait=sb ls-add sw5 +check ovn-nbctl --wait=sb lsp-add sw5 p41 -- lsp-set-addresses p41 \ "dynamic" # p41 will start with nothing check_dynamic_addresses p41 '' @@ -8893,23 +8893,23 @@ ovn-nbctl --wait=sb add Logical-Switch sw5 other_config subnet=192.168.1.0/24 check_dynamic_addresses p41 "0a:00:00:a8:01:22 192.168.1.2" # Clear the other_config. The IPv4 address should be gone -ovn-nbctl --wait=sb clear Logical-Switch sw5 other_config +check ovn-nbctl --wait=sb clear Logical-Switch sw5 other_config check_dynamic_addresses p41 '' # Set an IPv6 prefix. Now p41 should have an IPv6 address. -ovn-nbctl --wait=sb set Logical-Switch sw5 other_config:ipv6_prefix="aef0::" +check ovn-nbctl --wait=sb set Logical-Switch sw5 other_config:ipv6_prefix="aef0::" check_dynamic_addresses p41 "0a:00:00:00:00:03 aef0::800:ff:fe00:3" # Change the MAC address to a static one. The IPv6 address should update. -ovn-nbctl --wait=sb lsp-set-addresses p41 "f0:00:00:00:10:2b dynamic" +check ovn-nbctl --wait=sb lsp-set-addresses p41 "f0:00:00:00:10:2b dynamic" check_dynamic_addresses p41 "f0:00:00:00:10:2b aef0::f200:ff:fe00:102b" # Change the IPv6 prefix. The IPv6 address should update. -ovn-nbctl --wait=sb set Logical-Switch sw5 other_config:ipv6_prefix="bef0::" +check ovn-nbctl --wait=sb set Logical-Switch sw5 other_config:ipv6_prefix="bef0::" check_dynamic_addresses p41 "f0:00:00:00:10:2b bef0::f200:ff:fe00:102b" # Clear the other_config. The IPv6 address should be gone -ovn-nbctl --wait=sb clear Logical-Switch sw5 other_config +check ovn-nbctl --wait=sb clear Logical-Switch sw5 other_config check_dynamic_addresses p41 '' # Set the subnet again. Now p41 should get the IPv4 address again. @@ -8922,17 +8922,17 @@ exclude_ips="192.168.1.2" check_dynamic_addresses p41 "f0:00:00:00:10:2b 192.168.1.3" # Add static ip address -ovn-nbctl --wait=sb lsp-set-addresses p41 "dynamic 192.168.1.100" +check ovn-nbctl --wait=sb lsp-set-addresses p41 "dynamic 192.168.1.100" ovn-nbctl list Logical-Switch-Port p41 -ovn-nbctl --wait=sb lsp-add sw5 p42 -- lsp-set-addresses p42 \ +check ovn-nbctl --wait=sb lsp-add sw5 p42 -- lsp-set-addresses p42 \ "dynamic 192.168.1.101" check_dynamic_addresses p41 "0a:00:00:a8:01:65 192.168.1.100" check_dynamic_addresses p42 "0a:00:00:a8:01:66 192.168.1.101" # define a mac address prefix -ovn-nbctl ls-add sw6 -ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="00:11:22:33:44:55" -ovn-nbctl --wait=sb set Logical-Switch sw6 other_config:subnet=192.168.100.0/24 +check ovn-nbctl ls-add sw6 +check ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="00:11:22:33:44:55" +check ovn-nbctl --wait=sb set Logical-Switch sw6 other_config:subnet=192.168.100.0/24 for n in $(seq 1 3); do ovn-nbctl --wait=sb lsp-add sw6 "p5$n" -- lsp-set-addresses "p5$n" dynamic done @@ -8941,11 +8941,11 @@ check_dynamic_addresses p52 "00:11:22:a8:64:04 192.168.100.3" check_dynamic_addresses p53 "00:11:22:a8:64:05 192.168.100.4" # verify configuration order does not break IPAM/MACAM -ovn-nbctl ls-add sw7 +check ovn-nbctl ls-add sw7 for n in $(seq 1 3); do ovn-nbctl --wait=sb lsp-add sw7 "p7$n" -- lsp-set-addresses "p7$n" dynamic done -ovn-nbctl --wait=sb set Logical-Switch sw7 other_config:ipv6_prefix="bef0::" +check ovn-nbctl --wait=sb set Logical-Switch sw7 other_config:ipv6_prefix="bef0::" p71_addr=$(ovn-nbctl get Logical-Switch-Port p71 dynamic_addresses) p72_addr=$(ovn-nbctl get Logical-Switch-Port p72 dynamic_addresses) p73_addr=$(ovn-nbctl get Logical-Switch-Port p73 dynamic_addresses) @@ -8955,8 +8955,8 @@ AT_CHECK([test "$p72_addr" != "$p73_addr"], [0], []) # request to assign mac only # -ovn-nbctl ls-add sw8 -ovn-nbctl --wait=sb set Logical-Switch sw8 other_config:mac_only=true +check ovn-nbctl ls-add sw8 +check ovn-nbctl --wait=sb set Logical-Switch sw8 other_config:mac_only=true for n in $(seq 1 3); do ovn-nbctl --wait=sb lsp-add sw8 "p8$n" -- lsp-set-addresses "p8$n" dynamic done @@ -8965,48 +8965,48 @@ check_dynamic_addresses p82 "00:11:22:00:00:07" check_dynamic_addresses p83 "00:11:22:00:00:08" # clear mac_prefix and check it is allocated in a random manner -ovn-nbctl --wait=hv remove NB_Global . options mac_prefix -ovn-nbctl ls-add sw9 -ovn-nbctl --wait=sb set Logical-Switch sw9 other_config:mac_only=true -ovn-nbctl --wait=sb lsp-add sw9 p91 -- lsp-set-addresses p91 dynamic +check ovn-nbctl --wait=hv remove NB_Global . options mac_prefix +check ovn-nbctl ls-add sw9 +check ovn-nbctl --wait=sb set Logical-Switch sw9 other_config:mac_only=true +check ovn-nbctl --wait=sb lsp-add sw9 p91 -- lsp-set-addresses p91 dynamic mac_prefix=$(ovn-nbctl --wait=sb get NB_Global . options:mac_prefix | tr -d \") port_addr=$(ovn-nbctl get Logical-Switch-Port p91 dynamic_addresses | tr -d \") AT_CHECK([test "$port_addr" = "${mac_prefix}:00:00:09"], [0], []) # set mac_prefix to all-zeroes and check it is allocated in a random manner -ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="00:00:00:00:00:00" -ovn-nbctl ls-add sw14 -ovn-nbctl --wait=sb set Logical-Switch sw14 other_config:mac_only=true -ovn-nbctl --wait=sb lsp-add sw14 p141 -- lsp-set-addresses p141 dynamic +check ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="00:00:00:00:00:00" +check ovn-nbctl ls-add sw14 +check ovn-nbctl --wait=sb set Logical-Switch sw14 other_config:mac_only=true +check ovn-nbctl --wait=sb lsp-add sw14 p141 -- lsp-set-addresses p141 dynamic mac_prefix=$(ovn-nbctl --wait=sb get NB_Global . options:mac_prefix | tr -d \") port_addr=$(ovn-nbctl get Logical-Switch-Port p141 dynamic_addresses | tr -d \") AT_CHECK([test "$mac_prefix" != "00:00:00:00:00:00"], [0], []) AT_CHECK([test "$port_addr" = "${mac_prefix}:00:00:0a"], [0], []) -ovn-nbctl --wait=sb lsp-del sw14 p141 -ovn-nbctl --wait=sb ls-del sw14 +check ovn-nbctl --wait=sb lsp-del p141 +check ovn-nbctl --wait=sb ls-del sw14 -ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="00:11:22" -ovn-nbctl ls-add sw10 -ovn-nbctl --wait=sb set Logical-Switch sw10 other_config:ipv6_prefix="ae01::" -ovn-nbctl --wait=sb lsp-add sw10 p101 -- lsp-set-addresses p101 "dynamic ae01::1" +check ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="00:11:22" +check ovn-nbctl ls-add sw10 +check ovn-nbctl --wait=sb set Logical-Switch sw10 other_config:ipv6_prefix="ae01::" +check ovn-nbctl --wait=sb lsp-add sw10 p101 -- lsp-set-addresses p101 "dynamic ae01::1" check_dynamic_addresses p101 "00:11:22:00:00:0a ae01::1" -ovn-nbctl --wait=sb set Logical-Switch sw10 other_config:subnet=192.168.110.0/24 -ovn-nbctl --wait=sb lsp-add sw10 p102 -- lsp-set-addresses p102 "dynamic 192.168.110.10 ae01::2" +check ovn-nbctl --wait=sb set Logical-Switch sw10 other_config:subnet=192.168.110.0/24 +check ovn-nbctl --wait=sb lsp-add sw10 p102 -- lsp-set-addresses p102 "dynamic 192.168.110.10 ae01::2" check_dynamic_addresses p102 "00:11:22:a8:6e:0b 192.168.110.10 ae01::2" # Configure subnet using address from middle of the subnet and ensure # address is allocated from the beginning. -ovn-nbctl ls-add sw11 -ovn-nbctl --wait=sb set Logical-Switch sw11 other_config:subnet=172.16.1.254/29 -ovn-nbctl --wait=sb lsp-add sw11 p103 -- lsp-set-addresses p103 "22:33:44:55:66:77 dynamic" +check ovn-nbctl ls-add sw11 +check ovn-nbctl --wait=sb set Logical-Switch sw11 other_config:subnet=172.16.1.254/29 +check ovn-nbctl --wait=sb lsp-add sw11 p103 -- lsp-set-addresses p103 "22:33:44:55:66:77 dynamic" check_dynamic_addresses p103 "22:33:44:55:66:77 172.16.1.250" -ovn-nbctl ls-add sw12 +check ovn-nbctl ls-add sw12 for i in $(seq 0 1); do for j in $(seq 1 99); do idx=$((i*100+j)) @@ -9014,12 +9014,12 @@ for i in $(seq 0 1); do lsp-set-addresses sw12-p${idx} "00:00:00:00:$i:$j dynamic" done done -ovn-nbctl --wait=sb set Logical-Switch sw12 other_config:subnet=192.10.2.0/24 +check ovn-nbctl --wait=sb set Logical-Switch sw12 other_config:subnet=192.10.2.0/24 AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.127], [0], [ignore]) AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.128], [0], [ignore]) AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.180], [0], [ignore]) -ovn-nbctl --wait=sb set Logical-Switch sw12 other_config:subnet=192.10.2.0/25 +check ovn-nbctl --wait=sb set Logical-Switch sw12 other_config:subnet=192.10.2.0/25 AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.127], [1]) AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.128], [1]) AT_CHECK([ovn-nbctl list Logical-Switch-Port | grep 192.10.2.180], [1]) @@ -9039,36 +9039,36 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([ipam connectivity]) ovn_start -ovn-nbctl --wait=sb lr-add R1 +check ovn-nbctl --wait=sb lr-add R1 # Test for a ping using dynamically allocated addresses. -ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="0a:00:00:00:00:00" -ovn-nbctl ls-add foo -- add Logical_Switch foo other_config subnet=192.168.1.0/24 -ovn-nbctl ls-add alice -- add Logical_Switch alice other_config subnet=192.168.2.0/24 +check ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="0a:00:00:00:00:00" +check ovn-nbctl ls-add foo -- add Logical_Switch foo other_config subnet=192.168.1.0/24 +check ovn-nbctl ls-add alice -- add Logical_Switch alice other_config subnet=192.168.2.0/24 # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ +check ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ options:router-port=foo \ -- lsp-set-addresses rp-foo router # Connect alice to R1 -ovn-nbctl lrp-add R1 alice 00:00:00:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice type=router \ +check ovn-nbctl lrp-add R1 alice 00:00:00:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice type=router \ options:router-port=alice addresses=\"00:00:00:01:02:04\" # Create logical port foo1 in foo -ovn-nbctl --wait=sb lsp-add foo foo1 \ +check ovn-nbctl --wait=sb lsp-add foo foo1 \ -- lsp-set-addresses foo1 "dynamic" check ovn-nbctl wait-until Logical-Switch-Port foo1 dynamic_addresses='"0a:00:00:a8:01:03 192.168.1.2"' # Create logical port alice1 in alice -ovn-nbctl --wait=sb lsp-add alice alice1 \ +check ovn-nbctl --wait=sb lsp-add alice alice1 \ -- lsp-set-addresses alice1 "dynamic" check ovn-nbctl wait-until Logical-Switch-Port alice1 dynamic_addresses='"0a:00:00:a8:02:03 192.168.2.2"' # Create logical port foo2 in foo -ovn-nbctl --wait=sb lsp-add foo foo2 \ +check ovn-nbctl --wait=sb lsp-add foo foo2 \ -- lsp-set-addresses foo2 "dynamic" check ovn-nbctl wait-until Logical-Switch-Port foo2 dynamic_addresses='"0a:00:00:a8:01:04 192.168.1.3"' @@ -9166,12 +9166,12 @@ AT_SETUP([ovs-vswitchd restart]) AT_KEYWORDS([vswitchd]) ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "f0:00:00:00:00:01 10.0.0.4" -ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4" +check ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4" net_add n1 sim_add hv1 @@ -9266,33 +9266,33 @@ ovn_start # Topology: Two LSs - ls1 and ls2 are connected via router r0 # Create logical switches -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Create router ovn-nbctl create Logical_Router name=lr0 # Add router ls1p1 port to gateway router -ovn-nbctl lrp-add lr0 lrp-ls1lp1 f0:00:00:00:00:01 192.168.0.1/24 -ovn-nbctl lsp-add ls1 ls1lp1 -- set Logical_Switch_Port ls1lp1 \ +check ovn-nbctl lrp-add lr0 lrp-ls1lp1 f0:00:00:00:00:01 192.168.0.1/24 +check ovn-nbctl lsp-add ls1 ls1lp1 -- set Logical_Switch_Port ls1lp1 \ type=router options:router-port=lrp-ls1lp1 \ addresses='"f0:00:00:00:00:01 192.168.0.1"' # Add router ls2p2 port to gateway router -ovn-nbctl lrp-add lr0 lrp-ls2lp1 f0:00:00:00:00:02 192.168.1.1/24 -ovn-nbctl lsp-add ls2 ls2lp1 -- set Logical_Switch_Port ls2lp1 \ +check ovn-nbctl lrp-add lr0 lrp-ls2lp1 f0:00:00:00:00:02 192.168.1.1/24 +check ovn-nbctl lsp-add ls2 ls2lp1 -- set Logical_Switch_Port ls2lp1 \ type=router options:router-port=lrp-ls2lp1 \ addresses='"f0:00:00:00:00:02 192.168.1.1"' # Set default gateway (nexthop) to 192.168.1.254 -ovn-nbctl lr-route-add lr0 "0.0.0.0/0" 192.168.1.254 lrp-ls2lp1 +check ovn-nbctl lr-route-add lr0 "0.0.0.0/0" 192.168.1.254 lrp-ls2lp1 # Create logical port ls1lp2 in ls1 -ovn-nbctl lsp-add ls1 ls1lp2 \ +check ovn-nbctl lsp-add ls1 ls1lp2 \ -- lsp-set-addresses ls1lp2 "f0:00:00:00:00:03 192.168.0.2" # Create logical port ls2lp2 in ls2 -ovn-nbctl lsp-add ls2 ls2lp2 \ +check ovn-nbctl lsp-add ls2 ls2lp2 \ -- lsp-set-addresses ls2lp2 "f0:00:00:00:00:04 192.168.1.10" net_add n1 @@ -9345,15 +9345,15 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([send gratuitous arp for nat ips in localnet]) ovn_start # Create logical switch -ovn-nbctl ls-add ls0 +check ovn-nbctl ls-add ls0 # Create gateway router ovn-nbctl create Logical_Router name=lr0 options:chassis=hv1 # Add router port to gateway router -ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 -ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ +check ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 +check ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ type=router options:router-port=lrp0 addresses='"f0:00:00:00:00:01"' # Add nat-address option -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="f0:00:00:00:00:01 192.168.0.2" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="f0:00:00:00:00:01 192.168.0.2" net_add n1 sim_add hv1 @@ -9390,16 +9390,16 @@ fffffffffffff0000000000108060001080006040001f00000000001c0a80002000000000000c0a8 # Temporarily remove nat-addresses option to avoid race conditions # due to GARP backoff -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" # Let's use gw router port now hv1_uuid=$(ovn-sbctl --bare --columns _uuid list chassis hv1) -ovn-nbctl remove logical_router lr0 options chassis -ovn-nbctl lrp-set-gateway-chassis lrp0 hv1 20 +check ovn-nbctl remove logical_router lr0 options chassis +check ovn-nbctl lrp-set-gateway-chassis lrp0 hv1 20 OVS_WAIT_UNTIL([ cr_lrp0_ch=$(ovn-sbctl --bare --columns chassis list port_binding cr-lrp0) test "$cr_lrp0_ch" = $hv1_uuid ]) -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="f0:00:00:00:00:03 192.168.0.3" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="f0:00:00:00:00:03 192.168.0.3" reset_pcap_file snoopvif hv1/snoopvif OVS_WAIT_UNTIL([test `wc -c < "hv1/snoopvif-tx.pcap"` -ge 140]) @@ -9421,19 +9421,19 @@ AT_SKIP_IF([test $HAVE_TCPDUMP = no]) ovn_start # Create logical switch -ovn-nbctl ls-add ls0 +check ovn-nbctl ls-add ls0 # Create gateway router -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 # Add router port to gateway router -ovn-nbctl lrp-add lr0 lr0-ls0 f0:00:00:00:00:01 192.168.0.1/24 -ovn-nbctl lsp-add ls0 ls0-lr0 -- set Logical_Switch_Port ls0-lr0 \ +check ovn-nbctl lrp-add lr0 lr0-ls0 f0:00:00:00:00:01 192.168.0.1/24 +check ovn-nbctl lsp-add ls0 ls0-lr0 -- set Logical_Switch_Port ls0-lr0 \ type=router options:router-port=lr0-ls0 addresses='"f0:00:00:00:00:01"' # Create a localnet port. -ovn-nbctl lsp-add ls0 ln_port -ovn-nbctl lsp-set-addresses ln_port unknown -ovn-nbctl lsp-set-type ln_port localnet -ovn-nbctl --wait=hv lsp-set-options ln_port network_name=physnet1 +check ovn-nbctl lsp-add ls0 ln_port +check ovn-nbctl lsp-set-addresses ln_port unknown +check ovn-nbctl lsp-set-type ln_port localnet +check ovn-nbctl --wait=hv lsp-set-options ln_port network_name=physnet1 # Prepare packets touch empty_expected @@ -9531,15 +9531,15 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([send gratuitous arp with nat-addresses router in localnet]) ovn_start # Create logical switch -ovn-nbctl ls-add ls0 +check ovn-nbctl ls-add ls0 # Create gateway router ovn-nbctl create Logical_Router name=lr0 options:chassis=hv1 # Add router port to gateway router -ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 -ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ +check ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 +check ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ type=router options:router-port=lrp0 addresses='"f0:00:00:00:00:01"' # Add nat-address option -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" # Add NAT rules AT_CHECK([ovn-nbctl lr-nat-add lr0 snat 192.168.0.1 10.0.0.0/24]) AT_CHECK([ovn-nbctl lr-nat-add lr0 dnat 192.168.0.2 10.0.0.1]) @@ -9589,12 +9589,12 @@ AT_CHECK([sort packets], [0], [expout]) # Temporarily remove nat-addresses option to avoid race conditions # due to GARP backoff -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" as hv1 reset_pcap_file snoopvif hv1/snoopvif # Re-add nat-addresses option -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" exclude-lb-vips-from-garp="true" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" exclude-lb-vips-from-garp="true" # Wait for packets to be received. OVS_WAIT_UNTIL([test `wc -c < "hv1/snoopvif-tx.pcap"` -ge 250]) @@ -9621,15 +9621,15 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([send reverse arp for router without ipv4 address]) ovn_start # Create logical switch -ovn-nbctl ls-add ls0 +check ovn-nbctl ls-add ls0 # Create gateway router ovn-nbctl create Logical_Router name=lr0 options:chassis=hv1 # Add router port to gateway router -ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 fd12:3456:789a:1::1/64 -ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ +check ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 fd12:3456:789a:1::1/64 +check ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ type=router options:router-port=lrp0 addresses='"f0:00:00:00:00:01"' # Add nat-address option -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" net_add n1 sim_add hv1 @@ -9667,12 +9667,12 @@ AT_CHECK([sort packets], [0], [expout]) # Temporarily remove nat-addresses option to avoid race conditions # due to GARP backoff -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" as hv1 reset_pcap_file snoopvif hv1/snoopvif # Re-add nat-addresses option -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" exclude-lb-vips-from-garp="true" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" exclude-lb-vips-from-garp="true" # Wait for packets to be received. OVS_WAIT_UNTIL([test `wc -c < "hv1/snoopvif-tx.pcap"` -ge 50]) @@ -9696,20 +9696,20 @@ as hv1 ovs-vsctl -- add-br br-phys ovn_attach n1 br-phys 192.168.0.1 # Create logical router lr0 -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 # Create ports lrp0, lrp1 in lr0 -ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 -ovn-nbctl lrp-add lr0 lrp1 f0:00:00:00:00:02 192.168.1.1/24 +check ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 +check ovn-nbctl lrp-add lr0 lrp1 f0:00:00:00:00:02 192.168.1.1/24 dp_uuid=$(fetch_column Datapath_Binding _uuid) ovn-sbctl create MAC_Binding ip=10.0.0.1 datapath=$dp_uuid logical_port=lrp0 mac="00:00:00:01:00:01" ovn-sbctl create MAC_Binding ip=10.0.0.1 datapath=$dp_uuid logical_port=lrp1 mac="00:00:00:01:00:02" ovn-sbctl find MAC_Binding # Delete port lrp0 and check that its MAC_Binding is deleted. -ovn-nbctl lrp-del lrp0 +check ovn-nbctl lrp-del lrp0 ovn-sbctl find MAC_Binding wait_row_count MAC_Binding 0 logical_port=lrp0 # Delete logical switch lr0 and check that its MAC_Binding is deleted. -ovn-nbctl lr-del lr0 +check ovn-nbctl lr-del lr0 ovn-sbctl find MAC_Binding wait_row_count MAC_Binding 0 @@ -9745,21 +9745,21 @@ for i in foo1 bar1 bar2 bar3; do done ovn-nbctl create Logical_Router name=R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo \ type=router options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 172.16.1.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 172.16.1.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar \ type=router options:router-port=bar addresses=\"00:00:01:01:02:04\" # Create logical port foo1 in foo -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port bar1, bar2 and bar3 in bar @@ -9897,7 +9897,7 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD([ AT_SETUP([lsp deletion and broadcast-flow deletion on localnet]) ovn_start -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 net_add n1 for i in 1 2; do sim_add hv$i @@ -9989,39 +9989,39 @@ lp1_ip="192.168.1.2" lp2_mac="f0:00:00:00:00:02" lp2_ip="192.168.1.3" -ovn-nbctl ls-add lsw0 -ovn-nbctl --wait=sb lsp-add lsw0 lp1 -ovn-nbctl --wait=sb lsp-add lsw0 lp2 -ovn-nbctl lsp-set-addresses lp1 $lp1_mac -ovn-nbctl lsp-set-addresses lp2 $lp2_mac -ovn-nbctl --wait=sb sync +check ovn-nbctl ls-add lsw0 +check ovn-nbctl --wait=sb lsp-add lsw0 lp1 +check ovn-nbctl --wait=sb lsp-add lsw0 lp2 +check ovn-nbctl lsp-set-addresses lp1 $lp1_mac +check ovn-nbctl lsp-set-addresses lp2 $lp2_mac +check ovn-nbctl --wait=sb sync wait_for_ports_up -ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==80' drop -ovn-nbctl --log --severity=alert --name=drop-flow acl-add lsw0 from-lport 1000 'tcp.dst==81' drop +check ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==80' drop +check ovn-nbctl --log --severity=alert --name=drop-flow acl-add lsw0 from-lport 1000 'tcp.dst==81' drop -ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==180' drop -ovn-nbctl --log --severity=alert --name=drop-flow acl-add lsw0 to-lport 1000 'tcp.dst==181' drop +check ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==180' drop +check ovn-nbctl --log --severity=alert --name=drop-flow acl-add lsw0 to-lport 1000 'tcp.dst==181' drop -ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==82' allow -ovn-nbctl --log --severity=info --name=allow-flow acl-add lsw0 from-lport 1000 'tcp.dst==83' allow +check ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==82' allow +check ovn-nbctl --log --severity=info --name=allow-flow acl-add lsw0 from-lport 1000 'tcp.dst==83' allow -ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==82' allow -ovn-nbctl --log --severity=info --name=allow-flow acl-add lsw0 to-lport 1000 'tcp.dst==83' allow +check ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==82' allow +check ovn-nbctl --log --severity=info --name=allow-flow acl-add lsw0 to-lport 1000 'tcp.dst==83' allow -ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==84' allow-related -ovn-nbctl --log acl-add lsw0 from-lport 1000 'tcp.dst==85' allow-related +check ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==84' allow-related +check ovn-nbctl --log acl-add lsw0 from-lport 1000 'tcp.dst==85' allow-related -ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==84' allow-related -ovn-nbctl --log acl-add lsw0 to-lport 1000 'tcp.dst==85' allow-related +check ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==84' allow-related +check ovn-nbctl --log acl-add lsw0 to-lport 1000 'tcp.dst==85' allow-related -ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==86' reject -ovn-nbctl --log --severity=alert --name=reject-flow acl-add lsw0 from-lport 1000 'tcp.dst==87' reject +check ovn-nbctl acl-add lsw0 from-lport 1000 'tcp.dst==86' reject +check ovn-nbctl --log --severity=alert --name=reject-flow acl-add lsw0 from-lport 1000 'tcp.dst==87' reject -ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==186' reject -ovn-nbctl --log --severity=alert --name=reject-flow acl-add lsw0 to-lport 1000 'tcp.dst==187' reject +check ovn-nbctl acl-add lsw0 to-lport 1000 'tcp.dst==186' reject +check ovn-nbctl --log --severity=alert --name=reject-flow acl-add lsw0 to-lport 1000 'tcp.dst==187' reject -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -10139,28 +10139,28 @@ lp1_ip="192.168.1.2" lp2_mac="f0:00:00:00:00:02" lp2_ip="192.168.1.3" -ovn-nbctl ls-add lsw0 -ovn-nbctl --wait=sb lsp-add lsw0 lp1 -ovn-nbctl --wait=sb lsp-add lsw0 lp2 -ovn-nbctl lsp-set-addresses lp1 $lp1_mac -ovn-nbctl lsp-set-addresses lp2 $lp2_mac -ovn-nbctl --wait=sb sync +check ovn-nbctl ls-add lsw0 +check ovn-nbctl --wait=sb lsp-add lsw0 lp1 +check ovn-nbctl --wait=sb lsp-add lsw0 lp2 +check ovn-nbctl lsp-set-addresses lp1 $lp1_mac +check ovn-nbctl lsp-set-addresses lp2 $lp2_mac +check ovn-nbctl --wait=sb sync wait_for_ports_up # Add an ACL that rate-limits logs at 10 per second. -ovn-nbctl meter-add http-rl1 drop 10 pktps -ovn-nbctl --log --severity=alert --meter=http-rl1 --name=http-acl1 acl-add lsw0 to-lport 1000 'tcp.dst==80' drop +check ovn-nbctl meter-add http-rl1 drop 10 pktps +check ovn-nbctl --log --severity=alert --meter=http-rl1 --name=http-acl1 acl-add lsw0 to-lport 1000 'tcp.dst==80' drop check ovn-nbctl --wait=hv sync # Add an ACL that rate-limits logs at 5 per second. -ovn-nbctl meter-add http-rl2 drop 5 pktps -ovn-nbctl --log --severity=alert --meter=http-rl2 --name=http-acl2 acl-add lsw0 to-lport 1000 'tcp.dst==81' allow +check ovn-nbctl meter-add http-rl2 drop 5 pktps +check ovn-nbctl --log --severity=alert --meter=http-rl2 --name=http-acl2 acl-add lsw0 to-lport 1000 'tcp.dst==81' allow check ovn-nbctl --wait=hv sync # Add an ACL that doesn't rate-limit logs. -ovn-nbctl --log --severity=alert --name=http-acl3 acl-add lsw0 to-lport 1000 'tcp.dst==82' drop -ovn-nbctl --wait=hv sync +check ovn-nbctl --log --severity=alert --name=http-acl3 acl-add lsw0 to-lport 1000 'tcp.dst==82' drop +check ovn-nbctl --wait=hv sync ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -10231,33 +10231,33 @@ lp1_ip="192.168.1.2" lp2_mac="f0:00:00:00:00:02" lp2_ip="192.168.1.3" -ovn-nbctl ls-add lsw0 -ovn-nbctl --wait=sb lsp-add lsw0 lp1 -ovn-nbctl --wait=sb lsp-add lsw0 lp2 -ovn-nbctl lsp-set-addresses lp1 $lp1_mac -ovn-nbctl lsp-set-addresses lp2 $lp2_mac -ovn-nbctl --wait=sb sync +check ovn-nbctl ls-add lsw0 +check ovn-nbctl --wait=sb lsp-add lsw0 lp1 +check ovn-nbctl --wait=sb lsp-add lsw0 lp2 +check ovn-nbctl lsp-set-addresses lp1 $lp1_mac +check ovn-nbctl lsp-set-addresses lp2 $lp2_mac +check ovn-nbctl --wait=sb sync wait_for_ports_up ovn-appctl -t ovn-controller vlog/set file:dbg # Add acl1 and acl2 using same meter. -ovn-nbctl meter-add http-rl1 drop 10 pktps -ovn-nbctl --log --meter=http-rl1 acl-add lsw0 to-lport 1000 'tcp.dst==80' drop \ +check ovn-nbctl meter-add http-rl1 drop 10 pktps +check ovn-nbctl --log --meter=http-rl1 acl-add lsw0 to-lport 1000 'tcp.dst==80' drop \ -- --log --meter=http-rl1 acl-add lsw0 to-lport 1000 'tcp.dst==81' allow -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync AT_CHECK([ovs-ofctl -O OpenFlow13 dump-meters br-int | grep meter], [0], [ignore], [ignore]) # Delete acl1, meter should be kept in OVS -ovn-nbctl acl-del lsw0 to-lport 1000 'tcp.dst==80' -ovn-nbctl --wait=hv sync +check ovn-nbctl acl-del lsw0 to-lport 1000 'tcp.dst==80' +check ovn-nbctl --wait=hv sync AT_CHECK([ovs-ofctl -O OpenFlow13 dump-meters br-int | grep meter], [0], [ignore], [ignore]) # Delete acl2, meter should be deleted in OVS -ovn-nbctl acl-del lsw0 to-lport 1000 'tcp.dst==81' -ovn-nbctl --wait=hv sync +check ovn-nbctl acl-del lsw0 to-lport 1000 'tcp.dst==81' +check ovn-nbctl --wait=hv sync AT_CHECK([ovs-ofctl -O OpenFlow13 dump-meters br-int | grep meter], [1]) OVN_CLEANUP([hv]) @@ -10603,51 +10603,51 @@ ovn_start # 3 Logical switches - "mgmt" (172.16.1.0/24), "foo" (192.168.1.0/24) # and "bar" (192.168.2.0/24). They are all connected to router R1. -ovn-nbctl lr-add R1 -ovn-nbctl ls-add mgmt -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar +check ovn-nbctl lr-add R1 +check ovn-nbctl ls-add mgmt +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar # Connect mgmt to R1 -ovn-nbctl lrp-add R1 mgmt 00:00:00:01:02:02 172.16.1.1/24 -ovn-nbctl lsp-add mgmt rp-mgmt -- set Logical_Switch_Port rp-mgmt type=router \ +check ovn-nbctl lrp-add R1 mgmt 00:00:00:01:02:02 172.16.1.1/24 +check ovn-nbctl lsp-add mgmt rp-mgmt -- set Logical_Switch_Port rp-mgmt type=router \ options:router-port=mgmt addresses=\"00:00:00:01:02:02\" # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ +check ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ options:router-port=foo addresses=\"00:00:00:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:00:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar type=router \ +check ovn-nbctl lrp-add R1 bar 00:00:00:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar type=router \ options:router-port=bar addresses=\"00:00:00:01:02:04\" # "mgmt" has VM1 and VM2 connected -ovn-nbctl lsp-add mgmt vm1 \ +check ovn-nbctl lsp-add mgmt vm1 \ -- lsp-set-addresses vm1 "f0:00:00:01:02:03 172.16.1.2" -ovn-nbctl lsp-add mgmt vm2 \ +check ovn-nbctl lsp-add mgmt vm2 \ -- lsp-set-addresses vm2 "f0:00:00:01:02:04 172.16.1.3" # "foo1" and "foo2" are containers belonging to switch "foo" # "foo1" has "VM1" as parent_port and "foo2" has "VM2" as parent_port. -ovn-nbctl lsp-add foo foo1 vm1 1 \ +check ovn-nbctl lsp-add foo foo1 vm1 1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:05 192.168.1.2" -ovn-nbctl lsp-add foo foo2 vm2 2 \ +check ovn-nbctl lsp-add foo foo2 vm2 2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 192.168.1.3" # "bar1" and "bar2" are containers belonging to switch "bar" # "bar1" has "VM1" as parent_port and "bar2" has "VM2" as parent_port. -ovn-nbctl lsp-add bar bar1 vm1 2 \ +check ovn-nbctl lsp-add bar bar1 vm1 2 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:07 192.168.2.2" -ovn-nbctl lsp-add bar bar2 vm2 1 \ +check ovn-nbctl lsp-add bar bar2 vm2 1 \ -- lsp-set-addresses bar2 "f0:00:00:01:02:08 192.168.2.3" # bar3 is a standalone VM belonging to switch "bar" -ovn-nbctl lsp-add bar bar3 \ +check ovn-nbctl lsp-add bar bar3 \ -- lsp-set-addresses bar3 "f0:00:00:01:02:09 192.168.2.4" # Create two hypervisor and create OVS ports corresponding to logical ports. @@ -10710,18 +10710,18 @@ AT_CHECK([test ! -z $bar2_zoneid]) # ovn-nbctl --wait=hv sync does not take this into account, and hence we need # two "wait=hv" before we are sure that the ct-zone-id is removed from # external_ids. -ovn-nbctl --wait=hv lsp-del bar2 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv lsp-del bar2 +check ovn-nbctl --wait=hv sync bar2_zoneid=$(as hv2 ovs-vsctl get bridge br-int external_ids:ct-zone-bar2) AT_CHECK([test -z $bar2_zoneid]) # Add back bar2 # Same comment as above: two "wait=hv" are needed. -ovn-nbctl --wait=hv lsp-add bar bar2 vm2 1 \ +check ovn-nbctl --wait=hv lsp-add bar bar2 vm2 1 \ -- lsp-set-addresses bar2 "f0:00:00:01:02:08 192.168.2.3" wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync bar2_zoneid=$(as hv2 ovs-vsctl get bridge br-int external_ids:ct-zone-bar2) AT_CHECK([test ! -z $bar2_zoneid]) @@ -10835,13 +10835,13 @@ echo $packet >> expected2 OVN_CHECK_PACKETS([hv2/vm2-tx.pcap], [expected2]) # Test binding of parent and container ports. -ovn-nbctl lsp-set-options vm1 requested-chassis=foo +check ovn-nbctl lsp-set-options vm1 requested-chassis=foo OVS_WAIT_UNTIL([test xdown = x$(ovn-nbctl lsp-get-up vm1)]) OVS_WAIT_UNTIL([test xdown = x$(ovn-nbctl lsp-get-up foo1)]) OVS_WAIT_UNTIL([test xdown = x$(ovn-nbctl lsp-get-up bar1)]) -ovn-nbctl clear logical_switch_port vm1 options +check ovn-nbctl clear logical_switch_port vm1 options OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up vm1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up foo1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up bar1)]) @@ -10856,18 +10856,18 @@ OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up vm1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up foo1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up bar1)]) -ovn-nbctl lsp-del vm1 +check ovn-nbctl lsp-del vm1 OVS_WAIT_UNTIL([test xdown = x$(ovn-nbctl lsp-get-up foo1)]) OVS_WAIT_UNTIL([test xdown = x$(ovn-nbctl lsp-get-up bar1)]) -ovn-nbctl lsp-add mgmt vm1 +check ovn-nbctl lsp-add mgmt vm1 OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up vm1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up foo1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up bar1)]) # Move VM1 to a new logical switch. -ovn-nbctl ls-add mgmt2 -ovn-nbctl lsp-del vm1 -- lsp-add mgmt2 vm1 +check ovn-nbctl ls-add mgmt2 +check ovn-nbctl lsp-del vm1 -- lsp-add mgmt2 vm1 OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up vm1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up foo1)]) OVS_WAIT_UNTIL([test xup = x$(ovn-nbctl lsp-get-up bar1)]) @@ -10942,71 +10942,71 @@ ovn-nbctl create Logical_Router name=R1 ovn-nbctl create Logical_Router name=R2 options:chassis="hv2" ovn-nbctl create Logical_Router name=R3 options:chassis="hv3" -ovn-nbctl ls-add foo -ovn-nbctl ls-add bar -ovn-nbctl ls-add alice -ovn-nbctl ls-add bob -ovn-nbctl ls-add join +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add bar +check ovn-nbctl ls-add alice +check ovn-nbctl ls-add bob +check ovn-nbctl ls-add join # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ +check ovn-nbctl lrp-add R1 foo 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ options:router-port=foo addresses=\"00:00:01:01:02:03\" # Connect bar to R1 -ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar type=router \ +check ovn-nbctl lrp-add R1 bar 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lsp-add bar rp-bar -- set Logical_Switch_Port rp-bar type=router \ options:router-port=bar addresses=\"00:00:01:01:02:04\" # Connect alice to R2 -ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R2 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:02:01:02:03\" # Connect bob to R3 -ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 -ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ +check ovn-nbctl lrp-add R3 bob 00:00:03:01:02:03 172.16.1.2/24 +check ovn-nbctl lsp-add bob rp-bob -- set Logical_Switch_Port rp-bob \ type=router options:router-port=bob addresses=\"00:00:03:01:02:03\" # Connect R1 to join -ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 -ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ +check ovn-nbctl lrp-add R1 R1_join 00:00:04:01:02:03 20.0.0.1/24 +check ovn-nbctl lsp-add join r1-join -- set Logical_Switch_Port r1-join \ type=router options:router-port=R1_join addresses='"00:00:04:01:02:03"' # Connect R2 to join -ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 -ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ +check ovn-nbctl lrp-add R2 R2_join 00:00:04:01:02:04 20.0.0.2/24 +check ovn-nbctl lsp-add join r2-join -- set Logical_Switch_Port r2-join \ type=router options:router-port=R2_join addresses='"00:00:04:01:02:04"' # Connect R3 to join -ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 -ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ +check ovn-nbctl lrp-add R3 R3_join 00:00:04:01:02:05 20.0.0.3/24 +check ovn-nbctl lsp-add join r3-join -- set Logical_Switch_Port r3-join \ type=router options:router-port=R3_join addresses='"00:00:04:01:02:05"' # Install static routes with source ip address as the policy for routing. # We want traffic from 'foo' to go via R2 and traffic of 'bar' to go via R3. -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 -ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.1.0/24 20.0.0.2 +check ovn-nbctl --policy="src-ip" lr-route-add R1 192.168.2.0/24 20.0.0.3 # Install static routes with destination ip address as the policy for routing. -ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R2 192.168.0.0/16 20.0.0.1 -ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 +check ovn-nbctl lr-route-add R3 192.168.0.0/16 20.0.0.1 # Create logical port foo1 in foo -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port bar1 in bar -ovn-nbctl lsp-add bar bar1 \ +check ovn-nbctl lsp-add bar bar1 \ -- lsp-set-addresses bar1 "f0:00:00:01:02:04 192.168.2.2" # Create logical port alice1 in alice -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 172.16.1.3" # Create logical port bob1 in bob -ovn-nbctl --wait=hv lsp-add bob bob1 \ +check ovn-nbctl --wait=hv lsp-add bob bob1 \ -- lsp-set-addresses bob1 "f0:00:00:01:02:06 172.16.1.4" # Pre-populate the hypervisors' ARP tables so that we don't lose any @@ -11081,29 +11081,29 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([dns lookup : 1 HV, 2 LS, 2 LSPs/LS]) ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "f0:00:00:00:00:01 10.0.0.4 aef0::4" -ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4 aef0::4" +check ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4 aef0::4" -ovn-nbctl lsp-add ls1 ls1-lp2 \ +check ovn-nbctl lsp-add ls1 ls1-lp2 \ -- lsp-set-addresses ls1-lp2 "f0:00:00:00:00:02 10.0.0.6 20.0.0.4" -ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 10.0.0.6 20.0.0.4" +check ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 10.0.0.6 20.0.0.4" DNS1=`ovn-nbctl create DNS records={}` DNS2=`ovn-nbctl create DNS records={}` DNS3=`ovn-nbctl create DNS records={}` -ovn-nbctl set DNS $DNS1 records:vm1.ovn.org="10.0.0.4 aef0::4" -ovn-nbctl set DNS $DNS1 records:vm2.ovn.org="10.0.0.6 20.0.0.4" -ovn-nbctl set DNS $DNS2 records:vm3.ovn.org="40.0.0.4" -ovn-nbctl set DNS $DNS3 records:4.0.0.10.in-addr.arpa="vm1.ovn.org" -ovn-nbctl set DNS $DNS3 records:4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.f.e.a.ip6.arpa="vm1.ovn.org" +check ovn-nbctl set DNS $DNS1 records:vm1.ovn.org="10.0.0.4 aef0::4" +check ovn-nbctl set DNS $DNS1 records:vm2.ovn.org="10.0.0.6 20.0.0.4" +check ovn-nbctl set DNS $DNS2 records:vm3.ovn.org="40.0.0.4" +check ovn-nbctl set DNS $DNS3 records:4.0.0.10.in-addr.arpa="vm1.ovn.org" +check ovn-nbctl set DNS $DNS3 records:4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.f.e.a.ip6.arpa="vm1.ovn.org" -ovn-nbctl set Logical_switch ls1 dns_records="$DNS1" +check ovn-nbctl set Logical_switch ls1 dns_records="$DNS1" net_add n1 sim_add hv1 @@ -11347,7 +11347,7 @@ rm -f 2.expected AS_BOX([Clear the query name options for ls1-lp2]) -ovn-nbctl --wait=hv remove DNS $DNS1 records vm2.ovn.org +check ovn-nbctl --wait=hv remove DNS $DNS1 records vm2.ovn.org ovn-sbctl list DNS > dns2 AT_CAPTURE_FILE([dns2]) ovn-sbctl dump-flows > sbflows2 @@ -11374,7 +11374,7 @@ rm -f 2.expected AS_BOX([Clear the query name for ls1-lp1]) # Since ls1 has no query names configued, # ovn-northd should not add the DNS flows. -ovn-nbctl --wait=hv remove DNS $DNS1 records vm1.ovn.org +check ovn-nbctl --wait=hv remove DNS $DNS1 records vm1.ovn.org ovn-sbctl list DNS > dns3 AT_CAPTURE_FILE([dns3]) ovn-sbctl dump-flows > sbflows3 @@ -11400,7 +11400,7 @@ rm -f 2.expected AS_BOX([Test IPv6 (AAAA records) using IPv4 packet.]) # Add back the DNS options for ls1-lp1. -ovn-nbctl --wait=hv set DNS $DNS1 records:vm1.ovn.org="10.0.0.4 aef0::4" +check ovn-nbctl --wait=hv set DNS $DNS1 records:vm1.ovn.org="10.0.0.4 aef0::4" ovn-sbctl list DNS > dns4 AT_CAPTURE_FILE([dns4]) ovn-sbctl dump-flows > sbflows4 @@ -11484,7 +11484,7 @@ rm -f 2.expected AS_BOX([Add one more DNS record to the ls1]) -ovn-nbctl --wait=hv set Logical_switch ls1 dns_records="$DNS1 $DNS2" +check ovn-nbctl --wait=hv set Logical_switch ls1 dns_records="$DNS1 $DNS2" ovn-sbctl list DNS > dns5 AT_CAPTURE_FILE([dns5]) ovn-sbctl dump-flows > sbflows5 @@ -11529,7 +11529,7 @@ rm -f 2.expected # Add one more DNS record to the ls1. -ovn-nbctl --wait=hv set Logical_switch ls1 dns_records="$DNS1 $DNS2 $DNS3" +check ovn-nbctl --wait=hv set Logical_switch ls1 dns_records="$DNS1 $DNS2 $DNS3" echo "*************************" ovn-sbctl list DNS echo "*************************" @@ -11732,7 +11732,7 @@ check ovs-vsctl -- add-port br-int ext1-vif1 -- \ options:rxq_pcap=ext1/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 +check ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 # Pre-populate the hypervisors' ARP tables so that we don't lose any # packets for ARP resolution (native tunneling doesn't queue packets # for ARP resolution). @@ -11971,7 +11971,7 @@ check ovs-vsctl -- add-port br-int ext1-vif1 -- \ options:rxq_pcap=ext1/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 +check ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 # Pre-populate the hypervisors' ARP tables so that we don't lose any # packets for ARP resolution (native tunneling doesn't queue packets # for ARP resolution). @@ -12275,7 +12275,7 @@ check as hv3 ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys dnl Allow some time for ovn-northd and ovn-controller to catch up. wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVN_WAIT_PATCH_PORT_FLOWS(["ln-outside"], ["hv3"]) (echo "---------NB dump-----" @@ -12395,7 +12395,7 @@ OVN_WAIT_PATCH_PORT_FLOWS(["ln-alice"], ["hv2"]) dnl Allow some time for ovn-controller to catch up. wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # ARP for router IP address from outside1 test_arp 3 1 f00000010204 $outside_ip $rtr_ip 000002010203 @@ -12449,7 +12449,7 @@ as hv1 ovs-vsctl -- add-port br-int hv1-vif2 -- \ options:rxq_pcap=hv1/vif2-rx.pcap \ ofport-request=1 -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:05 172.16.1.4" # Create logical port foo2 in foo on hv2 @@ -12459,7 +12459,7 @@ as hv2 ovs-vsctl -- add-port br-int hv2-vif1 -- \ options:rxq_pcap=hv2/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl lsp-add foo foo2 \ +check ovn-nbctl lsp-add foo foo2 \ -- lsp-set-addresses foo2 "f0:00:00:01:02:06 192.168.1.3" # Allow some time for ovn-northd and ovn-controller to catch up. @@ -12508,26 +12508,26 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([send gratuitous arp for NAT rules on distributed router]) ovn_start # Create logical switches -ovn-nbctl ls-add ls0 -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls0 +check ovn-nbctl ls-add ls1 # Create distributed router ovn-nbctl create Logical_Router name=lr0 # Add distributed gateway port to distributed router -ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 \ +check ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.1/24 \ -- lrp-set-gateway-chassis lrp0 hv2 -ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ +check ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ type=router options:router-port=lrp0 addresses="router" # Add router port to ls1 -ovn-nbctl lrp-add lr0 lrp1 f0:00:00:00:00:02 10.0.0.1/24 -ovn-nbctl lsp-add ls1 lrp1-rp -- set Logical_Switch_Port lrp1-rp \ +check ovn-nbctl lrp-add lr0 lrp1 f0:00:00:00:00:02 10.0.0.1/24 +check ovn-nbctl lsp-add ls1 lrp1-rp -- set Logical_Switch_Port lrp1-rp \ type=router options:router-port=lrp1 addresses="router" # Add logical ports for NAT rules -ovn-nbctl lsp-add ls1 foo1 \ +check ovn-nbctl lsp-add ls1 foo1 \ -- lsp-set-addresses foo1 "00:00:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add ls1 foo2 \ +check ovn-nbctl lsp-add ls1 foo2 \ -- lsp-set-addresses foo2 "00:00:00:00:00:04 10.0.0.4" # Add nat-addresses option -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" # Add NAT rules AT_CHECK([ovn-nbctl lr-nat-add lr0 snat 192.168.0.1 10.0.0.0/24]) AT_CHECK([ovn-nbctl lr-nat-add lr0 dnat 192.168.0.2 10.0.0.2]) @@ -12583,7 +12583,7 @@ sort packets | cat # Temporarily remove nat-addresses option to avoid race conditions # due to GARP backoff -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="" as hv1 reset_pcap_file snoopvif hv1/snoopvif @@ -12602,7 +12602,7 @@ AT_CHECK([as hv3 ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=p OVN_WAIT_PATCH_PORT_FLOWS(["ln_port"], ["hv3"]) # Re-add nat-addresses option -ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" +check ovn-nbctl lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" garp_1="fffffffffffff0000000000308060001080006040001f00000000003c0a80003000000000000c0a80003" echo $garp_1 > expected_out @@ -12871,18 +12871,18 @@ cat hv3-vif1.expected > expout AT_CHECK([sort hv3-vif1], [0], [expout]) AS_BOX([Test the GARP for the router port ip - 192.168.1.1]) -ovn-nbctl --wait=sb ha-chassis-group-add hagrp1 +check ovn-nbctl --wait=sb ha-chassis-group-add hagrp1 as hv1 reset_pcap_file hv1-vif1 hv1/vif1 as hv2 reset_pcap_file br-ex_n2 hv2/br-ex_n2 as hv4 reset_pcap_file br-ex_n2 hv4/br-ex_n2 -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 hv2 30 -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 hv4 20 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 hv2 30 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 hv4 20 hagrp1_uuid=`ovn-nbctl --bare --columns _uuid find ha_chassis_group name=hagrp1` -ovn-nbctl lrp-del-gateway-chassis alice hv2 -ovn-nbctl --wait=sb set logical_router_port alice ha_chassis_group=$hagrp1_uuid +check ovn-nbctl lrp-del-gateway-chassis alice hv2 +check ovn-nbctl --wait=sb set logical_router_port alice ha_chassis_group=$hagrp1_uuid # When hv2 claims the gw router port cr-alice, it should send out # GARP for 192.168.1.1 and it should be received by foo1 on hv1. @@ -12906,7 +12906,7 @@ AT_CHECK([cat empty], [0], []) AS_BOX([Make hv4 active]) as hv1 reset_pcap_file hv1-vif1 hv1/vif1 as hv4 reset_pcap_file br-ex_n2 hv4/br-ex_n2 -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 hv4 40 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 hv4 40 AS_BOX([Wait till cr-alice is claimed by hv4]) hv4_chassis=$(fetch_column Chassis _uuid name=hv4) @@ -12951,11 +12951,11 @@ ovn_start # Create hypervisor and logical switch lsw0, logical router lr0, attach lsw0 # onto lr0, set Logical_Router_Port.ipv6_ra_configs:address_mode column to # 'slaac' to allow lrp0 send RA for SLAAC mode. -ovn-nbctl ls-add lsw0 -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lrp0 fa:16:3e:00:00:01 fdad:1234:5678::1/64 -ovn-nbctl set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode="slaac" -ovn-nbctl \ +check ovn-nbctl ls-add lsw0 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lrp0 fa:16:3e:00:00:01 fdad:1234:5678::1/64 +check ovn-nbctl set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode="slaac" +check ovn-nbctl \ -- lsp-add lsw0 lsp0 \ -- set Logical_Switch_Port lsp0 type=router \ options:router-port=lrp0 \ @@ -12966,23 +12966,23 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.2 -ovn-nbctl lsp-add lsw0 lp1 -ovn-nbctl lsp-set-addresses lp1 "fa:16:3e:00:00:02 10.0.0.12 fdad:1234:5678:0:f816:3eff:fe:2" -ovn-nbctl lsp-set-port-security lp1 "fa:16:3e:00:00:02 10.0.0.12 fdad:1234:5678:0:f816:3eff:fe:2" +check ovn-nbctl lsp-add lsw0 lp1 +check ovn-nbctl lsp-set-addresses lp1 "fa:16:3e:00:00:02 10.0.0.12 fdad:1234:5678:0:f816:3eff:fe:2" +check ovn-nbctl lsp-set-port-security lp1 "fa:16:3e:00:00:02 10.0.0.12 fdad:1234:5678:0:f816:3eff:fe:2" -ovn-nbctl lsp-add lsw0 lp2 -ovn-nbctl lsp-set-addresses lp2 "fa:16:3e:00:00:03 10.0.0.13 fdad:1234:5678:0:f816:3eff:fe:3" -ovn-nbctl lsp-set-port-security lp2 "fa:16:3e:00:00:03 10.0.0.13 fdad:1234:5678:0:f816:3eff:fe:3" +check ovn-nbctl lsp-add lsw0 lp2 +check ovn-nbctl lsp-set-addresses lp2 "fa:16:3e:00:00:03 10.0.0.13 fdad:1234:5678:0:f816:3eff:fe:3" +check ovn-nbctl lsp-set-port-security lp2 "fa:16:3e:00:00:03 10.0.0.13 fdad:1234:5678:0:f816:3eff:fe:3" -ovn-nbctl lsp-add lsw0 lp3 -ovn-nbctl lsp-set-addresses lp3 "fa:16:3e:00:00:04 10.0.0.14 fdad:1234:5678:0:f816:3eff:fe:4" -ovn-nbctl lsp-set-port-security lp3 "fa:16:3e:00:00:04 10.0.0.14 fdad:1234:5678:0:f816:3eff:fe:4" +check ovn-nbctl lsp-add lsw0 lp3 +check ovn-nbctl lsp-set-addresses lp3 "fa:16:3e:00:00:04 10.0.0.14 fdad:1234:5678:0:f816:3eff:fe:4" +check ovn-nbctl lsp-set-port-security lp3 "fa:16:3e:00:00:04 10.0.0.14 fdad:1234:5678:0:f816:3eff:fe:4" # Add ACL rule for ICMPv6 on lsw0 -ovn-nbctl acl-add lsw0 from-lport 1002 'ip6 && icmp6' allow-related -ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp1" && ip6 && icmp6' allow-related -ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp2" && ip6 && icmp6' allow-related -ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp3" && ip6 && icmp6' allow-related +check ovn-nbctl acl-add lsw0 from-lport 1002 'ip6 && icmp6' allow-related +check ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp1" && ip6 && icmp6' allow-related +check ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp2" && ip6 && icmp6' allow-related +check ovn-nbctl acl-add lsw0 to-lport 1002 'outport == "lp3" && ip6 && icmp6' allow-related ovs-vsctl -- add-port br-int hv1-vif1 -- \ set interface hv1-vif1 external-ids:iface-id=lp1 \ @@ -13114,20 +13114,20 @@ test_ipv6_ra 1 $src_mac $src_lla "$ra" 0 $prefix "" "" "" check_packets 1 # Check with RA with src being "::". -ovn-nbctl --wait=hv lsp-set-port-security lp1 "" +check ovn-nbctl --wait=hv lsp-set-port-security lp1 "" test_ipv6_ra 1 $src_mac "::" "$ra" 0 $prefix "" "" "" check_packets 1 -ovn-nbctl --wait=hv lsp-set-port-security lp1 "fa:16:3e:00:00:02 10.0.0.12 fdad:1234:5678:0:f816:3eff:fe:2" +check ovn-nbctl --wait=hv lsp-set-port-security lp1 "fa:16:3e:00:00:02 10.0.0.12 fdad:1234:5678:0:f816:3eff:fe:2" # Set the MTU to 1500, send_periodic to false, preference to LOW -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:mtu=1500 -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:send_periodic="false" -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:router_preference="LOW" -ovn-nbctl --wait=hv set Logical_Router_port lrp0 ipv6_ra_configs:rdnss=1000::11 -ovn-nbctl --wait=hv set Logical_Router_port lrp0 ipv6_ra_configs:dnssl=aa.bb.cc -ovn-nbctl --wait=hv set Logical_Router_port lrp0 ipv6_ra_configs:route_info=HIGH-1001::11/48,LOW-1002::11/96 +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:mtu=1500 +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:send_periodic="false" +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:router_preference="LOW" +check ovn-nbctl --wait=hv set Logical_Router_port lrp0 ipv6_ra_configs:rdnss=1000::11 +check ovn-nbctl --wait=hv set Logical_Router_port lrp0 ipv6_ra_configs:dnssl=aa.bb.cc +check ovn-nbctl --wait=hv set Logical_Router_port lrp0 ipv6_ra_configs:route_info=HIGH-1001::11/48,LOW-1002::11/96 # Make sure that ovn-controller has installed the corresponding OF Flow. OVS_WAIT_UNTIL([test 1 = `as hv1 ovs-ofctl dump-flows br-int | grep -c "ipv6_dst=ff02::2,nw_ttl=255,icmp_type=133,icmp_code=0"`]) @@ -13143,10 +13143,10 @@ test_ipv6_ra 2 $src_mac $src_lla "$ra" 1500 $prefix "1000::11" "aa.bb.cc" "$rout check_packets 2 # Set the address mode to dhcpv6_stateful, router_preference to HIGH -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode=dhcpv6_stateful -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:router_preference="HIGH" -ovn-nbctl --wait=hv remove Logical_Router_Port lrp0 ipv6_ra_configs rdnss -ovn-nbctl --wait=hv remove Logical_Router_Port lrp0 ipv6_ra_configs route_info +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode=dhcpv6_stateful +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:router_preference="HIGH" +check ovn-nbctl --wait=hv remove Logical_Router_Port lrp0 ipv6_ra_configs rdnss +check ovn-nbctl --wait=hv remove Logical_Router_Port lrp0 ipv6_ra_configs route_info # Make sure that ovn-controller has installed the corresponding OF Flow. OVS_WAIT_UNTIL([test 1 = `as hv1 ovs-ofctl dump-flows br-int | grep -c "ipv6_dst=ff02::2,nw_ttl=255,icmp_type=133,icmp_code=0"`]) @@ -13159,9 +13159,9 @@ test_ipv6_ra 3 $src_mac $src_lla "$ra" 1500 $prefix "" "aa.bb.cc" "" check_packets 3 # Set the address mode to dhcpv6_stateless, reset router preference to default -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode=dhcpv6_stateless -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:router_preference="MEDIUM" -ovn-nbctl --wait=hv remove Logical_Router_Port lrp0 ipv6_ra_configs dnssl +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode=dhcpv6_stateless +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:router_preference="MEDIUM" +check ovn-nbctl --wait=hv remove Logical_Router_Port lrp0 ipv6_ra_configs dnssl # Make sure that ovn-controller has installed the corresponding OF Flow. OVS_WAIT_UNTIL([test 1 = `as hv1 ovs-ofctl dump-flows br-int | grep -c "ipv6_dst=ff02::2,nw_ttl=255,icmp_type=133,icmp_code=0"`]) @@ -13173,7 +13173,7 @@ test_ipv6_ra 1 $src_mac $src_lla "$ra" 1500 $prefix "" "" "" check_packets 1 # Set the address mode to invalid. -ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode=invalid +check ovn-nbctl --wait=hv set Logical_Router_Port lrp0 ipv6_ra_configs:address_mode=invalid # Make sure that ovn-controller has not installed any OF Flow for IPv6 ND RA. OVS_WAIT_UNTIL([test 0 = `as hv1 ovs-ofctl dump-flows br-int | grep -c "ipv6_dst=ff02::2,nw_ttl=255,icmp_type=133,icmp_code=0"`]) @@ -13203,31 +13203,31 @@ ovn_start # R1 connects to 'alice' with a /32 IP address. We use static routes and # nexthop to push traffic to a logical port in switch 'alice' -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add foo -ovn-nbctl ls-add alice +check ovn-nbctl ls-add foo +check ovn-nbctl ls-add alice # Connect foo to R1 -ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ +check ovn-nbctl lrp-add R1 foo 00:00:00:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add foo rp-foo -- set Logical_Switch_Port rp-foo type=router \ options:router-port=foo addresses=\"00:00:00:01:02:03\" # Connect alice to R1. -ovn-nbctl lrp-add R1 alice 00:00:00:01:02:04 172.16.1.1/32 -ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ +check ovn-nbctl lrp-add R1 alice 00:00:00:01:02:04 172.16.1.1/32 +check ovn-nbctl lsp-add alice rp-alice -- set Logical_Switch_Port rp-alice \ type=router options:router-port=alice addresses=\"00:00:00:01:02:04\" # Create logical port foo1 in foo -ovn-nbctl lsp-add foo foo1 \ +check ovn-nbctl lsp-add foo foo1 \ -- lsp-set-addresses foo1 "f0:00:00:01:02:03 192.168.1.2" # Create logical port alice1 in alice -ovn-nbctl lsp-add alice alice1 \ +check ovn-nbctl lsp-add alice alice1 \ -- lsp-set-addresses alice1 "f0:00:00:01:02:04 10.0.0.2" #install default route in R1 to use alice1's IP address as nexthop -ovn-nbctl lr-route-add R1 0.0.0.0/0 10.0.0.2 alice +check ovn-nbctl lr-route-add R1 0.0.0.0/0 10.0.0.2 alice # Create two hypervisor and create OVS ports corresponding to logical ports. net_add n1 @@ -13276,7 +13276,7 @@ packet=${dst_mac}${src_mac}08004500001c0000000040110000${src_ip}${dst_ip}0035111 # mac_bindings table. as hv1 ovs-appctl netdev-dummy/receive hv1-vif1 $packet wait_row_count MAC_Binding 1 ip="10.0.0.2" -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Packet to Expect at 'alice1' src_mac="000000010204" @@ -13296,12 +13296,12 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([2 HVs, 1 lport/HV, localport ports]) ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 # Add localport to the switch -ovn-nbctl lsp-add ls1 lp01 -ovn-nbctl lsp-set-addresses lp01 f0:00:00:00:00:01 -ovn-nbctl lsp-set-type lp01 localport +check ovn-nbctl lsp-add ls1 lp01 +check ovn-nbctl lsp-set-addresses lp01 f0:00:00:00:00:01 +check ovn-nbctl lsp-set-type lp01 localport net_add n1 @@ -13330,7 +13330,7 @@ for i in 1 2; do done wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows OVN_POPULATE_ARP @@ -13634,7 +13634,7 @@ ovn_attach n1 br-phys 192.168.0.1 # enable vlan transparency to disable local arp responder and allow ovn deliver # the request to the other side -ovn-nbctl ls-add ls -- add Logical_Switch ls other_config vlan-passthru=true +check ovn-nbctl ls-add ls -- add Logical_Switch ls other_config vlan-passthru=true check ovn-nbctl lsp-add ls lp check ovn-nbctl lsp-set-addresses lp "00:00:00:00:00:01 10.0.0.1" @@ -13693,8 +13693,8 @@ for i in 1 2; do ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys done -ovn-nbctl ls-add inside -ovn-nbctl ls-add outside +check ovn-nbctl ls-add inside +check ovn-nbctl ls-add outside # create hypervisors with a vif port each to an internal network @@ -13719,13 +13719,13 @@ OVN_POPULATE_ARP ovn-nbctl create Logical_Router name=R1 # Connect inside to R1 -ovn-nbctl lrp-add R1 inside 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add inside rp-inside -- set Logical_Switch_Port rp-inside \ +check ovn-nbctl lrp-add R1 inside 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add inside rp-inside -- set Logical_Switch_Port rp-inside \ type=router options:router-port=inside \ -- lsp-set-addresses rp-inside router # Connect outside to R1 as distributed router gateway port on gw1+gw2 -ovn-nbctl lrp-add R1 outside 00:00:02:01:02:04 192.168.0.101/24 +check ovn-nbctl lrp-add R1 outside 00:00:02:01:02:04 192.168.0.101/24 ovn-nbctl --id=@gc0 create Gateway_Chassis \ name=outside_gw1 chassis_name=gw1 priority=20 -- \ @@ -13733,15 +13733,15 @@ ovn-nbctl --id=@gc0 create Gateway_Chassis \ name=outside_gw2 chassis_name=gw2 priority=10 -- \ set Logical_Router_Port outside 'gateway_chassis=[@gc0,@gc1]' -ovn-nbctl lsp-add outside rp-outside -- set Logical_Switch_Port rp-outside \ +check ovn-nbctl lsp-add outside rp-outside -- set Logical_Switch_Port rp-outside \ type=router options:router-port=outside \ -- lsp-set-addresses rp-outside router # Create localnet port in outside -ovn-nbctl lsp-add outside ln-outside -ovn-nbctl lsp-set-addresses ln-outside unknown -ovn-nbctl lsp-set-type ln-outside localnet -ovn-nbctl lsp-set-options ln-outside network_name=phys +check ovn-nbctl lsp-add outside ln-outside +check ovn-nbctl lsp-set-addresses ln-outside unknown +check ovn-nbctl lsp-set-type ln-outside localnet +check ovn-nbctl lsp-set-options ln-outside network_name=phys # Allow some time for ovn-northd and ovn-controller to catch up. wait_for_ports_up @@ -13961,7 +13961,7 @@ grep "dl_dst=00:00:02:01:02:04" | wc -l], [0], [[0 # check that the chassis redirect port has been reclaimed by the gw1 chassis wait_row_count Port_Binding 1 logical_port=cr-outside chassis=$gw1_chassis -ovn-nbctl --wait=hv set NB_Global . options:"bfd-min-rx"=2000 +check ovn-nbctl --wait=hv set NB_Global . options:"bfd-min-rx"=2000 as gw2 for chassis in gw1 hv1 hv2; do echo "checking gw2 -> $chassis" @@ -13970,7 +13970,7 @@ for chassis in gw1 hv1 hv2; do test "$bfd_cfg" = "check_tnl_key=true enable=true min_rx=2000" ]) done -ovn-nbctl --wait=hv set NB_Global . options:"bfd-min-tx"=1500 +check ovn-nbctl --wait=hv set NB_Global . options:"bfd-min-tx"=1500 for chassis in gw1 hv1 hv2; do echo "checking gw2 -> $chassis" OVS_WAIT_UNTIL([ @@ -13978,8 +13978,8 @@ for chassis in gw1 hv1 hv2; do test "$bfd_cfg" = "check_tnl_key=true enable=true min_rx=2000 min_tx=1500" ]) done -ovn-nbctl remove NB_Global . options "bfd-min-rx" -ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 +check ovn-nbctl remove NB_Global . options "bfd-min-rx" +check ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 for chassis in gw1 hv1 hv2; do echo "checking gw2 -> $chassis" OVS_WAIT_UNTIL([ @@ -14004,24 +14004,24 @@ as hv2 ovs-vsctl del-port hv2-vif1 wait_column '' HA_Chassis_Group ref_chassis # Delete the Gateway_Chassis for lrp - outside -ovn-nbctl clear Logical_Router_Port outside gateway_chassis +check ovn-nbctl clear Logical_Router_Port outside gateway_chassis # There shoud be no ha_chassis_group rows in SB DB. wait_row_count HA_Chassis_Group 0 wait_row_count HA_Chassis 0 -ovn-nbctl remove NB_Global . options "bfd-min-rx" -ovn-nbctl remove NB_Global . options "bfd-min-tx" -ovn-nbctl remove NB_Global . options "bfd-mult" +check ovn-nbctl remove NB_Global . options "bfd-min-rx" +check ovn-nbctl remove NB_Global . options "bfd-min-tx" +check ovn-nbctl remove NB_Global . options "bfd-mult" # Now test with HA chassis group instead of Gateway chassis in NB DB -ovn-nbctl --wait=sb ha-chassis-group-add hagrp1 +check ovn-nbctl --wait=sb ha-chassis-group-add hagrp1 ovn-nbctl list ha_chassis_group ovn-nbctl --bare --columns _uuid find ha_chassis_group name=hagrp1 hagrp1_uuid=`ovn-nbctl --bare --columns _uuid find ha_chassis_group name=hagrp1` -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 gw1 30 -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 gw2 20 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 gw1 30 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 gw2 20 # ovn-northd should not create HA chassis group and HA chassis rows # unless the HA chassis group in OVN NB DB is associated to @@ -14029,7 +14029,7 @@ ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 gw2 20 wait_row_count HA_Chassis 0 # Associate hagrp1 to outside logical router port -ovn-nbctl set Logical_Router_Port outside ha_chassis_group=$hagrp1_uuid +check ovn-nbctl set Logical_Router_Port outside ha_chassis_group=$hagrp1_uuid wait_row_count HA_Chassis_Group 1 wait_row_count HA_Chassis 2 @@ -14088,7 +14088,7 @@ exp_ref_ch_list="$hv1_ch_uuid $hv2_ch_uuid" wait_column "$exp_ref_ch_list" HA_Chassis_Group ref_chassis # Increase the priority of gw2 -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 gw2 40 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 gw2 40 OVS_WAIT_FOR_OUTPUT([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_REMOTE_OUTPUT | \ grep active_backup | grep members:$hv1_gw2_ofport,$hv1_gw1_ofport \ @@ -14173,10 +14173,10 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD([ AT_SETUP([send gratuitous ARP for NAT rules on HA distributed router]) ovn_start -ovn-nbctl ls-add ls0 -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls0 +check ovn-nbctl ls-add ls1 ovn-nbctl create Logical_Router name=lr0 -ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.100/24 +check ovn-nbctl lrp-add lr0 lrp0 f0:00:00:00:00:01 192.168.0.100/24 ovn-nbctl --id=@gc0 create Gateway_Chassis \ name=outside_gw1 chassis_name=hv2 priority=10 -- \ @@ -14184,10 +14184,10 @@ ovn-nbctl --id=@gc0 create Gateway_Chassis \ name=outside_gw2 chassis_name=hv3 priority=1 -- \ set Logical_Router_Port lrp0 'gateway_chassis=[@gc0,@gc1]' -ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ +check ovn-nbctl lsp-add ls0 lrp0-rp -- set Logical_Switch_Port lrp0-rp \ type=router options:router-port=lrp0 addresses="router" -ovn-nbctl lrp-add lr0 lrp1 f0:00:00:00:00:02 10.0.0.1/24 -ovn-nbctl lsp-add ls1 lrp1-rp -- set Logical_Switch_Port lrp1-rp \ +check ovn-nbctl lrp-add lr0 lrp1 f0:00:00:00:00:02 10.0.0.1/24 +check ovn-nbctl lsp-add ls1 lrp1-rp -- set Logical_Switch_Port lrp1-rp \ type=router options:router-port=lrp1 addresses="router" # Add NAT rules @@ -14232,7 +14232,7 @@ as hv2 reset_pcap_file br-phys_n1 hv2/br-phys_n1 as hv3 reset_pcap_file br-phys_n1 hv3/br-phys_n1 as hv1 reset_pcap_file snoopvif hv1/snoopvif # add nat-addresses option -ovn-nbctl --wait=hv lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" +check ovn-nbctl --wait=hv lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" only_broadcast_from_lrp1() { grep "fffffffffffff00000000001" @@ -14285,7 +14285,7 @@ grep "actions=mod_vlan_vid:2014" | wc -l` ]) # update nat-addresses option -ovn-nbctl --wait=hv clear logical_switch_port lrp0-rp options +check ovn-nbctl --wait=hv clear logical_switch_port lrp0-rp options #Wait until the Port_Binding.nat_addresses is cleared. OVS_WAIT_UNTIL([test 0 = `ovn-sbctl --bare --columns nat_addresses find port_binding \ @@ -14295,7 +14295,7 @@ as hv2 reset_pcap_file br-phys_n1 hv2/br-phys_n1 as hv3 reset_pcap_file br-phys_n1 hv3/br-phys_n1 as hv1 reset_pcap_file snoopvif hv1/snoopvif -ovn-nbctl --wait=hv lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" +check ovn-nbctl --wait=hv lsp-set-options lrp0-rp router-port=lrp0 nat-addresses="router" #Wait until the Port_Binding.nat_addresses is set. OVS_WAIT_UNTIL([test 1 = `ovn-sbctl --bare --columns nat_addresses find port_binding \ @@ -14332,8 +14332,8 @@ for i in 1 2; do ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys done -ovn-nbctl ls-add inside -ovn-nbctl ls-add outside +check ovn-nbctl ls-add inside +check ovn-nbctl ls-add outside # create one hypervisors with a vif port the internal network sim_add hv1 @@ -14346,7 +14346,7 @@ ovs-vsctl -- add-port br-int hv1-vif1 -- \ options:rxq_pcap=hv1/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl lsp-add inside inside1 \ +check ovn-nbctl lsp-add inside inside1 \ -- lsp-set-addresses inside1 "f0:00:00:01:22:01 192.168.1.101" @@ -14355,13 +14355,13 @@ OVN_POPULATE_ARP ovn-nbctl create Logical_Router name=R1 # Connect inside to R1 -ovn-nbctl lrp-add R1 inside 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add inside rp-inside -- set Logical_Switch_Port rp-inside \ +check ovn-nbctl lrp-add R1 inside 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add inside rp-inside -- set Logical_Switch_Port rp-inside \ type=router options:router-port=inside \ -- lsp-set-addresses rp-inside router # Connect outside to R1 as distributed router gateway port on gw1+gw2 -ovn-nbctl lrp-add R1 outside 00:00:02:01:02:04 192.168.0.101/24 +check ovn-nbctl lrp-add R1 outside 00:00:02:01:02:04 192.168.0.101/24 ovn-nbctl --id=@gc0 create Gateway_Chassis \ name=outside_gw1 chassis_name=gw1 priority=20 -- \ @@ -14369,15 +14369,15 @@ ovn-nbctl --id=@gc0 create Gateway_Chassis \ name=outside_gw2 chassis_name=gw2 priority=10 -- \ set Logical_Router_Port outside 'gateway_chassis=[@gc0,@gc1]' -ovn-nbctl lsp-add outside rp-outside -- set Logical_Switch_Port rp-outside \ +check ovn-nbctl lsp-add outside rp-outside -- set Logical_Switch_Port rp-outside \ type=router options:router-port=outside \ -- lsp-set-addresses rp-outside router # Create localnet port in outside -ovn-nbctl lsp-add outside ln-outside -ovn-nbctl lsp-set-addresses ln-outside unknown -ovn-nbctl lsp-set-type ln-outside localnet -ovn-nbctl lsp-set-options ln-outside network_name=phys +check ovn-nbctl lsp-add outside ln-outside +check ovn-nbctl lsp-set-addresses ln-outside unknown +check ovn-nbctl lsp-set-type ln-outside localnet +check ovn-nbctl lsp-set-options ln-outside network_name=phys # Allow some time for ovn-northd and ovn-controller to catch up. wait_for_ports_up @@ -14546,29 +14546,29 @@ AT_SETUP([IPv6 Neighbor Solicitation for unknown MAC]) AT_KEYWORDS([ovn-nd_ns for unknown mac]) ovn_start -ovn-nbctl ls-add sw0_ip6 -ovn-nbctl lsp-add sw0_ip6 sw0_ip6-port1 -ovn-nbctl lsp-set-addresses sw0_ip6-port1 \ +check ovn-nbctl ls-add sw0_ip6 +check ovn-nbctl lsp-add sw0_ip6 sw0_ip6-port1 +check ovn-nbctl lsp-set-addresses sw0_ip6-port1 \ "50:64:00:00:00:02 aef0::5264:00ff:fe00:0002" -ovn-nbctl lsp-set-port-security sw0_ip6-port1 \ +check ovn-nbctl lsp-set-port-security sw0_ip6-port1 \ "50:64:00:00:00:02 aef0::5264:00ff:fe00:0002" -ovn-nbctl lr-add lr0_ip6 -ovn-nbctl lrp-add lr0_ip6 lrp0_ip6 00:00:00:00:af:01 aef0:0:0:0:0:0:0:0/64 -ovn-nbctl lsp-add sw0_ip6 lrp0_ip6-attachment -ovn-nbctl lsp-set-type lrp0_ip6-attachment router -ovn-nbctl lsp-set-addresses lrp0_ip6-attachment router -ovn-nbctl lsp-set-options lrp0_ip6-attachment router-port=lrp0_ip6 -ovn-nbctl set logical_router_port lrp0_ip6 ipv6_ra_configs:address_mode=slaac - -ovn-nbctl ls-add public -ovn-nbctl lsp-add public ln-public -ovn-nbctl lsp-set-addresses ln-public unknown -ovn-nbctl lsp-set-type ln-public localnet -ovn-nbctl lsp-set-options ln-public network_name=phys - -ovn-nbctl lrp-add lr0_ip6 ip6_public 00:00:02:01:02:04 \ +check ovn-nbctl lr-add lr0_ip6 +check ovn-nbctl lrp-add lr0_ip6 lrp0_ip6 00:00:00:00:af:01 aef0:0:0:0:0:0:0:0/64 +check ovn-nbctl lsp-add sw0_ip6 lrp0_ip6-attachment +check ovn-nbctl lsp-set-type lrp0_ip6-attachment router +check ovn-nbctl lsp-set-addresses lrp0_ip6-attachment router +check ovn-nbctl lsp-set-options lrp0_ip6-attachment router-port=lrp0_ip6 +check ovn-nbctl set logical_router_port lrp0_ip6 ipv6_ra_configs:address_mode=slaac + +check ovn-nbctl ls-add public +check ovn-nbctl lsp-add public ln-public +check ovn-nbctl lsp-set-addresses ln-public unknown +check ovn-nbctl lsp-set-type ln-public localnet +check ovn-nbctl lsp-set-options ln-public network_name=phys + +check ovn-nbctl lrp-add lr0_ip6 ip6_public 00:00:02:01:02:04 \ 2001:db8:1:0:200:02ff:fe01:0204/64 \ -- lrp-set-gateway-chassis ip6_public hv1 @@ -14577,26 +14577,26 @@ ovn-nbctl -- --id=@lrt create Logical_Router_Static_Route \ ip_prefix="\:\:/0" nexthop="2001\:db8\:1\:0\:200\:02ff\:fe01\:1305" \ -- add Logical_Router lr0_ip6 static_routes @lrt -ovn-nbctl lsp-add public rp-ip6_public -- set Logical_Switch_Port \ +check ovn-nbctl lsp-add public rp-ip6_public -- set Logical_Switch_Port \ rp-ip6_public type=router options:router-port=ip6_public \ -- lsp-set-addresses rp-ip6_public router # Add a second router connected to "public" and make sure the NS packets # from the first router are not looped on the pysical network and # don't cross routing domains. -ovn-nbctl ls-add sw1_ip6 -ovn-nbctl lsp-add sw1_ip6 sw1_ip6-port1 -ovn-nbctl lsp-set-addresses sw1_ip6-port1 \ +check ovn-nbctl ls-add sw1_ip6 +check ovn-nbctl lsp-add sw1_ip6 sw1_ip6-port1 +check ovn-nbctl lsp-set-addresses sw1_ip6-port1 \ "50:64:00:00:01:02 aef1::5264:00ff:fe00:0002" -ovn-nbctl lr-add lr1_ip6 -ovn-nbctl lrp-add lr1_ip6 00:00:00:01:af:01 aef1:0:0:0:0:0:0:0/64 -ovn-nbctl lsp-add sw1_ip6 lrp1_ip6-attachment -ovn-nbctl lsp-set-type lrp1_ip6-attachment router -ovn-nbctl lsp-set-addresses lrp1_ip6-attachment router -ovn-nbctl lsp-set-options lrp1_ip6-attachment router-port=lrp1_ip6 +check ovn-nbctl lr-add lr1_ip6 +check ovn-nbctl lrp-add lr1_ip6 lrp1_ip6 00:00:00:01:af:01 aef1:0:0:0:0:0:0:0/64 +check ovn-nbctl lsp-add sw1_ip6 lrp1_ip6-attachment +check ovn-nbctl lsp-set-type lrp1_ip6-attachment router +check ovn-nbctl lsp-set-addresses lrp1_ip6-attachment router +check ovn-nbctl lsp-set-options lrp1_ip6-attachment router-port=lrp1_ip6 -ovn-nbctl lrp-add lr1_ip6 ip6_public_1 00:01:02:01:02:04 \ +check ovn-nbctl lrp-add lr1_ip6 ip6_public_1 00:01:02:01:02:04 \ 2002:db8:1:0:200:02ff:fe01:0204/64 \ -- lrp-set-gateway-chassis ip6_public_1 hv2 @@ -14605,7 +14605,7 @@ ovn-nbctl -- --id=@lrt create Logical_Router_Static_Route \ ip_prefix="\:\:/0" nexthop="2002\:db8\:1\:0\:200\:02ff\:fe01\:1305" \ -- add Logical_Router lr1_ip6 static_routes @lrt -ovn-nbctl lsp-add public rp-ip6_public_1 -- set Logical_Switch_Port \ +check ovn-nbctl lsp-add public rp-ip6_public_1 -- set Logical_Switch_Port \ rp-ip6_public_1 type=router options:router-port=ip6_public_1 \ -- lsp-set-addresses rp-ip6_public_1 router @@ -14634,7 +14634,7 @@ ovs-vsctl -- add-port br-int hv2-vif1 -- \ ofport-request=1 ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync wait_for_ports_up ovn-sbctl dump-flows > sbflows @@ -15212,7 +15212,7 @@ OVS_WAIT_UNTIL([test `as hv2 ovs-vsctl get Interface migrator external_ids:ovn-i # Still, this does not guarantee that all flows are installed on hv3: hv3 (might) still need to receive and handle # additional_chassis for migrator port -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # check that... # unicast from First arrives to hv1:Migrator @@ -15301,7 +15301,7 @@ wait_column "" Port_Binding requested_additional_chassis logical_port=migrator OVS_WAIT_UNTIL([test `as hv2 ovs-vsctl get Interface migrator external_ids:ovn-installed` = '"true"']) # Give time for hv3 to handle the change of Port_Binding for migrator port -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # check that... # unicast from Third doesn't arrive to hv1:Migrator @@ -16474,8 +16474,8 @@ ovn_start net_add n1 -ovn-nbctl ls-add ls0 -ovn-nbctl lsp-add ls0 lsp0 +check ovn-nbctl ls-add ls0 +check ovn-nbctl lsp-add ls0 lsp0 # create two hypervisors, each with one vif port sim_add hv1 @@ -16491,7 +16491,7 @@ ovn_attach n1 br-phys 192.168.0.12 ovs-vsctl -- add-port br-int hv2-vif0 # Allow only chassis hv1 to bind logical port lsp0. -ovn-nbctl lsp-set-options lsp0 requested-chassis=hv1 +check ovn-nbctl lsp-set-options lsp0 requested-chassis=hv1 # Allow some time for ovn-northd and ovn-controller to catch up. check ovn-nbctl --wait=hv sync @@ -16541,7 +16541,7 @@ AT_CHECK([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_LOG_TO_PHY | grep act # the requested chassis for lsp0 is changed from hv1 to hv2. echo "verifying that lsp0 binding moves when requested-chassis is changed" -ovn-nbctl lsp-set-options lsp0 requested-chassis=hv2 +check ovn-nbctl lsp-set-options lsp0 requested-chassis=hv2 # We might see multiple "Releasing lport ...", when sb is read only OVS_WAIT_UNTIL([test 1 -le $(grep -c "Releasing lport lsp0" hv1/ovn-controller.log)]) @@ -16564,10 +16564,10 @@ AT_SETUP([tug-of-war between two chassis for the same port]) TAG_UNSTABLE ovn_start -ovn-nbctl ls-add ls0 -ovn-nbctl lsp-add ls0 lsp0 -ovn-nbctl lsp-add ls0 lsp1 -ovn-nbctl lsp-add ls0 lsp2 +check ovn-nbctl ls-add ls0 +check ovn-nbctl lsp-add ls0 lsp0 +check ovn-nbctl lsp-add ls0 lsp1 +check ovn-nbctl lsp-add ls0 lsp2 check ovn-nbctl lsp-add ls0 lsp-cont1 lsp0 1 @@ -16615,8 +16615,8 @@ AT_SETUP([options:requested-chassis with hostname]) ovn_start -ovn-nbctl ls-add ls0 -ovn-nbctl lsp-add ls0 lsp0 +check ovn-nbctl ls-add ls0 +check ovn-nbctl lsp-add ls0 lsp0 net_add n1 sim_add hv1 @@ -16681,23 +16681,23 @@ as hv2 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.3 -ovn-nbctl lr-add ro -ovn-nbctl lrp-add ro ro-sw 00:00:00:00:00:01 aef0:0:0:0:0:0:0:1/64 +check ovn-nbctl lr-add ro +check ovn-nbctl lrp-add ro ro-sw 00:00:00:00:00:01 aef0:0:0:0:0:0:0:1/64 -ovn-nbctl ls-add sw -ovn-nbctl lsp-add sw sw-ro -ovn-nbctl lsp-set-type sw-ro router -ovn-nbctl lsp-set-options sw-ro router-port=ro-sw -ovn-nbctl lsp-set-addresses sw-ro 00:00:00:00:00:01 -ovn-nbctl lsp-add sw sw-p1 -ovn-nbctl lsp-set-addresses sw-p1 "00:00:00:00:00:02 aef0::200:ff:fe00:2" -ovn-nbctl lsp-add sw sw-p2 -ovn-nbctl lsp-set-addresses sw-p2 "00:00:00:00:00:03 aef0::200:ff:fe00:3" +check ovn-nbctl ls-add sw +check ovn-nbctl lsp-add sw sw-ro +check ovn-nbctl lsp-set-type sw-ro router +check ovn-nbctl lsp-set-options sw-ro router-port=ro-sw +check ovn-nbctl lsp-set-addresses sw-ro 00:00:00:00:00:01 +check ovn-nbctl lsp-add sw sw-p1 +check ovn-nbctl lsp-set-addresses sw-p1 "00:00:00:00:00:02 aef0::200:ff:fe00:2" +check ovn-nbctl lsp-add sw sw-p2 +check ovn-nbctl lsp-set-addresses sw-p2 "00:00:00:00:00:03 aef0::200:ff:fe00:3" -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:send_periodic=true -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=slaac -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=4 -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=3 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:send_periodic=true +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=slaac +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=4 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=3 for i in 1 2 ; do as hv$i @@ -16792,38 +16792,38 @@ echo "Baseline test with no MTU" ra_test 0 00 0 0 0 c0 40 aef00000000000000000000000000000 echo "Now make sure an MTU option makes it" -ovn-nbctl --wait=hv set Logical_Router_Port ro-sw ipv6_ra_configs:mtu=1500 +check ovn-nbctl --wait=hv set Logical_Router_Port ro-sw ipv6_ra_configs:mtu=1500 ra_test 000005dc 00 0 0 0 c0 40 aef00000000000000000000000000000 echo "Now test for multiple network prefixes" -ovn-nbctl --wait=hv set Logical_Router_port ro-sw networks='aef0\:\:1/64 fd0f\:\:1/48' +check ovn-nbctl --wait=hv set Logical_Router_port ro-sw networks='aef0\:\:1/64 fd0f\:\:1/48' ra_test 000005dc 00 0 0 0 c0 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 echo "Test PRF for default gw" -ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:router_preference="LOW" +check ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:router_preference="LOW" ra_test 000005dc 18 0 0 0 c0 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 echo "Now test for RDNSS" -ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:rdnss='aef0::11' +check ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:rdnss='aef0::11' dns_addr=aef00000000000000000000000000011 ra_test 000005dc 18 $dns_addr 0 0 c0 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 echo "Now test for DNSSL" -ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:dnssl="aa.bb.cc" -ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:router_preference="HIGH" +check ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:dnssl="aa.bb.cc" +check ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:router_preference="HIGH" dnssl=02616102626202636300000000000000 ra_test 000005dc 08 $dns_addr $dnssl 0 c0 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 echo "Now test Route Info option" -ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:route_info="HIGH-aef1::11/48,LOW-aef2::11/96" +check ovn-nbctl --wait=hv set Logical_Router_port ro-sw ipv6_ra_configs:route_info="HIGH-aef1::11/48,LOW-aef2::11/96" route_info=18023008ffffffffaef100000000000018036018ffffffffaef20000000000000000000000000000 ra_test 000005dc 08 $dns_addr $dnssl $route_info c0 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 echo "Test a different address mode now" -ovn-nbctl --wait=hv set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=dhcpv6_stateful +check ovn-nbctl --wait=hv set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=dhcpv6_stateful ra_test 000005dc 88 $dns_addr $dnssl $route_info 80 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 echo "And the other address mode" -ovn-nbctl --wait=hv set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=dhcpv6_stateless +check ovn-nbctl --wait=hv set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=dhcpv6_stateless ra_test 000005dc 48 $dns_addr $dnssl $route_info c0 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 OVN_CLEANUP([hv1],[hv2]) @@ -17294,7 +17294,7 @@ ovs-vsctl -- add-port br-int hv2-vif1 -- \ options:rxq_pcap=hv2/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 check ovn-nbctl lsp-add sw0 sw0-p1 check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3 1000::3" @@ -17309,7 +17309,7 @@ check ovn-nbctl acl-add sw0 to-lport 1002 ip reject OVN_POPULATE_ARP wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers acl_eval=$(ovn-debug lflow-stage-to-oftable ls_out_acl_eval) @@ -17365,33 +17365,33 @@ ovn_start # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it, # and has switch ls2 (172.16.1.0/24) connected to it. -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ +check ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ type=router options:router-port=ls1 addresses=\"00:00:00:01:02:f1\" # Connect ls2 to R1 -ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ +check ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ type=router options:router-port=ls2 addresses=\"00:00:00:01:02:f2\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "00:00:00:01:02:03 192.168.1.2" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "00:00:00:01:02:04 172.16.1.2" -ovn-nbctl lsp-add ls1 ln-public -ovn-nbctl lsp-set-type ln-public localnet -ovn-nbctl lsp-set-addresses ln-public unknown -ovn-nbctl lsp-set-options ln-public network_name=public +check ovn-nbctl lsp-add ls1 ln-public +check ovn-nbctl lsp-set-type ln-public localnet +check ovn-nbctl lsp-set-addresses ln-public unknown +check ovn-nbctl lsp-set-options ln-public network_name=public # Create one hypervisor and create OVS ports corresponding to logical ports. net_add n1 @@ -17619,11 +17619,11 @@ AT_SETUP([Mirror - local]) AT_KEYWORDS([Mirror]) ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "00:00:00:01:01:02 10.0.0.2" -ovn-nbctl lsp-add ls1 ls1-lp2 \ +check ovn-nbctl lsp-add ls1 ls1-lp2 \ -- lsp-set-addresses ls1-lp2 "00:00:00:01:01:03 10.0.0.3" net_add n1 @@ -17725,41 +17725,41 @@ ovn_start # One LR - R1 has switch ls1 (191.168.1.0/24) connected to it, # and has switch ls2 (172.16.1.0/24) connected to it. -ovn-nbctl lr-add R1 +check ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ +check ovn-nbctl lrp-add R1 ls1 00:00:00:01:02:f1 192.168.1.1/24 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ type=router options:router-port=ls1 addresses=\"00:00:00:01:02:f1\" # Connect ls2 to R1 -ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ +check ovn-nbctl lrp-add R1 ls2 00:00:00:01:02:f2 172.16.1.1/24 +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ type=router options:router-port=ls2 addresses=\"00:00:00:01:02:f2\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "00:00:00:01:02:03 192.168.1.2" # Create logical port ls1-lp2 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp2 \ +check ovn-nbctl lsp-add ls1 ls1-lp2 \ -- lsp-set-addresses ls1-lp2 "00:00:00:01:03:03 192.168.1.3" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "00:00:00:01:02:04 172.16.1.2" # Create logical port ls2-lp2 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp2 \ +check ovn-nbctl lsp-add ls2 ls2-lp2 \ -- lsp-set-addresses ls2-lp2 "00:00:00:01:03:04 172.16.1.3" -ovn-nbctl lsp-add ls1 ln-public -ovn-nbctl lsp-set-type ln-public localnet -ovn-nbctl lsp-set-addresses ln-public unknown -ovn-nbctl lsp-set-options ln-public network_name=public +check ovn-nbctl lsp-add ls1 ln-public +check ovn-nbctl lsp-set-type ln-public localnet +check ovn-nbctl lsp-set-addresses ln-public unknown +check ovn-nbctl lsp-set-options ln-public network_name=public # Create 2 hypervisors and create OVS ports corresponding to logical ports for hv1. net_add n1 @@ -18061,7 +18061,7 @@ for i in 1 2 3; do done done -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 for i in 1 2 3; do for j in 1 2 3; do ovn-nbctl lrp-add lr0 lrp$i$j 00:00:00:00:ff:$i$j 192.168.$i$j.254/24 @@ -18078,8 +18078,8 @@ ovn-nbctl create Port_Group name=pg2 ports="$pg2_ports" # create ACLs on ls1 and ls2 (where ports of pg1 reside) to drop all traffic # from pg2 to pg1 -ovn-nbctl acl-add ls1 to-lport 1001 'outport == @pg1 && ip4.src == $pg2_ip4' drop -ovn-nbctl acl-add ls2 to-lport 1001 'outport == @pg1 && ip4.src == $pg2_ip4' drop +check ovn-nbctl acl-add ls1 to-lport 1001 'outport == @pg1 && ip4.src == $pg2_ip4' drop +check ovn-nbctl acl-add ls2 to-lport 1001 'outport == @pg1 && ip4.src == $pg2_ip4' drop # Physical network: # @@ -18281,7 +18281,7 @@ for i in 1 2 3; do done done -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 for i in 1 2 3; do for j in 1 2 3; do ovn-nbctl lrp-add lr0 lrp$i$j 00:00:00:00:ff:$i$j 192.168.$i$j.254/24 @@ -18297,8 +18297,8 @@ ovn-nbctl create Port_Group name=pg1 ports="$pg1_ports" ovn-nbctl create Port_Group name=pg2 ports="$pg2_ports" # create ACLs on pg1 to drop traffic from pg2 to pg1 -ovn-nbctl acl-add pg1 to-lport 1001 'outport == @pg1' drop -ovn-nbctl --type=port-group acl-add pg1 to-lport 1002 \ +check ovn-nbctl acl-add pg1 to-lport 1001 'outport == @pg1' drop +check ovn-nbctl --type=port-group acl-add pg1 to-lport 1002 \ 'outport == @pg1 && ip4.src == $pg2_ip4' allow-related # Physical network: @@ -18510,15 +18510,15 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([Address Set generation from Port Groups (static addressing)]) ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 lp1 -ovn-nbctl lsp-add ls1 lp2 -ovn-nbctl lsp-add ls1 lp3 +check ovn-nbctl lsp-add ls1 lp1 +check ovn-nbctl lsp-add ls1 lp2 +check ovn-nbctl lsp-add ls1 lp3 -ovn-nbctl lsp-set-addresses lp1 "02:00:00:00:00:01 10.0.0.1 2001:db8::1" -ovn-nbctl lsp-set-addresses lp2 "02:00:00:00:00:02 10.0.0.2 2001:db8::2" -ovn-nbctl lsp-set-addresses lp3 "02:00:00:00:00:03 10.0.0.3 2001:db8::3" +check ovn-nbctl lsp-set-addresses lp1 "02:00:00:00:00:01 10.0.0.1 2001:db8::1" +check ovn-nbctl lsp-set-addresses lp2 "02:00:00:00:00:02 10.0.0.2 2001:db8::2" +check ovn-nbctl lsp-set-addresses lp3 "02:00:00:00:00:03 10.0.0.3 2001:db8::3" ovn-nbctl create Port_Group name=pg1 ovn-nbctl create Port_Group name=pg2 @@ -18528,7 +18528,7 @@ ovn-nbctl --id=@p get Logical_Switch_Port lp2 -- add Port_Group pg1 ports @p ovn-nbctl --id=@p get Logical_Switch_Port lp2 -- add Port_Group pg2 ports @p ovn-nbctl --id=@p get Logical_Switch_Port lp3 -- add Port_Group pg2 ports @p -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync dnl Check if port group address sets were populated with ports' addresses check_column '10.0.0.1 10.0.0.2' Address_Set addresses name=pg1_ip4 @@ -18536,7 +18536,7 @@ check_column '10.0.0.2 10.0.0.3' Address_Set addresses name=pg2_ip4 check_column '2001:db8::1 2001:db8::2' Address_Set addresses name=pg1_ip6 check_column '2001:db8::2 2001:db8::3' Address_Set addresses name=pg2_ip6 -ovn-nbctl --wait=sb lsp-set-addresses lp1 \ +check ovn-nbctl --wait=sb lsp-set-addresses lp1 \ "02:00:00:00:00:01 10.0.0.11 2001:db8::11" dnl Check if updated address got propagated to the port group address sets @@ -18550,26 +18550,26 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([Address Set generation from Port Groups (dynamic addressing)]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl ls-add ls3 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls3 -ovn-nbctl set Logical_Switch ls1 \ +check ovn-nbctl set Logical_Switch ls1 \ other_config:subnet=10.1.0.0/24 other_config:ipv6_prefix="2001:db8:1::" -ovn-nbctl set Logical_Switch ls2 \ +check ovn-nbctl set Logical_Switch ls2 \ other_config:subnet=10.2.0.0/24 other_config:ipv6_prefix="2001:db8:2::" # A prefix length may be specified, but only if it is /64. -ovn-nbctl set Logical_Switch ls3 \ +check ovn-nbctl set Logical_Switch ls3 \ other_config:subnet=10.3.0.0/24 other_config:ipv6_prefix="2001:db8:3::/64" -ovn-nbctl lsp-add ls1 lp1 -ovn-nbctl lsp-add ls2 lp2 -ovn-nbctl lsp-add ls3 lp3 +check ovn-nbctl lsp-add ls1 lp1 +check ovn-nbctl lsp-add ls2 lp2 +check ovn-nbctl lsp-add ls3 lp3 -ovn-nbctl lsp-set-addresses lp1 "02:00:00:00:00:01 dynamic" -ovn-nbctl lsp-set-addresses lp2 "02:00:00:00:00:02 dynamic" -ovn-nbctl lsp-set-addresses lp3 "02:00:00:00:00:03 dynamic" +check ovn-nbctl lsp-set-addresses lp1 "02:00:00:00:00:01 dynamic" +check ovn-nbctl lsp-set-addresses lp2 "02:00:00:00:00:02 dynamic" +check ovn-nbctl lsp-set-addresses lp3 "02:00:00:00:00:03 dynamic" ovn-nbctl create Port_Group name=pg1 ovn-nbctl create Port_Group name=pg2 @@ -18579,7 +18579,7 @@ ovn-nbctl --id=@p get Logical_Switch_Port lp2 -- add Port_Group pg1 ports @p ovn-nbctl --id=@p get Logical_Switch_Port lp2 -- add Port_Group pg2 ports @p ovn-nbctl --id=@p get Logical_Switch_Port lp3 -- add Port_Group pg2 ports @p -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync dnl Check if port group address sets were populated with ports' addresses AT_CHECK( @@ -18595,7 +18595,7 @@ AT_CHECK( ]) dnl Check if updated address got propagated to the port group address sets -ovn-nbctl --wait=sb set Logical_Switch ls1 \ +check ovn-nbctl --wait=sb set Logical_Switch ls1 \ other_config:subnet=10.11.0.0/24 other_config:ipv6_prefix="2001:db8:11::" AT_CHECK( [ovn-sbctl get Address_Set pg1_ip4 addresses \ @@ -18616,17 +18616,17 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([ACL conjunction]) ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "f0:00:00:00:00:01 10.0.0.4" -ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4" +check ovn-nbctl lsp-set-port-security ls1-lp1 "f0:00:00:00:00:01 10.0.0.4" -ovn-nbctl lsp-add ls1 ls1-lp2 \ +check ovn-nbctl lsp-add ls1 ls1-lp2 \ -- lsp-set-addresses ls1-lp2 "f0:00:00:00:00:02 10.0.0.6" -ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 10.0.0.6" +check ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 10.0.0.6" net_add n1 sim_add hv1 @@ -18650,7 +18650,7 @@ ovn-nbctl create Address_Set name=set1 \ addresses=\"10.0.0.4\",\"10.0.0.5\",\"10.0.0.6\" ovn-nbctl create Address_Set name=set2 \ addresses=\"10.0.0.7\",\"10.0.0.8\",\"10.0.0.9\" -ovn-nbctl acl-add ls1 to-lport 1001 \ +check ovn-nbctl acl-add ls1 to-lport 1001 \ 'ip4 && ip4.src == $set1 && ip4.dst == $set1' allow check ovn-nbctl --wait=hv acl-add ls1 to-lport 1001 \ 'ip4 && ip4.src == $set1 && ip4.dst == $set2' drop @@ -18708,8 +18708,8 @@ grep conj_id | wc -l`]) as hv1 ovs-ofctl dump-flows br-int # Set the ip address for ls1-lp2 from set2 so that the drop ACL flow is hit. -ovn-nbctl lsp-set-addresses ls1-lp2 "f0:00:00:00:00:02 10.0.0.7 20.0.0.4" -ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 10.0.0.7 20.0.0.4" +check ovn-nbctl lsp-set-addresses ls1-lp2 "f0:00:00:00:00:02 10.0.0.7 20.0.0.4" +check ovn-nbctl lsp-set-port-security ls1-lp2 "f0:00:00:00:00:02 10.0.0.7 20.0.0.4" reset_pcap_file hv1-vif2 hv1/vif2 @@ -18735,7 +18735,7 @@ AT_CHECK([cat 2.packets], [0], []) # priority=2001,ip,metadata=0x1,nw_src=10.0.0.4 actions=conjunction(4,1/2) # priority=2001,ip,metadata=0x1,nw_src=10.0.0.5 actions=conjunction(4,1/2) -ovn-nbctl acl-del ls1 to-lport 1001 \ +check ovn-nbctl acl-del ls1 to-lport 1001 \ 'ip4 && ip4.src == $set1 && ip4.dst == $set1' OVS_WAIT_UNTIL([test 6 = `as hv1 ovs-ofctl dump-flows br-int | \ @@ -18746,10 +18746,10 @@ OVS_WAIT_UNTIL([test 1 = `as hv1 ovs-ofctl dump-flows br-int | \ grep conj_id | wc -l`]) # Add the ACL back -ovn-nbctl acl-add ls1 to-lport 1001 \ +check ovn-nbctl acl-add ls1 to-lport 1001 \ 'ip4 && ip4.src == $set1 && ip4.dst == $set1' allow # Add one more ACL with more overlapping -ovn-nbctl acl-add ls1 to-lport 1001 \ +check ovn-nbctl acl-add ls1 to-lport 1001 \ 'ip4 && ip4.src == $set1 && ip4.dst == {10.0.0.9, 10.0.0.10}' drop # priority=2001,ip,metadata=0x1,nw_dst=10.0.0.8 actions=conjunction(4,1/2) @@ -18771,7 +18771,7 @@ OVS_WAIT_UNTIL([test 3 = `as hv1 ovs-ofctl dump-flows br-int | \ grep conjunction.*conjunction.*conjunction | wc -l`]) # Remove 10.0.0.7 from address set2. All flows should be updated properly. -ovn-nbctl set Address_Set set2 \ +check ovn-nbctl set Address_Set set2 \ addresses=\"10.0.0.8\",\"10.0.0.9\" # priority=2001,ip,metadata=0x1,nw_dst=10.0.0.4 actions=conjunction(9,1/2) @@ -18792,11 +18792,11 @@ OVS_WAIT_UNTIL([test 3 = `as hv1 ovs-ofctl dump-flows br-int | \ grep conjunction.*conjunction.*conjunction | wc -l`]) # Remove an ACL again -ovn-nbctl acl-del ls1 to-lport 1001 \ +check ovn-nbctl acl-del ls1 to-lport 1001 \ 'ip4 && ip4.src == $set1 && ip4.dst == $set1' wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # priority=2001,ip,metadata=0x1,nw_dst=10.0.0.10 actions=conjunction(10,1/2) # priority=2001,ip,metadata=0x1,nw_dst=10.0.0.8 actions=conjunction(11,1/2) # priority=2001,ip,metadata=0x1,nw_dst=10.0.0.9 actions=conjunction(10,1/2),conjunction(11,1/2) @@ -18817,7 +18817,7 @@ old_conj_ids=`as hv1 ovs-ofctl dump-flows br-int | grep conj_id= | \ echo $old_conj_ids as hv1 ovn-appctl -t ovn-controller recompute -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync new_conj_ids=`as hv1 ovs-ofctl dump-flows br-int | grep conj_id= | \ awk -F 'conj_id=' '{ print $2 }' | awk -F ',' '{ print $1 }' | sort` echo $new_conj_ids @@ -18883,11 +18883,11 @@ grep conjunction.*conjunction | wc -l`]) # deletion. (If the order is different, the combined conjunctions order is # different and the action comparison would fail, so won't trigger the tracked # flow merging. We want to make sure that we test the merging scenario) -ovn-nbctl acl-del pg1 to-lport 1000 "outport==@pg1 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" -ovn-nbctl acl-del pg2 to-lport 1000 "outport==@pg2 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" -ovn-nbctl acl-add pg1 to-lport 1000 "outport==@pg1 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" allow -ovn-nbctl acl-add pg2 to-lport 1000 "outport==@pg2 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" allow -ovn-nbctl --wait=hv sync +check ovn-nbctl acl-del pg1 to-lport 1000 "outport==@pg1 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" +check ovn-nbctl acl-del pg2 to-lport 1000 "outport==@pg2 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" +check ovn-nbctl acl-add pg1 to-lport 1000 "outport==@pg1 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" allow +check ovn-nbctl acl-add pg2 to-lport 1000 "outport==@pg2 && ip4 && ip4.src == {10.0.0.1, 10.0.0.2}" allow +check ovn-nbctl --wait=hv sync # Now re-bind p3 and p5 in the same transaction, so that pg1 and pg2 update are # handled in the same I-P engine run. The order of pg1 and pg2 can be random. @@ -18901,7 +18901,7 @@ ovn-nbctl --wait=hv sync # combined conjunctions. ovs-vsctl add-port br-int p3 -- set Interface p3 external_ids:iface-id=p3 -- \ add-port br-int p5 -- set Interface p5 external_ids:iface-id=p5 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Now making sure we end up with two combined conjunctions. OVS_WAIT_UNTIL([test 2 = `as hv1 ovs-ofctl dump-flows br-int | \ @@ -19221,7 +19221,7 @@ check ovs-vsctl -- add-port br-int hv1-vif2 -- \ ovn-nbctl create address_set name=as1 addresses="10.0.0.1" ovn-nbctl create address_set name=as2 addresses="10.0.0.11,10.0.0.12" -ovn-nbctl pg-add pg1 ls1-lp1 ls1-lp2 +check ovn-nbctl pg-add pg1 ls1-lp1 ls1-lp2 # The 1st ACL potentially can generate 2 conjunctions, but as1 has only 1 address, # so it would generate 1 conjunction for now. @@ -19242,7 +19242,7 @@ AT_CHECK([test `ovs-ofctl dump-flows br-int table=$acl_eval | grep -c conj_id` = echo ------- # Add another address in as1, so that the 1st ACL will now generate 2 conjunctions. -ovn-nbctl set address_set as1 addresses="10.0.0.1,10.0.0.2" +check ovn-nbctl set address_set as1 addresses="10.0.0.1,10.0.0.2" check ovn-nbctl --wait=hv sync ovs-ofctl dump-flows br-int table=$acl_eval @@ -19273,7 +19273,7 @@ ovn_start # No ACL for 31 # Validate the allow ACL with and without any stateful rule on lsw0. # -ovn-nbctl ls-add lsw0 +check ovn-nbctl ls-add lsw0 net_add n1 for i in 1 2 3; do sim_add hv$i @@ -19337,7 +19337,7 @@ test_packet() { # Test drop rule # -------------- -ovn-nbctl acl-del lsw0 +check ovn-nbctl acl-del lsw0 check ovn-nbctl --wait=hv --log --severity=info --name=drop-acl acl-add lsw0 to-lport 5000 'outport == @pg1 && eth.src == $set1 && eth.type == 0x1234' drop for sf in 0 1; do if test ${sf} = 1; then @@ -19413,9 +19413,9 @@ OVS_WAIT_UNTIL([check_packets 0], [$at_diff -F'^---' expected received]) # Test allow rule #---------------- -ovn-nbctl acl-del lsw0 +check ovn-nbctl acl-del lsw0 # drop all packets to 11 and 21. -ovn-nbctl acl-add lsw0 to-lport 5000 'outport == @pg1 && eth.src == $set1' drop +check ovn-nbctl acl-add lsw0 to-lport 5000 'outport == @pg1 && eth.src == $set1' drop # allow 0x1234 between 11 and 21 check ovn-nbctl --wait=hv --log --severity=info --name=allow-acl acl-add lsw0 to-lport 6000 'outport == @pg1 && eth.src == $set1 && eth.type == 0x1234' allow for sf in 0 1; do @@ -19547,7 +19547,7 @@ for i in 1 2; do ovs-appctl -t ovn-controller vlog/set file:dbg:pinctrl done -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 for i in 1 2; do ovn-nbctl lrp-add lr0 lrp$i 00:00:00:00:ff:0$i 192.168.$i.254/24 2001:db8:$i::1/64 ovn-nbctl -- lsp-add sw$i lrp$i-attachment \ @@ -19558,7 +19558,7 @@ done OVN_POPULATE_ARP # allow some time for ovn-northd and ovn-controller to catch up. wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync test_ip_packet 1 1 000000000001 00000000ff01 $(ip_to_hex 192 168 1 1) $(ip_to_hex 192 168 2 1) $(ip_to_hex 192 168 1 254) 0000 f87c ea96 yes test_ip6_packet 1 1 000000000001 00000000ff01 20010db8000100000000000000000011 20010db8000200000000000000000011 20010db8000100000000000000000001 1c22 yes @@ -19772,7 +19772,7 @@ for i in 1 2; do ofport-request=$i done -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 for i in 1 2; do ovn-nbctl lrp-add lr0 lrp$i 00:00:00:00:ff:0$i 192.168.$i.254/24 2001:db8:$i::1/64 ovn-nbctl -- lsp-add sw$i lrp$i-attachment \ @@ -19783,7 +19783,7 @@ done OVN_POPULATE_ARP # allow some time for ovn-northd and ovn-controller to catch up. wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -19812,9 +19812,9 @@ ovn_start # sw1 has a single port bound on hv1 # sw2 has a single port bound on hv2 -ovn-nbctl lr-add ro -ovn-nbctl ls-add sw1 -ovn-nbctl ls-add sw2 +check ovn-nbctl lr-add ro +check ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw2 sw1_ro_mac=00:00:10:00:00:01 sw1_ro_ip=10.0.0.1 @@ -19825,17 +19825,17 @@ sw1_p1_ip=10.0.0.2 sw2_p1_mac=00:00:20:00:00:02 sw2_p1_ip=20.0.0.2 -ovn-nbctl lrp-add ro ro-sw1 $sw1_ro_mac ${sw1_ro_ip}/8 -ovn-nbctl lrp-add ro ro-sw2 $sw2_ro_mac ${sw2_ro_ip}/8 -ovn-nbctl lsp-add sw1 sw1-ro -- set Logical_Switch_Port sw1-ro type=router \ +check ovn-nbctl lrp-add ro ro-sw1 $sw1_ro_mac ${sw1_ro_ip}/8 +check ovn-nbctl lrp-add ro ro-sw2 $sw2_ro_mac ${sw2_ro_ip}/8 +check ovn-nbctl lsp-add sw1 sw1-ro -- set Logical_Switch_Port sw1-ro type=router \ options:router-port=ro-sw1 addresses=\"$sw1_ro_mac\" -ovn-nbctl lsp-add sw2 sw2-ro -- set Logical_Switch_Port sw2-ro type=router \ +check ovn-nbctl lsp-add sw2 sw2-ro -- set Logical_Switch_Port sw2-ro type=router \ options:router-port=ro-sw2 addresses=\"$sw2_ro_mac\" -ovn-nbctl lsp-add sw1 sw1-p1 \ +check ovn-nbctl lsp-add sw1 sw1-p1 \ -- lsp-set-addresses sw1-p1 "$sw1_p1_mac $sw1_p1_ip" -ovn-nbctl lsp-add sw2 sw2-p1 \ +check ovn-nbctl lsp-add sw2 sw2-p1 \ -- lsp-set-addresses sw2-p1 "$sw2_p1_mac $sw2_p1_ip" net_add n1 @@ -19904,24 +19904,24 @@ sim_add hv1 sim_add hv2 sim_add hv3 -ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 +check ovn-nbctl --wait=hv set NB_Global . options:"bfd-mult"=15 -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "f0:00:00:00:00:01 10.0.0.4 ae70::4" # Add a couple of external logical port -ovn-nbctl lsp-add ls1 ls1-lp_ext1 \ +check ovn-nbctl lsp-add ls1 ls1-lp_ext1 \ -- lsp-set-addresses ls1-lp_ext1 "f0:00:00:00:00:03 10.0.0.6 ae70::6" -ovn-nbctl lsp-set-port-security ls1-lp_ext1 \ +check ovn-nbctl lsp-set-port-security ls1-lp_ext1 \ "f0:00:00:00:00:03 10.0.0.6 ae70::6" -ovn-nbctl lsp-set-type ls1-lp_ext1 external +check ovn-nbctl lsp-set-type ls1-lp_ext1 external -ovn-nbctl lsp-add ls1 ls1-lp_ext2 \ +check ovn-nbctl lsp-add ls1 ls1-lp_ext2 \ -- lsp-set-addresses ls1-lp_ext2 "f0:00:00:00:00:04 10.0.0.7 ae70::7" -ovn-nbctl lsp-set-port-security ls1-lp_ext2 \ +check ovn-nbctl lsp-set-port-security ls1-lp_ext2 \ "f0:00:00:00:00:04 10.0.0.7 ae70::8" -ovn-nbctl lsp-set-type ls1-lp_ext2 external +check ovn-nbctl lsp-set-type ls1-lp_ext2 external d1="$(ovn-nbctl create DHCP_Options cidr=10.0.0.0/24 \ options="\"server_id\"=\"10.0.0.1\" \"server_mac\"=\"ff:10:00:00:00:01\" \ @@ -19930,25 +19930,25 @@ options="\"server_id\"=\"10.0.0.1\" \"server_mac\"=\"ff:10:00:00:00:01\" \ d2="$(ovn-nbctl create DHCP_Options cidr="ae70\:\:/64" \ options="\"server_id\"=\"00:00:00:10:00:01\"")" -ovn-nbctl lsp-set-dhcpv4-options ls1-lp1 ${d1} -ovn-nbctl lsp-set-dhcpv4-options ls1-lp_ext1 ${d1} -ovn-nbctl lsp-set-dhcpv4-options ls1-lp_ext2 ${d1} +check ovn-nbctl lsp-set-dhcpv4-options ls1-lp1 ${d1} +check ovn-nbctl lsp-set-dhcpv4-options ls1-lp_ext1 ${d1} +check ovn-nbctl lsp-set-dhcpv4-options ls1-lp_ext2 ${d1} -ovn-nbctl lsp-set-dhcpv6-options ls1-lp1 ${d2} -ovn-nbctl lsp-set-dhcpv6-options ls1-lp_ext1 ${d2} -ovn-nbctl lsp-set-dhcpv6-options ls1-lp_ext2 ${d2} +check ovn-nbctl lsp-set-dhcpv6-options ls1-lp1 ${d2} +check ovn-nbctl lsp-set-dhcpv6-options ls1-lp_ext1 ${d2} +check ovn-nbctl lsp-set-dhcpv6-options ls1-lp_ext2 ${d2} # Create a logical router and connect it to ls1 -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-ls1 a0:10:00:00:00:01 10.0.0.1/24 -ovn-nbctl lsp-add ls1 ls1-lr0 -ovn-nbctl set Logical_Switch_Port ls1-lr0 type=router \ +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-ls1 a0:10:00:00:00:01 10.0.0.1/24 +check ovn-nbctl lsp-add ls1 ls1-lr0 +check ovn-nbctl set Logical_Switch_Port ls1-lr0 type=router \ options:router-port=lr0-ls1 addresses=router # Create HA chassis group -ovn-nbctl ha-chassis-group-add hagrp1 -ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv1 30 -ovn-nbctl --wait=sb sync +check ovn-nbctl ha-chassis-group-add hagrp1 +check ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv1 30 +check ovn-nbctl --wait=sb sync hagrp1_uuid=`ovn-nbctl --bare --columns _uuid find ha_chassis_group name="hagrp1"` @@ -20011,7 +20011,7 @@ hv3_uuid=$(fetch_column Chassis _uuid name=hv3) check_row_count Port_Binding 1 logical_port=ls1-lp_ext1 chassis='[[]]' # Associate hagrp1 ha-chassis-group to ls1-lp_ext1 -ovn-nbctl --wait=hv set Logical_Switch_Port ls1-lp_ext1 \ +check ovn-nbctl --wait=hv set Logical_Switch_Port ls1-lp_ext1 \ ha-chassis-group=$hagrp1_uuid # Get the hagrp1 uuid in SB DB. @@ -20042,10 +20042,10 @@ grep controller | grep tp_src=546 | grep \ ]) # Add the localnet port to the logical switch ls1 -ovn-nbctl lsp-add ls1 ln-public -ovn-nbctl lsp-set-addresses ln-public unknown -ovn-nbctl lsp-set-type ln-public localnet -ovn-nbctl --wait=hv lsp-set-options ln-public network_name=phys +check ovn-nbctl lsp-add ls1 ln-public +check ovn-nbctl lsp-set-addresses ln-public unknown +check ovn-nbctl lsp-set-type ln-public localnet +check ovn-nbctl --wait=hv lsp-set-options ln-public network_name=phys ln_public_key=$(fetch_column Port_Binding tunnel_key logical_port=ln-public) @@ -20294,11 +20294,11 @@ as hv1 reset_pcap_file hv1-ext1 hv1/ext1 # Delete the ha-chassis hv1. -ovn-nbctl ha-chassis-group-remove-chassis hagrp1 hv1 +check ovn-nbctl ha-chassis-group-remove-chassis hagrp1 hv1 wait_row_count Port_Binding 1 logical_port=ls1-lp_ext1 chassis='[[]]' # Add hv2 to the ha chassis group -ovn-nbctl --wait=hv ha-chassis-group-add-chassis hagrp1 hv2 20 +check ovn-nbctl --wait=hv ha-chassis-group-add-chassis hagrp1 hv2 20 ovn-sbctl list ha_chassis_group ovn-sbctl list ha_chassis @@ -20404,9 +20404,9 @@ OVN_CHECK_PACKETS_CONTAIN([hv1/ext1-tx.pcap], [expected_out]) OVN_CHECK_PACKETS_CONTAIN([hv2/br-phys_n1-tx.pcap], [expected_out]) # Now add 3 ha chassis to the ha chassis group -ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv1 30 -ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv2 20 -ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv3 10 +check ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv1 30 +check ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv2 20 +check ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv3 10 ovn_wait_for_bfd_up hv1 hv2 hv3 @@ -20479,7 +20479,7 @@ rm -f ext1_v6.packets as hv1 reset_pcap_file hv1-ext1 hv1/ext1 # Now increase the priority of hv3 so it becomes active. -ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv3 50 +check ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv3 50 # hv3 should be active and claim ls1-lp_ext1 wait_row_count Port_Binding 1 logical_port=ls1-lp_ext1 chassis=$hv3_uuid @@ -20597,7 +20597,7 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.10 -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 for i in 1 2; do ovn-nbctl lsp-add ls1 lp$i \ -- lsp-set-addresses lp$i "f0:00:00:00:00:0$i 192.168.1.$i" @@ -20682,9 +20682,9 @@ ovn_start # sw1 has a single port bound on hv1 # sw2 has a single port bound on hv2 -ovn-nbctl lr-add ro -ovn-nbctl ls-add sw1 -ovn-nbctl ls-add sw2 +check ovn-nbctl lr-add ro +check ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw2 sw1_ro_mac=00:00:10:00:00:01 sw1_ro_ip=10.0.0.1 @@ -20695,17 +20695,17 @@ sw1_p1_ip=10.0.0.2 sw2_p1_mac=00:00:20:00:00:02 sw2_p1_ip=20.0.0.2 -ovn-nbctl lrp-add ro ro-sw1 $sw1_ro_mac ${sw1_ro_ip}/8 -ovn-nbctl lrp-add ro ro-sw2 $sw2_ro_mac ${sw2_ro_ip}/8 -ovn-nbctl lsp-add sw1 sw1-ro -- set Logical_Switch_Port sw1-ro type=router \ +check ovn-nbctl lrp-add ro ro-sw1 $sw1_ro_mac ${sw1_ro_ip}/8 +check ovn-nbctl lrp-add ro ro-sw2 $sw2_ro_mac ${sw2_ro_ip}/8 +check ovn-nbctl lsp-add sw1 sw1-ro -- set Logical_Switch_Port sw1-ro type=router \ options:router-port=ro-sw1 addresses=\"$sw1_ro_mac\" -ovn-nbctl lsp-add sw2 sw2-ro -- set Logical_Switch_Port sw2-ro type=router \ +check ovn-nbctl lsp-add sw2 sw2-ro -- set Logical_Switch_Port sw2-ro type=router \ options:router-port=ro-sw2 addresses=\"$sw2_ro_mac\" -ovn-nbctl lsp-add sw1 sw1-p1 \ +check ovn-nbctl lsp-add sw1 sw1-p1 \ -- lsp-set-addresses sw1-p1 "$sw1_p1_mac $sw1_p1_ip" -ovn-nbctl lsp-add sw2 sw2-p1 \ +check ovn-nbctl lsp-add sw2 sw2-p1 \ -- lsp-set-addresses sw2-p1 "$sw2_p1_mac $sw2_p1_ip" net_add n1 @@ -20772,14 +20772,14 @@ AT_SETUP([ovn-nbctl duplicate addresses]) ovn_start # Set up a switch with some switch ports of varying address types -ovn-nbctl ls-add sw1 -ovn-nbctl set logical_switch sw1 other_config:subnet=192.168.0.0/24 +check ovn-nbctl ls-add sw1 +check ovn-nbctl set logical_switch sw1 other_config:subnet=192.168.0.0/24 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lsp-add sw1 sw1-p2 -ovn-nbctl lsp-add sw1 sw1-p3 -ovn-nbctl lsp-add sw1 sw1-p4 -ovn-nbctl --wait=sb lsp-add sw1 sw1-p5 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lsp-add sw1 sw1-p2 +check ovn-nbctl lsp-add sw1 sw1-p3 +check ovn-nbctl lsp-add sw1 sw1-p4 +check ovn-nbctl --wait=sb lsp-add sw1 sw1-p5 check ovn-nbctl --wait=sb lsp-set-addresses sw1-p1 "00:00:00:00:00:01 10.0.0.1 aef0::1" "00:00:00:00:00:02 10.0.0.2 aef0::2" check ovn-nbctl --wait=sb lsp-set-addresses sw1-p2 "00:00:00:00:00:03 dynamic" @@ -20814,8 +20814,8 @@ AT_CHECK([ovn-nbctl lsp-set-addresses sw1-p1 "00:00:00:00:00:01 10.0.0.1 aef0::1 # Now create a new switch and try setting IP addresses the same as the # first switch. This should succeed. -ovn-nbctl ls-add sw2 -ovn-nbctl lsp-add sw2 sw2-p1 +check ovn-nbctl ls-add sw2 +check ovn-nbctl lsp-add sw2 sw2-p1 AT_CHECK([ovn-nbctl lsp-set-addresses sw2-p1 "00:00:00:00:00:04 10.0.0.1"]) AT_CHECK([ovn-nbctl lsp-set-addresses sw2-p1 "00:00:00:00:00:04 192.168.0.2"]) @@ -20831,37 +20831,37 @@ AT_KEYWORDS([check packet length]) AT_KEYWORDS([slowtest]) ovn_start -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port1 -ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.3 1000::3" -ovn-nbctl lsp-add sw0 sw0-port2 -ovn-nbctl lsp-set-addresses sw0-port2 "50:54:00:00:00:02 10.0.0.4 1000::4" - -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 1000::1/64 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 - -ovn-nbctl ls-add public -ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 2000::1/64 -ovn-nbctl lsp-add public public-lr0 -ovn-nbctl lsp-set-type public-lr0 router -ovn-nbctl lsp-set-addresses public-lr0 router -ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port1 +check ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.3 1000::3" +check ovn-nbctl lsp-add sw0 sw0-port2 +check ovn-nbctl lsp-set-addresses sw0-port2 "50:54:00:00:00:02 10.0.0.4 1000::4" + +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 1000::1/64 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 + +check ovn-nbctl ls-add public +check ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 2000::1/64 +check ovn-nbctl lsp-add public public-lr0 +check ovn-nbctl lsp-set-type public-lr0 router +check ovn-nbctl lsp-set-addresses public-lr0 router +check ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public # localnet port -ovn-nbctl lsp-add public ln-public -ovn-nbctl lsp-set-type ln-public localnet -ovn-nbctl lsp-set-addresses ln-public unknown -ovn-nbctl lsp-set-options ln-public network_name=phys +check ovn-nbctl lsp-add public ln-public +check ovn-nbctl lsp-set-type ln-public localnet +check ovn-nbctl lsp-set-addresses ln-public unknown +check ovn-nbctl lsp-set-options ln-public network_name=phys -ovn-nbctl lrp-set-gateway-chassis lr0-public hv1 20 -ovn-nbctl lr-nat-add lr0 snat 172.168.0.100 10.0.0.0/24 -ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.168.0.110 10.0.0.4 sw0-port2 f0:00:00:01:02:04 -ovn-nbctl lr-nat-add lr0 snat 2000::1 1000::/64 -ovn-nbctl lr-nat-add lr0 dnat_and_snat 2000::2 1000::4 sw0-port2 f0:00:00:01:02:04 +check ovn-nbctl lrp-set-gateway-chassis lr0-public hv1 20 +check ovn-nbctl lr-nat-add lr0 snat 172.168.0.100 10.0.0.0/24 +check ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.168.0.110 10.0.0.4 sw0-port2 f0:00:00:01:02:04 +check ovn-nbctl lr-nat-add lr0 snat 2000::1 1000::/64 +check ovn-nbctl lr-nat-add lr0 dnat_and_snat 2000::2 1000::4 sw0-port2 f0:00:00:01:02:04 net_add n1 @@ -21120,7 +21120,7 @@ test_ip6_packet_larger_ext() { } wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ovn-nbctl show > nbdump AT_CAPTURE_FILE([nbdump]) @@ -21184,26 +21184,26 @@ test_ip6_packet_larger_ext 1 000020201213 20000000000000000000000000000001 100 c AS_BOX([testing ingress traffic mtu 100 - IPv6 FIP]) test_ip6_packet_larger_ext 2 f00000010204 20000000000000000000000000000002 100 cc79 -ovn-nbctl lsp-del sw0-lr0 +check ovn-nbctl lsp-del sw0-lr0 -ovn-nbctl lr-del lr0 +check ovn-nbctl lr-del lr0 ovn-nbctl create Logical_Router name=lr1 options:chassis="hv1" -ovn-nbctl lrp-add lr1 lr1-sw0 00:00:00:00:ff:01 10.0.0.1/24 1000::1/64 -ovn-nbctl lsp-add sw0 sw0-lr1 -ovn-nbctl lsp-set-type sw0-lr1 router -ovn-nbctl lsp-set-addresses sw0-lr1 router -ovn-nbctl lsp-set-options sw0-lr1 router-port=lr1-sw0 - -ovn-nbctl lrp-add lr1 lr1-public 00:00:20:20:12:13 172.168.0.100/24 2000::1/64 -ovn-nbctl lsp-del public-lr0 -ovn-nbctl lsp-add public public-lr1 -ovn-nbctl lsp-set-type public-lr1 router -ovn-nbctl lsp-set-addresses public-lr1 router -ovn-nbctl lsp-set-options public-lr1 router-port=lr1-public - -ovn-nbctl lr-nat-add lr1 snat 172.168.0.100 10.0.0.0/24 -ovn-nbctl lr-nat-add lr1 snat 2000::1 1000::/64 -ovn-nbctl --wait=sb sync +check ovn-nbctl lrp-add lr1 lr1-sw0 00:00:00:00:ff:01 10.0.0.1/24 1000::1/64 +check ovn-nbctl lsp-add sw0 sw0-lr1 +check ovn-nbctl lsp-set-type sw0-lr1 router +check ovn-nbctl lsp-set-addresses sw0-lr1 router +check ovn-nbctl lsp-set-options sw0-lr1 router-port=lr1-sw0 + +check ovn-nbctl lrp-add lr1 lr1-public 00:00:20:20:12:13 172.168.0.100/24 2000::1/64 +check ovn-nbctl lsp-del public-lr0 +check ovn-nbctl lsp-add public public-lr1 +check ovn-nbctl lsp-set-type public-lr1 router +check ovn-nbctl lsp-set-addresses public-lr1 router +check ovn-nbctl lsp-set-options public-lr1 router-port=lr1-public + +check ovn-nbctl lr-nat-add lr1 snat 172.168.0.100 10.0.0.0/24 +check ovn-nbctl lr-nat-add lr1 snat 2000::1 1000::/64 +check ovn-nbctl --wait=sb sync dp_uuid=$(ovn-sbctl find datapath_binding | grep sw0 -B2 | grep _uuid | \ awk '{print $3}') @@ -21343,37 +21343,37 @@ ovs-vsctl -- add-port br-int hv2-vif2 -- \ ofport-request=3 ovn-nbctl create Logical_Router name=lr0 -ovn-nbctl ls-add sw0 -ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw1 -ovn-nbctl lrp-add lr0 sw0 00:00:01:01:02:03 192.168.1.1/24 2001:0:0:0:0:0:0:1/64 -ovn-nbctl lsp-add sw0 rp-sw0 -- set Logical_Switch_Port rp-sw0 \ +check ovn-nbctl lrp-add lr0 sw0 00:00:01:01:02:03 192.168.1.1/24 2001:0:0:0:0:0:0:1/64 +check ovn-nbctl lsp-add sw0 rp-sw0 -- set Logical_Switch_Port rp-sw0 \ type=router options:router-port=sw0 \ -- lsp-set-addresses rp-sw0 router -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:02:01:02:03 172.16.1.1/24 2002:0:0:0:0:0:0:1/64 \ +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:02:01:02:03 172.16.1.1/24 2002:0:0:0:0:0:0:1/64 \ -- lrp-set-gateway-chassis lr0-sw1 hv2 -ovn-nbctl lsp-add sw1 rp-sw1 -- set Logical_Switch_Port rp-sw1 \ +check ovn-nbctl lsp-add sw1 rp-sw1 -- set Logical_Switch_Port rp-sw1 \ type=router options:router-port=lr0-sw1 \ -- lsp-set-addresses rp-sw1 router -ovn-nbctl lsp-add sw0 sw0-p0 \ +check ovn-nbctl lsp-add sw0 sw0-p0 \ -- lsp-set-addresses sw0-p0 "f0:00:00:01:02:03 192.168.1.2 2001::2" -ovn-nbctl lsp-add sw0 sw0-p1 \ +check ovn-nbctl lsp-add sw0 sw0-p1 \ -- lsp-set-addresses sw0-p1 "f0:00:00:11:02:03 192.168.1.3 2001::3" -ovn-nbctl lsp-add sw1 sw1-p0 \ +check ovn-nbctl lsp-add sw1 sw1-p0 \ -- lsp-set-addresses sw1-p0 unknown check ovn-nbctl lsp-add sw1 ln-sw1 -- lsp-set-type ln-sw1 localnet -ovn-nbctl lr-nat-add lr0 snat 172.16.1.1 192.168.1.0/24 -ovn-nbctl lr-nat-add lr0 snat 2002::1 2001::/64 +check ovn-nbctl lr-nat-add lr0 snat 172.16.1.1 192.168.1.0/24 +check ovn-nbctl lr-nat-add lr0 snat 2002::1 2001::/64 OVN_POPULATE_ARP wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -21414,10 +21414,10 @@ OVN_CHECK_PACKETS([hv2/vif1-tx.pcap], [expected]) # Create FIP on sw0-p0, add a route on logical router pipeline and # ARP request for a unkwon destination is sent using FIP MAC/IP -ovn-nbctl lr-nat-del lr0 snat -ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.16.1.2 192.168.1.3 sw0-p1 f0:00:00:01:02:04 -ovn-nbctl lr-route-add lr0 172.16.2.0/24 172.16.1.11 -ovn-nbctl --wait=hv sync +check ovn-nbctl lr-nat-del lr0 snat +check ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.16.1.2 192.168.1.3 sw0-p1 f0:00:00:01:02:04 +check ovn-nbctl lr-route-add lr0 172.16.2.0/24 172.16.1.11 +check ovn-nbctl --wait=hv sync ovn-sbctl dump-flows > sbflows2 AT_CAPTURE_FILE([sbflows2]) @@ -21586,16 +21586,16 @@ AT_SETUP([ipam to non-ipam]) ovn_start check ovn-nbctl --wait=sb sync -ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="0a:00:00:00:00:00" -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 p0 -- lsp-set-addresses p0 dynamic +check ovn-nbctl --wait=hv set NB_Global . options:mac_prefix="0a:00:00:00:00:00" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 p0 -- lsp-set-addresses p0 dynamic ovn-nbctl --wait=sb add Logical-Switch sw0 other_config subnet=192.168.1.0/24 AT_CHECK([ovn-nbctl get Logical-Switch-Port p0 dynamic_addresses], [0], ["0a:00:00:a8:01:03 192.168.1.2" ]) -ovn-nbctl --wait=sb lsp-set-addresses p0 router +check ovn-nbctl --wait=sb lsp-set-addresses p0 router ovn-nbctl get Logical-Switch-Port p0 dynamic_addresses @@ -21608,8 +21608,8 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([ipam router ports]) ovn_start -ovn-nbctl ls-add sw -ovn-nbctl set logical_switch sw other-config:subnet=192.168.1.0/24 +check ovn-nbctl ls-add sw +check ovn-nbctl set logical_switch sw other-config:subnet=192.168.1.0/24 for i in 2 3 4; do ovn-nbctl lr-add ro$i @@ -21915,15 +21915,15 @@ for i in 1 2; do done -ovn-nbctl lr-add router -ovn-nbctl lrp-add router router-to-ls1 00:00:01:01:02:03 192.168.1.3/24 -ovn-nbctl lrp-add router router-to-ls2 00:00:01:01:02:05 192.168.2.3/24 +check ovn-nbctl lr-add router +check ovn-nbctl lrp-add router router-to-ls1 00:00:01:01:02:03 192.168.1.3/24 +check ovn-nbctl lrp-add router router-to-ls2 00:00:01:01:02:05 192.168.2.3/24 -ovn-nbctl lsp-add ls1 ls1-to-router -- set Logical_Switch_Port ls1-to-router type=router options:router-port=router-to-ls1 -- lsp-set-addresses ls1-to-router router -ovn-nbctl lsp-add ls2 ls2-to-router -- set Logical_Switch_Port ls2-to-router type=router options:router-port=router-to-ls2 -- lsp-set-addresses ls2-to-router router +check ovn-nbctl lsp-add ls1 ls1-to-router -- set Logical_Switch_Port ls1-to-router type=router options:router-port=router-to-ls1 -- lsp-set-addresses ls1-to-router router +check ovn-nbctl lsp-add ls2 ls2-to-router -- set Logical_Switch_Port ls2-to-router type=router options:router-port=router-to-ls2 -- lsp-set-addresses ls2-to-router router wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync #ovn-sbctl dump-flows for i in 1 2; do for j in 1 2; do @@ -22073,7 +22073,7 @@ ovs-vsctl -- add-port br-int hv2-vif2 -- \ options:rxq_pcap=hv2/vif2-rx.pcap \ ofport-request=2 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 check ovn-nbctl lsp-add sw0 sw0-vir check ovn-nbctl lsp-set-addresses sw0-vir "50:54:00:00:00:10 10.0.0.10" @@ -22148,7 +22148,7 @@ check ovn-nbctl lr-nat-add lr0 dnat_and_snat 2001:db8::61d1 1000::61d1 sw0-vir6 OVN_POPULATE_ARP wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers acl_eval=$(ovn-debug lflow-stage-to-oftable ls_out_acl_eval) @@ -22492,7 +22492,7 @@ check_virtual_offlows_present hv2 check_virtual_offlows_not_present hv1 # Delete sw0-p2 logical port -ovn-nbctl lsp-del sw0-p2 +check ovn-nbctl lsp-del sw0-p2 OVS_WAIT_UNTIL([test x$(ovn-sbctl --bare --columns chassis find port_binding \ logical_port=sw0-vir) = x]) @@ -22502,15 +22502,15 @@ logical_port=sw0-vir) = x]) wait_row_count nb:Logical_Switch_Port 1 up=false name=sw0-vir # Clear virtual_ip column of sw0-vir. There should be no bind_vport flows. -ovn-nbctl --wait=hv remove logical_switch_port sw0-vir options virtual-ip -ovn-nbctl --wait=hv remove logical_switch_port sw0-vir6 options virtual-ip +check ovn-nbctl --wait=hv remove logical_switch_port sw0-vir options virtual-ip +check ovn-nbctl --wait=hv remove logical_switch_port sw0-vir6 options virtual-ip ovn-sbctl dump-flows sw0 > sw0-flows2 AT_CAPTURE_FILE([sw0-flows2]) AT_CHECK([grep ls_in_arp_rsp sw0-flows2 | grep bind_vport], [1]) # Add back virtual_ip and clear virtual_parents. -ovn-nbctl --wait=hv set logical_switch_port sw0-vir options:virtual-ip=10.0.0.10 +check ovn-nbctl --wait=hv set logical_switch_port sw0-vir options:virtual-ip=10.0.0.10 check ovn-nbctl --wait=hv sync ovn-sbctl dump-flows sw0 > sw0-flows3 @@ -22527,7 +22527,7 @@ check_virtual_offlows_not_present hv2 # hv1 should not have the above flows. check_virtual_offlows_not_present hv2 -ovn-nbctl --wait=hv remove logical_switch_port sw0-vir options virtual-parents +check ovn-nbctl --wait=hv remove logical_switch_port sw0-vir options virtual-parents ovn-sbctl dump-flows sw0 > sw0-flows4 AT_CAPTURE_FILE([sw0-flows4]) AT_CHECK([grep ls_in_arp_rsp sw0-flows4 | grep bind_vport], [1]) @@ -22536,16 +22536,16 @@ ovn-sbctl dump-flows lr0 > lr0-flows8 AT_CAPTURE_FILE([lr0-flows8]) # Delete sw0-vir and add again. -ovn-nbctl lsp-del sw0-vir +check ovn-nbctl lsp-del sw0-vir -ovn-nbctl lsp-add sw0 sw0-vir -ovn-nbctl lsp-set-addresses sw0-vir "50:54:00:00:00:10 10.0.0.10" -ovn-nbctl lsp-set-port-security sw0-vir "50:54:00:00:00:10 10.0.0.10" -ovn-nbctl lsp-set-type sw0-vir virtual -ovn-nbctl set logical_switch_port sw0-vir options:virtual-ip=10.0.0.10 -ovn-nbctl set logical_switch_port sw0-vir options:virtual-parents=sw0-p1,sw0-p2,sw0-p3 +check ovn-nbctl lsp-add sw0 sw0-vir +check ovn-nbctl lsp-set-addresses sw0-vir "50:54:00:00:00:10 10.0.0.10" +check ovn-nbctl lsp-set-port-security sw0-vir "50:54:00:00:00:10 10.0.0.10" +check ovn-nbctl lsp-set-type sw0-vir virtual +check ovn-nbctl set logical_switch_port sw0-vir options:virtual-ip=10.0.0.10 +check ovn-nbctl set logical_switch_port sw0-vir options:virtual-parents=sw0-p1,sw0-p2,sw0-p3 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Check that logical flows are added for sw0-vir in lsp_in_arp_rsp pipeline # with bind_vport action. @@ -22633,7 +22633,7 @@ for i in 1 2; do done as hv1 -ovn-nbctl lsp-add sw1 sw1-p0 \ +check ovn-nbctl lsp-add sw1 sw1-p0 \ -- lsp-set-addresses sw1-p0 "00:00:00:00:00:33 192.168.2.11 2002::1" ovs-vsctl -- add-port br-int vif33 -- \ set interface vif33 \ @@ -22642,21 +22642,21 @@ ovs-vsctl -- add-port br-int vif33 -- \ options:rxq_pcap=hv$i/vif33-rx.pcap \ ofport-request=33 -ovn-nbctl --event lb-add lb0 192.168.1.100:80 "" -ovn-nbctl ls-lb-add sw0 lb0 +check ovn-nbctl --event lb-add lb0 192.168.1.100:80 "" +check ovn-nbctl ls-lb-add sw0 lb0 uuid_lb0=$(ovn-nbctl --bare --columns=_uuid find load_balancer name=lb0) -ovn-nbctl --event lb-add lb1 192.168.2.100:80 "" -ovn-nbctl lr-lb-add lr0 lb1 +check ovn-nbctl --event lb-add lb1 192.168.2.100:80 "" +check ovn-nbctl lr-lb-add lr0 lb1 uuid_lb1=$(ovn-nbctl --bare --columns=_uuid find load_balancer name=lb1) -ovn-nbctl --event lb-add lb2 [[2001::10]]:50051 "" -ovn-nbctl ls-lb-add sw0 lb2 +check ovn-nbctl --event lb-add lb2 [[2001::10]]:50051 "" +check ovn-nbctl ls-lb-add sw0 lb2 uuid_lb2=$(ovn-nbctl --bare --columns=_uuid find load_balancer name=lb2) -ovn-nbctl --wait=hv meter-add event-elb drop 100 pktps 10 -ovn-nbctl --wait=hv copp-add copp0 event-elb event-elb -ovn-nbctl --wait=hv ls-copp-add copp0 sw0 +check ovn-nbctl --wait=hv meter-add event-elb drop 100 pktps 10 +check ovn-nbctl --wait=hv copp-add copp0 event-elb event-elb +check ovn-nbctl --wait=hv ls-copp-add copp0 sw0 OVN_POPULATE_ARP wait_for_ports_up @@ -22670,7 +22670,7 @@ packet0="inport==\"sw0-p11\" && eth.src==00:00:00:00:00:11 && eth.dst==00:00:00: ip4 && ip.ttl==64 && ip4.src==192.168.1.11 && ip4.dst==192.168.1.100 && tcp && tcp.src==10000 && tcp.dst==80" OVS_WAIT_UNTIL([as hv1 ovs-appctl -t ovn-controller inject-pkt "$packet0"]) -ovn-nbctl --wait=hv +check ovn-nbctl --wait=hv sync ovn-sbctl list controller_event > events AT_CAPTURE_FILE([events]) @@ -22699,7 +22699,7 @@ packet1="inport==\"sw1-p0\" && eth.src==00:00:00:00:00:33 && eth.dst==00:00:00:0 tcp && tcp.src==10000 && tcp.dst==80" OVS_WAIT_UNTIL([as hv1 ovs-appctl -t ovn-controller inject-pkt "$packet1"]) -ovn-nbctl --wait=hv +check ovn-nbctl --wait=hv sync ovn-sbctl list controller_event uuid=$(ovn-sbctl list controller_event | awk '/_uuid/{print $3}') AT_CHECK([ovn-sbctl get controller_event $uuid event_type], [0], [dnl @@ -22715,7 +22715,7 @@ packet2="inport==\"sw0-p11\" && eth.src==00:00:00:00:00:11 && eth.dst==00:00:00: tcp && tcp.src==10000 && tcp.dst==50051" OVS_WAIT_UNTIL([as hv1 ovs-appctl -t ovn-controller inject-pkt "$packet2"]) -ovn-nbctl --wait=hv +check ovn-nbctl --wait=hv sync ovn-sbctl list controller_event uuid=$(ovn-sbctl list controller_event | awk '/_uuid/{print $3}') @@ -22759,28 +22759,28 @@ ovn_start # - 1 port bound on hv2 (sw3-p2) # - 1 localnet port (sw3-ln) -ovn-nbctl ls-add sw1 -ovn-nbctl ls-add sw2 -ovn-nbctl ls-add sw3 - -ovn-nbctl lsp-add sw1 sw1-p11 -ovn-nbctl lsp-add sw1 sw1-p12 -ovn-nbctl lsp-add sw1 sw1-p21 -ovn-nbctl lsp-add sw1 sw1-p22 -ovn-nbctl lsp-add sw2 sw2-p1 -ovn-nbctl lsp-add sw2 sw2-p2 -ovn-nbctl lsp-add sw3 sw3-p1 -ovn-nbctl lsp-add sw3 sw3-p2 -ovn-nbctl lsp-add sw3 sw3-ln \ +check ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw2 +check ovn-nbctl ls-add sw3 + +check ovn-nbctl lsp-add sw1 sw1-p11 +check ovn-nbctl lsp-add sw1 sw1-p12 +check ovn-nbctl lsp-add sw1 sw1-p21 +check ovn-nbctl lsp-add sw1 sw1-p22 +check ovn-nbctl lsp-add sw2 sw2-p1 +check ovn-nbctl lsp-add sw2 sw2-p2 +check ovn-nbctl lsp-add sw3 sw3-p1 +check ovn-nbctl lsp-add sw3 sw3-p2 +check ovn-nbctl lsp-add sw3 sw3-ln \ -- lsp-set-type sw3-ln localnet \ -- lsp-set-options sw3-ln network_name=phys -ovn-nbctl lr-add rtr -ovn-nbctl lrp-add rtr rtr-sw1 00:00:00:00:01:00 10.0.0.254/24 -ovn-nbctl lrp-add rtr rtr-sw2 00:00:00:00:02:00 20.0.0.254/24 -ovn-nbctl lrp-add rtr rtr-sw3 00:00:00:00:03:00 30.0.0.254/24 +check ovn-nbctl lr-add rtr +check ovn-nbctl lrp-add rtr rtr-sw1 00:00:00:00:01:00 10.0.0.254/24 +check ovn-nbctl lrp-add rtr rtr-sw2 00:00:00:00:02:00 20.0.0.254/24 +check ovn-nbctl lrp-add rtr rtr-sw3 00:00:00:00:03:00 30.0.0.254/24 -ovn-nbctl lsp-add sw1 sw1-rtr \ +check ovn-nbctl lsp-add sw1 sw1-rtr \ -- lsp-set-type sw1-rtr router \ -- lsp-set-addresses sw1-rtr 00:00:00:00:01:00 \ -- lsp-set-options sw1-rtr router-port=rtr-sw1 @@ -23235,16 +23235,16 @@ as hv2 reset_pcap_file hv2-vif4 hv2/vif4 > expected_reports # Enable mcast_flood on sw1-p11 -ovn-nbctl set Logical_Switch_Port sw1-p11 options:mcast_flood='true' +check ovn-nbctl set Logical_Switch_Port sw1-p11 options:mcast_flood='true' # Enable mcast_flood_reports on sw1-p21 -ovn-nbctl set Logical_Switch_Port sw1-p21 options:mcast_flood_reports='true' +check ovn-nbctl set Logical_Switch_Port sw1-p21 options:mcast_flood_reports='true' # Enable mcast_flood on rtr-sw2 -ovn-nbctl set Logical_Router_Port rtr-sw2 options:mcast_flood='true' +check ovn-nbctl set Logical_Router_Port rtr-sw2 options:mcast_flood='true' # Enable mcast_flood on sw2-p1 -ovn-nbctl set Logical_Switch_Port sw2-p1 options:mcast_flood='true' +check ovn-nbctl set Logical_Switch_Port sw2-p1 options:mcast_flood='true' -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Inject IGMP Join for 239.0.1.68 on sw1-p12. send_igmp_v3_report hv1-vif2 hv1 \ @@ -23313,7 +23313,7 @@ dp=$(fetch_column Datapath_Binding _uuid external_ids:name=sw2) ch=$(fetch_column Chassis _uuid name=hv3) ovn-sbctl create IGMP_Group address=239.0.1.42 datapath=$dp chassis=$ch chassis_name=hv3 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync wait_row_count IGMP_Group 2 address=239.0.1.68 wait_row_count IGMP_Group 1 address=239.0.1.42 @@ -23347,7 +23347,7 @@ check ovn-nbctl lr-add rtr \ -- lrp-add rtr rtr-sw1 00:00:00:00:01:00 10.0.0.254/24 \ -- lrp-add rtr rtr-sw2 00:00:00:00:02:00 20.0.0.254/24 -ovn-nbctl lsp-add sw1 sw1-rtr \ +check ovn-nbctl lsp-add sw1 sw1-rtr \ -- lsp-set-type sw1-rtr router \ -- lsp-set-addresses sw1-rtr 00:00:00:00:01:00 \ -- lsp-set-options sw1-rtr router-port=rtr-sw1 @@ -24439,7 +24439,7 @@ m4_define([DVR_N_S_ARP_HANDLING], # Set a hypervisor as gateway chassis, for router port 172.31.0.1 ovn-nbctl lrp-set-gateway-chassis router-to-underlay hv3 wait_for_ports_up - ovn-nbctl --wait=sb sync + check ovn-nbctl --wait=sb sync OVN_WAIT_PATCH_PORT_FLOWS(["ln1"] ["ln2"], ["hv1"] ["hv2"] ["hv3"]) OVN_WAIT_PATCH_PORT_FLOWS(["ln4"], ["hv4"]) @@ -24669,7 +24669,7 @@ m4_define([DVR_N_S_PING], ovn-nbctl lrp-set-redirect-type router-to-underlay bridged wait_for_ports_up - ovn-nbctl --wait=sb sync + check ovn-nbctl --wait=sb sync OVN_WAIT_PATCH_PORT_FLOWS(["ln1"] ["ln2"], ["hv1"] ["hv2"] ["hv3"]) OVN_WAIT_PATCH_PORT_FLOWS(["ln4"], ["hv4"]) @@ -24881,34 +24881,34 @@ ovs-vsctl -- add-port br-int hv2-vif1 -- \ options:rxq_pcap=hv2/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03" +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03" # Create the second logical switch with one port -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" -ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" # Create a logical router and attach both logical switches -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 - -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 00:00:00:00:ff:02 -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 + +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 00:00:00:00:ff:02 +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 OVN_POPULATE_ARP wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers learn_neigh=$(ovn-debug lflow-stage-to-oftable lr_in_learn_neighbor) @@ -25080,11 +25080,11 @@ ovn_start # Logical switch will have a localnet port also. # This VIF will be assigned a MAC address only (i.e. no ip). -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 ln1 "" 101 -ovn-nbctl lsp-set-addresses ln1 unknown -ovn-nbctl lsp-set-type ln1 localnet -ovn-nbctl lsp-set-options ln1 network_name=phys +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 ln1 "" 101 +check ovn-nbctl lsp-set-addresses ln1 unknown +check ovn-nbctl lsp-set-type ln1 localnet +check ovn-nbctl lsp-set-options ln1 network_name=phys net_add n1 @@ -25102,12 +25102,12 @@ ovs-vsctl add-port br-int vif11 -- \ lsp_name=lp11 -ovn-nbctl lsp-add ls1 lp11 -ovn-nbctl lsp-set-addresses lp11 "f0:00:00:00:00:11" -ovn-nbctl lsp-set-port-security lp11 f0:00:00:00:00:11 +check ovn-nbctl lsp-add ls1 lp11 +check ovn-nbctl lsp-set-addresses lp11 "f0:00:00:00:00:11" +check ovn-nbctl lsp-set-port-security lp11 f0:00:00:00:00:11 wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-nbctl show ovn-sbctl show @@ -25147,25 +25147,25 @@ ovn_start # option disable_garp_rarp, which when set to true for an lsp does # not send the GARP/RARP announcements. -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 ln1 "" 101 -ovn-nbctl lsp-set-addresses ln1 unknown -ovn-nbctl lsp-set-type ln1 localnet -ovn-nbctl lsp-set-options ln1 network_name=phys +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 ln1 "" 101 +check ovn-nbctl lsp-set-addresses ln1 unknown +check ovn-nbctl lsp-set-type ln1 localnet +check ovn-nbctl lsp-set-options ln1 network_name=phys -ovn-nbctl lsp-add ls1 lp11 -ovn-nbctl lsp-set-addresses lp11 "f0:00:00:00:00:11" +check ovn-nbctl lsp-add ls1 lp11 +check ovn-nbctl lsp-set-addresses lp11 "f0:00:00:00:00:11" -ovn-nbctl lsp-add ls1 lp12 -ovn-nbctl lsp-set-addresses lp12 "f0:00:00:00:00:12" -ovn-nbctl set logical_switch_port lp12 options:disable_garp_rarp=true +check ovn-nbctl lsp-add ls1 lp12 +check ovn-nbctl lsp-set-addresses lp12 "f0:00:00:00:00:12" +check ovn-nbctl set logical_switch_port lp12 options:disable_garp_rarp=true -ovn-nbctl lsp-add ls1 lp13 -ovn-nbctl lsp-set-addresses lp13 "f0:00:00:00:00:13 192.168.1.3" +check ovn-nbctl lsp-add ls1 lp13 +check ovn-nbctl lsp-set-addresses lp13 "f0:00:00:00:00:13 192.168.1.3" -ovn-nbctl lsp-add ls1 lp14 -ovn-nbctl lsp-set-addresses lp14 "f0:00:00:00:00:14 192.168.1.4" -ovn-nbctl set logical_switch_port lp14 options:disable_garp_rarp=true +check ovn-nbctl lsp-add ls1 lp14 +check ovn-nbctl lsp-set-addresses lp14 "f0:00:00:00:00:14 192.168.1.4" +check ovn-nbctl set logical_switch_port lp14 options:disable_garp_rarp=true net_add n1 @@ -25190,7 +25190,7 @@ ovs-vsctl add-port br-int vif14 -- \ set Interface vif14 external-ids:iface-id=lp14 wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # RARP packet for lp11 echo "fffffffffffff000000000118100006580350001080006040003f0000000001100000000f0000000001100000000" > expected @@ -25290,22 +25290,22 @@ for i in 1 2; do done -ovn-nbctl ls-add ls-underlay -ovn-nbctl lsp-add ls-underlay ln3 "" 1000 -ovn-nbctl lsp-set-addresses ln3 unknown -ovn-nbctl lsp-set-type ln3 localnet -ovn-nbctl lsp-set-options ln3 network_name=phys +check ovn-nbctl ls-add ls-underlay +check ovn-nbctl lsp-add ls-underlay ln3 "" 1000 +check ovn-nbctl lsp-set-addresses ln3 unknown +check ovn-nbctl lsp-set-type ln3 localnet +check ovn-nbctl lsp-set-options ln3 network_name=phys -ovn-nbctl ls-add ls-north -ovn-nbctl lsp-add ls-north ln4 "" 1000 -ovn-nbctl lsp-set-addresses ln4 unknown -ovn-nbctl lsp-set-type ln4 localnet -ovn-nbctl lsp-set-options ln4 network_name=phys +check ovn-nbctl ls-add ls-north +check ovn-nbctl lsp-add ls-north ln4 "" 1000 +check ovn-nbctl lsp-set-addresses ln4 unknown +check ovn-nbctl lsp-set-type ln4 localnet +check ovn-nbctl lsp-set-options ln4 network_name=phys # Add a VM on ls-north -ovn-nbctl lsp-add ls-north lp-north -ovn-nbctl lsp-set-addresses lp-north "f0:f0:00:00:00:11 172.31.0.10" -ovn-nbctl lsp-set-port-security lp-north f0:f0:00:00:00:11 +check ovn-nbctl lsp-add ls-north lp-north +check ovn-nbctl lsp-set-addresses lp-north "f0:f0:00:00:00:11 172.31.0.10" +check ovn-nbctl lsp-set-port-security lp-north f0:f0:00:00:00:11 # Add 3rd hypervisor sim_add hv3 @@ -25327,26 +25327,26 @@ as hv4 ovs-vsctl add-port br-int vif-north -- \ options:rxq_pcap=hv4/vif-north-rx.pcap \ ofport-request=44 -ovn-nbctl lr-add router -ovn-nbctl lrp-add router router-to-ls1 00:00:01:01:02:03 192.168.1.3/24 -ovn-nbctl lrp-add router router-to-ls2 00:00:01:01:02:05 192.168.2.3/24 -ovn-nbctl lrp-add router router-to-underlay 00:00:01:01:02:07 172.31.0.1/24 +check ovn-nbctl lr-add router +check ovn-nbctl lrp-add router router-to-ls1 00:00:01:01:02:03 192.168.1.3/24 +check ovn-nbctl lrp-add router router-to-ls2 00:00:01:01:02:05 192.168.2.3/24 +check ovn-nbctl lrp-add router router-to-underlay 00:00:01:01:02:07 172.31.0.1/24 -ovn-nbctl lsp-add ls1 ls1-to-router -- set Logical_Switch_Port ls1-to-router type=router \ +check ovn-nbctl lsp-add ls1 ls1-to-router -- set Logical_Switch_Port ls1-to-router type=router \ options:router-port=router-to-ls1 -- lsp-set-addresses ls1-to-router router -ovn-nbctl lsp-add ls2 ls2-to-router -- set Logical_Switch_Port ls2-to-router type=router \ +check ovn-nbctl lsp-add ls2 ls2-to-router -- set Logical_Switch_Port ls2-to-router type=router \ options:router-port=router-to-ls2 -- lsp-set-addresses ls2-to-router router -ovn-nbctl lsp-add ls-underlay underlay-to-router -- set Logical_Switch_Port \ +check ovn-nbctl lsp-add ls-underlay underlay-to-router -- set Logical_Switch_Port \ underlay-to-router type=router \ options:router-port=router-to-underlay \ -- lsp-set-addresses underlay-to-router router -ovn-nbctl lrp-set-gateway-chassis router-to-underlay hv3 -ovn-nbctl --stateless lr-nat-add router dnat_and_snat 172.31.0.100 192.168.1.1 -ovn-nbctl lrp-set-redirect-type router-to-underlay bridged +check ovn-nbctl lrp-set-gateway-chassis router-to-underlay hv3 +check ovn-nbctl --stateless lr-nat-add router dnat_and_snat 172.31.0.100 192.168.1.1 +check ovn-nbctl lrp-set-redirect-type router-to-underlay bridged wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync OVN_WAIT_PATCH_PORT_FLOWS(["ln1"] ["ln2"] ["ln3"], ["hv1"] ["hv2"] ["hv3"]) OVN_WAIT_PATCH_PORT_FLOWS(["ln4"], ["hv4"]) @@ -25953,68 +25953,68 @@ ovs-vsctl -- add-port br-int hv2-vif1 -- \ options:rxq_pcap=hv2/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" # Create the second logical switch with one port -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" -ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" # Create a logical router and attach both logical switches -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 router +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 -ovn-nbctl lb-add lb1 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 sctp +check ovn-nbctl lb-add lb1 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 sctp -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:10.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:10.0.0.2 ovn-nbctl --wait=sb -- --id=@hc create \ Load_Balancer_Health_Check vip="10.0.0.10\:80" -- add Load_Balancer . \ health_check @hc -ovn-nbctl --wait=sb ls-lb-add sw0 lb1 -ovn-nbctl --wait=sb ls-lb-add sw1 lb1 -ovn-nbctl --wait=sb lr-lb-add lr0 lb1 +check ovn-nbctl --wait=sb ls-lb-add sw0 lb1 +check ovn-nbctl --wait=sb ls-lb-add sw1 lb1 +check ovn-nbctl --wait=sb lr-lb-add lr0 lb1 -ovn-nbctl ls-add public -ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 -ovn-nbctl lsp-add public public-lr0 -ovn-nbctl lsp-set-type public-lr0 router -ovn-nbctl lsp-set-addresses public-lr0 router -ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public +check ovn-nbctl ls-add public +check ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 +check ovn-nbctl lsp-add public public-lr0 +check ovn-nbctl lsp-set-type public-lr0 router +check ovn-nbctl lsp-set-addresses public-lr0 router +check ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public # localnet port -ovn-nbctl lsp-add public ln-public -ovn-nbctl lsp-set-type ln-public localnet -ovn-nbctl lsp-set-addresses ln-public unknown -ovn-nbctl lsp-set-options ln-public network_name=public +check ovn-nbctl lsp-add public ln-public +check ovn-nbctl lsp-set-type ln-public localnet +check ovn-nbctl lsp-set-addresses ln-public unknown +check ovn-nbctl lsp-set-options ln-public network_name=public # schedule the gw router port to a chassis. Change the name of the chassis -ovn-nbctl --wait=hv lrp-set-gateway-chassis lr0-public hv1 20 +check ovn-nbctl --wait=hv lrp-set-gateway-chassis lr0-public hv1 20 OVN_POPULATE_ARP wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # And now for the anticlimax. We need to ensure that there is no # service monitor in the southbound db. @@ -26523,10 +26523,10 @@ ovn_attach n1 br-phys 192.168.0.1 ovs-vsctl add-port br-int vif1 -- \ set interface vif1 external-ids:iface-id=lp1 ofport-request=1 -ovn-nbctl ls-add lsw0 -ovn-nbctl lsp-add lsw0 lp1 -ovn-nbctl lsp-set-addresses lp1 "f0:00:00:00:00:01 10.0.0.1" -ovn-nbctl acl-add lsw0 from-lport 1000 'eth.type == 0x1234' drop +check ovn-nbctl ls-add lsw0 +check ovn-nbctl lsp-add lsw0 lp1 +check ovn-nbctl lsp-set-addresses lp1 "f0:00:00:00:00:01 10.0.0.1" +check ovn-nbctl acl-add lsw0 from-lport 1000 'eth.type == 0x1234' drop wait_for_ports_up check ovn-nbctl --wait=hv sync @@ -26535,7 +26535,7 @@ check ovn-nbctl --wait=hv sync AT_CHECK([ovn_trace --ovs lsw0 'inport == "lp1" && eth.type == 0x1234' | grep "dl_type=0x1234" | grep "cookie"], [0], [ignore]) # Replace the ACL with same match but different action. -ovn-nbctl acl-del lsw0 -- \ +check ovn-nbctl acl-del lsw0 -- \ acl-add lsw0 from-lport 1000 'eth.type == 0x1234' allow check ovn-nbctl --wait=hv sync @@ -26567,10 +26567,10 @@ ovn_start # Expected result: # Both lsp21 and lsp22 should received some of the packets. -ovn-nbctl lr-add lr1 +check ovn-nbctl lr-add lr1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 for i in 1 2; do ovn-nbctl lrp-add lr1 lrp-lr1-ls${i} 00:00:00:01:0${i}:01 192.168.${i}.1/24 @@ -26580,15 +26580,15 @@ for i in 1 2; do done #install static routes -ovn-nbctl lr-route-add lr1 10.0.0.0/24 192.168.2.21 -ovn-nbctl --ecmp lr-route-add lr1 10.0.0.0/24 192.168.2.22 +check ovn-nbctl lr-route-add lr1 10.0.0.0/24 192.168.2.21 +check ovn-nbctl --ecmp lr-route-add lr1 10.0.0.0/24 192.168.2.22 # Create logical ports -ovn-nbctl lsp-add ls1 lsp11 -- \ +check ovn-nbctl lsp-add ls1 lsp11 -- \ lsp-set-addresses lsp11 "f0:00:00:00:01:11 192.168.1.11" -ovn-nbctl lsp-add ls2 lsp21 -- \ +check ovn-nbctl lsp-add ls2 lsp21 -- \ lsp-set-addresses lsp21 "f0:00:00:00:02:21 192.168.2.21" -ovn-nbctl lsp-add ls2 lsp22 -- \ +check ovn-nbctl lsp-add ls2 lsp22 -- \ lsp-set-addresses lsp22 "f0:00:00:00:02:22 192.168.2.22" net_add n1 @@ -26678,10 +26678,10 @@ ovn_start # All packets should go out of a either lsp21 or lsp22 on hv1 # All packets should go out of the same port even on hv2 -ovn-nbctl lr-add lr1 +check ovn-nbctl lr-add lr1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 for i in 1 2; do ovn-nbctl lrp-add lr1 lrp-lr1-ls${i} 00:00:00:01:0${i}:01 192.168.${i}.1/24 @@ -26691,20 +26691,20 @@ for i in 1 2; do done #install static routes -ovn-nbctl lr-route-add lr1 10.0.0.0/24 192.168.2.21 +check ovn-nbctl lr-route-add lr1 10.0.0.0/24 192.168.2.21 route_uuid=$(fetch_column nb:logical_router_static_route _uuid nexthop="192.168.2.21") check ovn-nbctl set logical_router_static_route $route_uuid selection_fields="eth_src,ip_proto,ip_src,ip_dst,tp_dst" -ovn-nbctl --ecmp lr-route-add lr1 10.0.0.0/24 192.168.2.22 +check ovn-nbctl --ecmp lr-route-add lr1 10.0.0.0/24 192.168.2.22 route_uuid=$(fetch_column nb:logical_router_static_route _uuid nexthop="192.168.2.22") check ovn-nbctl set logical_router_static_route $route_uuid selection_fields="eth_dst,ip_proto,ip_src,ip_dst,tp_dst" # Create logical ports -ovn-nbctl lsp-add ls1 lsp11 -- \ +check ovn-nbctl lsp-add ls1 lsp11 -- \ lsp-set-addresses lsp11 "f0:00:00:00:01:11 192.168.1.11" -ovn-nbctl lsp-add ls2 lsp21 -- \ +check ovn-nbctl lsp-add ls2 lsp21 -- \ lsp-set-addresses lsp21 "f0:00:00:00:02:21 192.168.2.21" -ovn-nbctl lsp-add ls2 lsp22 -- \ +check ovn-nbctl lsp-add ls2 lsp22 -- \ lsp-set-addresses lsp22 "f0:00:00:00:02:22 192.168.2.22" net_add n1 @@ -26917,7 +26917,7 @@ ovn_start # Expected result: # lsp11 should receive traffic, lsp21 should not receive any traffic -ovn-nbctl lr-add lr1 +check ovn-nbctl lr-add lr1 for i in 1 2; do ovn-nbctl ls-add ls${i} @@ -26928,18 +26928,18 @@ for i in 1 2; do done # install static routes -ovn-nbctl lr-route-add lr1 0.0.0.0/0 192.168.2.21 -ovn-nbctl --route-table=rtb-1 lr-route-add lr1 1.1.1.1/32 192.168.2.22 +check ovn-nbctl lr-route-add lr1 0.0.0.0/0 192.168.2.21 +check ovn-nbctl --route-table=rtb-1 lr-route-add lr1 1.1.1.1/32 192.168.2.22 # set lrp-lr1-ls1 route table -ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 +check ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 # Create logical ports -ovn-nbctl lsp-add ls1 lsp11 -- \ +check ovn-nbctl lsp-add ls1 lsp11 -- \ lsp-set-addresses lsp11 "f0:00:00:00:01:11 192.168.1.11" -ovn-nbctl lsp-add ls2 lsp21 -- \ +check ovn-nbctl lsp-add ls2 lsp21 -- \ lsp-set-addresses lsp21 "f0:00:00:00:02:21 192.168.2.21" -ovn-nbctl lsp-add ls2 lsp22 -- \ +check ovn-nbctl lsp-add ls2 lsp22 -- \ lsp-set-addresses lsp22 "f0:00:00:00:02:22 192.168.2.22" net_add n1 @@ -27083,7 +27083,7 @@ ovn_start # Expected result: # lsp11 should receive traffic, lsp21 should not receive any traffic -ovn-nbctl lr-add lr1 +check ovn-nbctl lr-add lr1 for i in 1 2; do ovn-nbctl ls-add ls${i} @@ -27094,15 +27094,15 @@ for i in 1 2; do done # install static route, which is more specific than directly-connected route -ovn-nbctl --route-table=rtb-1 lr-route-add lr1 192.168.2.128/25 192.168.1.11 +check ovn-nbctl --route-table=rtb-1 lr-route-add lr1 192.168.2.128/25 192.168.1.11 # set lrp-lr1-ls1 route table -ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 +check ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 # Create logical ports -ovn-nbctl lsp-add ls1 lsp11 -- \ +check ovn-nbctl lsp-add ls1 lsp11 -- \ lsp-set-addresses lsp11 "f0:00:00:00:01:11 192.168.1.11" -ovn-nbctl lsp-add ls2 lsp21 -- \ +check ovn-nbctl lsp-add ls2 lsp21 -- \ lsp-set-addresses lsp21 "f0:00:00:00:02:21 192.168.2.21" net_add n1 @@ -27222,7 +27222,7 @@ ovn_start # Expected result: # lsp41 should receive traffic, lsp31 should not receive any traffic -ovn-nbctl lr-add lr1 +check ovn-nbctl lr-add lr1 # Create logical topology for i in $(seq 1 4); do @@ -27236,11 +27236,11 @@ for i in $(seq 1 4); do done # install static routes -ovn-nbctl --route-table=rtb-1 lr-route-add lr1 10.0.0.0/24 192.168.3.31 -ovn-nbctl lr-route-add lr1 10.0.0.0/24 192.168.4.41 +check ovn-nbctl --route-table=rtb-1 lr-route-add lr1 10.0.0.0/24 192.168.3.31 +check ovn-nbctl lr-route-add lr1 10.0.0.0/24 192.168.4.41 # set lrp-lr1-ls1 route table -ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 +check ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 net_add n1 sim_add hv1 @@ -27335,7 +27335,7 @@ ovn_start # Expected result: # lsp41 should receive traffic, lsp31 should not receive any traffic -ovn-nbctl lr-add lr1 +check ovn-nbctl lr-add lr1 # Create logical topology for i in $(seq 1 4); do @@ -27349,12 +27349,12 @@ for i in $(seq 1 4); do done # install static routes -ovn-nbctl --route-table=rtb-1 lr-route-add lr1 2001:db8:2000::/64 2001:db8:3::31 -ovn-nbctl --route-table=rtb-2 lr-route-add lr1 2001:db8:2000::/64 2001:db8:4::41 +check ovn-nbctl --route-table=rtb-1 lr-route-add lr1 2001:db8:2000::/64 2001:db8:3::31 +check ovn-nbctl --route-table=rtb-2 lr-route-add lr1 2001:db8:2000::/64 2001:db8:4::41 # set lrp-lr1-ls{1,2} route tables -ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 -ovn-nbctl lrp-set-options lrp-lr1-ls2 route_table=rtb-2 +check ovn-nbctl lrp-set-options lrp-lr1-ls1 route_table=rtb-1 +check ovn-nbctl lrp-set-options lrp-lr1-ls2 route_table=rtb-2 net_add n1 sim_add hv1 @@ -27625,33 +27625,33 @@ ovs-vsctl -- add-port br-int hv1-vif1 -- \ # traffic. # Also create "duplicate" load balancers, i.e., different VIPs using the same # backends. -ovn-nbctl ls-add sw -ovn-nbctl lsp-add sw lsp -- lsp-set-addresses lsp 00:00:00:00:00:01 -ovn-nbctl lb-add lb-ipv4-tcp 88.88.88.88:8080 42.42.42.1:4041 tcp -ovn-nbctl lb-add lb-ipv4-tcp-dup 88.88.88.89:8080 42.42.42.1:4041 tcp -ovn-nbctl lb-add lb-ipv4-udp 88.88.88.88:4040 42.42.42.1:2021 udp -ovn-nbctl lb-add lb-ipv4-udp-dup 88.88.88.89:4040 42.42.42.1:2021 udp -ovn-nbctl lb-add lb-ipv6-tcp [[8800::0088]]:8080 [[4200::1]]:4041 tcp -ovn-nbctl lb-add lb-ipv6-tcp-dup [[8800::0089]]:8080 [[4200::1]]:4041 tcp -ovn-nbctl lb-add lb-ipv6-udp [[8800::0088]]:4040 [[4200::1]]:2021 udp -ovn-nbctl lb-add lb-ipv6-udp-dup [[8800::0089]]:4040 [[4200::1]]:2021 udp -ovn-nbctl ls-lb-add sw lb-ipv4-tcp -ovn-nbctl ls-lb-add sw lb-ipv4-tcp-dup -ovn-nbctl ls-lb-add sw lb-ipv4-udp -ovn-nbctl ls-lb-add sw lb-ipv4-udp-dup -ovn-nbctl ls-lb-add sw lb-ipv6-tcp -ovn-nbctl ls-lb-add sw lb-ipv6-tcp-dup -ovn-nbctl ls-lb-add sw lb-ipv6-udp -ovn-nbctl ls-lb-add sw lb-ipv6-udp-dup - -ovn-nbctl lr-add rtr -ovn-nbctl lrp-add rtr rtr-sw 00:00:00:00:01:00 42.42.42.254/24 4200::00ff/64 -ovn-nbctl lsp-add sw sw-rtr \ +check ovn-nbctl ls-add sw +check ovn-nbctl lsp-add sw lsp -- lsp-set-addresses lsp 00:00:00:00:00:01 +check ovn-nbctl lb-add lb-ipv4-tcp 88.88.88.88:8080 42.42.42.1:4041 tcp +check ovn-nbctl lb-add lb-ipv4-tcp-dup 88.88.88.89:8080 42.42.42.1:4041 tcp +check ovn-nbctl lb-add lb-ipv4-udp 88.88.88.88:4040 42.42.42.1:2021 udp +check ovn-nbctl lb-add lb-ipv4-udp-dup 88.88.88.89:4040 42.42.42.1:2021 udp +check ovn-nbctl lb-add lb-ipv6-tcp [[8800::0088]]:8080 [[4200::1]]:4041 tcp +check ovn-nbctl lb-add lb-ipv6-tcp-dup [[8800::0089]]:8080 [[4200::1]]:4041 tcp +check ovn-nbctl lb-add lb-ipv6-udp [[8800::0088]]:4040 [[4200::1]]:2021 udp +check ovn-nbctl lb-add lb-ipv6-udp-dup [[8800::0089]]:4040 [[4200::1]]:2021 udp +check ovn-nbctl ls-lb-add sw lb-ipv4-tcp +check ovn-nbctl ls-lb-add sw lb-ipv4-tcp-dup +check ovn-nbctl ls-lb-add sw lb-ipv4-udp +check ovn-nbctl ls-lb-add sw lb-ipv4-udp-dup +check ovn-nbctl ls-lb-add sw lb-ipv6-tcp +check ovn-nbctl ls-lb-add sw lb-ipv6-tcp-dup +check ovn-nbctl ls-lb-add sw lb-ipv6-udp +check ovn-nbctl ls-lb-add sw lb-ipv6-udp-dup + +check ovn-nbctl lr-add rtr +check ovn-nbctl lrp-add rtr rtr-sw 00:00:00:00:01:00 42.42.42.254/24 4200::00ff/64 +check ovn-nbctl lsp-add sw sw-rtr \ -- lsp-set-type sw-rtr router \ -- lsp-set-addresses sw-rtr 00:00:00:00:01:00 \ -- lsp-set-options sw-rtr router-port=rtr-sw -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync wait_for_ports_up ovn-sbctl dump-flows > sbflows @@ -27692,7 +27692,7 @@ OVS_WAIT_FOR_OUTPUT([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_CHK_LB_HAI # Also flush conntrack to avoid reusing an existing entry. as hv1 ovs-appctl dpctl/flush-conntrack -ovn-nbctl --wait=hv set load_balancer lb-ipv4-tcp options:hairpin_snat_ip="88.88.88.87" +check ovn-nbctl --wait=hv set load_balancer lb-ipv4-tcp options:hairpin_snat_ip="88.88.88.87" # Inject IPv4 TCP packets from lsp. tcp_payload=$(build_tcp_syn 84d0 1f90 05a7) hp_tcp_payload=$(build_tcp_syn 84d0 0fc9 156f) @@ -27756,7 +27756,7 @@ OVS_WAIT_FOR_OUTPUT([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_CHK_LB_HAI # Change LB Hairpin SNAT IP. # Also flush conntrack to avoid reusing an existing entry. as hv1 ovs-appctl dpctl/flush-conntrack -ovn-nbctl --wait=hv set load_balancer lb-ipv4-udp options:hairpin_snat_ip="88.88.88.87" +check ovn-nbctl --wait=hv set load_balancer lb-ipv4-udp options:hairpin_snat_ip="88.88.88.87" # Inject IPv4 UDP packets from lsp. udp_payload=$(build_udp 84d0 0fc8 6666) hp_udp_payload=$(build_udp 84d0 07e5 6e4a) @@ -27824,7 +27824,7 @@ OVS_WAIT_FOR_OUTPUT([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_CHK_LB_HAI # Change LB Hairpin SNAT IP. # Also flush conntrack to avoid reusing an existing entry. as hv1 ovs-appctl dpctl/flush-conntrack -ovn-nbctl --wait=hv set load_balancer lb-ipv6-tcp options:hairpin_snat_ip="8800::0087" +check ovn-nbctl --wait=hv set load_balancer lb-ipv6-tcp options:hairpin_snat_ip="8800::0087" # Inject IPv6 TCP packets from lsp. tcp_payload=$(build_tcp_syn 84d0 1f90 3ff9) @@ -27897,7 +27897,7 @@ OVS_WAIT_FOR_OUTPUT([as hv1 ovs-ofctl dump-flows br-int table=OFTABLE_CHK_LB_HAI # Change LB Hairpin SNAT IP. # Also flush conntrack to avoid reusing an existing entry. as hv1 ovs-appctl dpctl/flush-conntrack -ovn-nbctl --wait=hv set load_balancer lb-ipv6-udp options:hairpin_snat_ip="8800::0087" +check ovn-nbctl --wait=hv set load_balancer lb-ipv6-udp options:hairpin_snat_ip="8800::0087" # Inject IPv6 UDP packets from lsp. udp_payload=$(build_udp 84d0 0fc8 a0b8) @@ -27978,8 +27978,8 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([Big Load Balancer]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl ls-add ls1 +check ovn-nbctl lsp-add ls1 lsp1 net_add n1 sim_add hv1 @@ -27996,8 +27996,8 @@ for i in `seq 1 9` ; do done done -ovn-nbctl lb-add lb0 172.172.0.1:8080 "${IPS}" -ovn-nbctl --wait=hv ls-lb-add ls1 lb0 +check ovn-nbctl lb-add lb0 172.172.0.1:8080 "${IPS}" +check ovn-nbctl --wait=hv ls-lb-add ls1 lb0 AT_CHECK([test 2287 = `ovs-ofctl dump-group-stats br-int | grep -o bucket | wc -l`]) @@ -28019,8 +28019,8 @@ OVS_WAIT_UNTIL([ovs-vsctl list Interface p1]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl --wait=sb lsp-add ls1 lsp1 +check ovn-nbctl ls-add ls1 +check ovn-nbctl --wait=sb lsp-add ls1 lsp1 # Simulate the fact that lsp1 had been previously bound on hv1. ovn-sbctl --id=@e1 create encap chassis_name=hv1 ip="192.168.0.1" type="geneve" \ @@ -28047,8 +28047,8 @@ sim_add hv1 ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl --wait=sb lsp-add ls1 lsp1 +check ovn-nbctl ls-add ls1 +check ovn-nbctl --wait=sb lsp-add ls1 lsp1 # Simulate the fact that lsp1 had been previously bound on hv1. ovn-sbctl --id=@e1 create encap chassis_name=hv1 ip="192.168.0.1" type="geneve" \ @@ -28269,7 +28269,7 @@ AT_CHECK([ grep "n_packets=0" -c) ]) -ovn-nbctl --wait=hv set logical_router_policy $pol1 options:pkt_mark=2 +check ovn-nbctl --wait=hv set logical_router_policy $pol1 options:pkt_mark=2 send_ipv4_pkt hv1 hv1-vif1 505400000003 00000000ff01 \ $(ip_to_hex 10 0 0 3) $(ip_to_hex 172 168 0 120) \ c3ad 83dc @@ -28357,25 +28357,25 @@ AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_policy.*priority=1001" | ovn_str match=(ip6), action=(pkt.mark = 4294967295; reg8[[0..15]] = 0; next;) ]) -ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=-1 +check ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=-1 AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_policy.*priority=1001" | ovn_strip_lflows], [0], [dnl table=??(lr_in_policy ), priority=1001 , dnl match=(ip6), action=(reg8[[0..15]] = 0; next;) ]) -ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=2147483648 +check ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=2147483648 AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_policy.*priority=1001" | ovn_strip_lflows], [0], [dnl table=??(lr_in_policy ), priority=1001 , dnl match=(ip6), action=(pkt.mark = 2147483648; reg8[[0..15]] = 0; next;) ]) -ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=foo +check ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=foo AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_policy.*priority=1001" | ovn_strip_lflows], [0], [dnl table=??(lr_in_policy ), priority=1001 , dnl match=(ip6), action=(reg8[[0..15]] = 0; next;) ]) -ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=4294967296 +check ovn-nbctl --wait=hv set logical_router_policy $pol5 options:pkt_mark=4294967296 AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_policy.*priority=1001" | ovn_strip_lflows], [0], [dnl table=??(lr_in_policy ), priority=1001 , dnl match=(ip6), action=(reg8[[0..15]] = 0; next;) @@ -28389,8 +28389,8 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([normalized lrp-add]) ovn_start -ovn-nbctl lr-add r1 -ovn-nbctl lrp-add r1 rp1 CC:DD:EE:EE:DD:CC AEF0::1/64 BEF0::1/64 +check ovn-nbctl lr-add r1 +check ovn-nbctl lrp-add r1 rp1 CC:DD:EE:EE:DD:CC AEF0::1/64 BEF0::1/64 AT_CHECK([ovn-nbctl --may-exist lrp-add r1 rp1 cc:dd:ee:ee:dd:cc bef0:0000:0000:0000::1/64 aef0::1/64]) AT_CLEANUP @@ -28400,9 +28400,9 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([normalized lr-nat-add]) ovn_start -ovn-nbctl lr-add r1 -ovn-nbctl lr-nat-add r1 snat AEF0::1 BEEF::/64 -ovn-nbctl lr-nat-add r1 dnat AEF0::1 BEEF::1 +check ovn-nbctl lr-add r1 +check ovn-nbctl lr-nat-add r1 snat AEF0::1 BEEF::/64 +check ovn-nbctl lr-nat-add r1 dnat AEF0::1 BEEF::1 AT_CHECK([ovn-nbctl --may-exist lr-nat-add r1 snat aef0:0000::1 beef:0000::/ffff:ffff:ffff:ffff::0]) AT_CHECK([ovn-nbctl --may-exist lr-nat-add r1 dnat aef0:0000:00::1 beef::0001]) @@ -28413,9 +28413,9 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([normalized lr-nat-del]) ovn_start -ovn-nbctl lr-add r1 -ovn-nbctl lr-nat-add r1 snat AEF0::1 BEEF::/64 -ovn-nbctl lr-nat-add r1 dnat AEF0::1 BEEF::1 +check ovn-nbctl lr-add r1 +check ovn-nbctl lr-nat-add r1 snat AEF0::1 BEEF::/64 +check ovn-nbctl lr-nat-add r1 dnat AEF0::1 BEEF::1 AT_CHECK([ovn-nbctl --if-exists lr-nat-del r1 snat beef:0000::0/ffff:ffff:ffff:ffff::0]) AT_CHECK([ovn-nbctl --if-exists lr-nat-del r1 dnat aef0:0000:00::1]) @@ -28454,65 +28454,65 @@ ovs-vsctl -- add-port br-int hv2-vif1 -- \ options:rxq_pcap=hv2/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" # Create port group and ACLs for sw0 ports. -ovn-nbctl pg-add pg0_drop sw0-p1 sw0-p2 -ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop -ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop +check ovn-nbctl pg-add pg0_drop sw0-p1 sw0-p2 +check ovn-nbctl acl-add pg0_drop from-lport 1001 "inport == @pg0_drop && ip" drop +check ovn-nbctl acl-add pg0_drop to-lport 1001 "outport == @pg0_drop && ip" drop -ovn-nbctl pg-add pg0 sw0-p1 sw0-p2 -ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip4" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related -ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related +check ovn-nbctl pg-add pg0 sw0-p1 sw0-p2 +check ovn-nbctl acl-add pg0 from-lport 1002 "inport == @pg0 && ip4" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related +check ovn-nbctl acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related # Create the second logical switch with one port -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" -ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lsp-set-addresses sw1-p1 "40:54:00:00:00:03 20.0.0.3" +check ovn-nbctl lsp-set-port-security sw1-p1 "40:54:00:00:00:03 20.0.0.3" # Create port group and ACLs for sw1 ports. -ovn-nbctl pg-add pg1_drop sw1-p1 -ovn-nbctl acl-add pg1_drop from-lport 1001 "inport == @pg1_drop && ip" drop -ovn-nbctl acl-add pg1_drop to-lport 1001 "outport == @pg1_drop && ip" drop +check ovn-nbctl pg-add pg1_drop sw1-p1 +check ovn-nbctl acl-add pg1_drop from-lport 1001 "inport == @pg1_drop && ip" drop +check ovn-nbctl acl-add pg1_drop to-lport 1001 "outport == @pg1_drop && ip" drop -ovn-nbctl pg-add pg1 sw1-p1 -ovn-nbctl acl-add pg1 from-lport 1002 "inport == @pg1 && ip4" allow-related -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related +check ovn-nbctl pg-add pg1 sw1-p1 +check ovn-nbctl acl-add pg1 from-lport 1002 "inport == @pg1 && ip4" allow-related +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && icmp4" allow-related +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && tcp && tcp.dst == 80" allow-related +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4 && ip4.src == 0.0.0.0/0 && udp && udp.dst == 80" allow-related # Create a logical router and attach both logical switches. # Make the logical router a GW router for load balancing to be supported. -ovn-nbctl lr-add lr0 -ovn-nbctl set logical_router lr0 options:chassis=hv1 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 - -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 - -ovn-nbctl lb-add lb1 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 +check ovn-nbctl lr-add lr0 +check ovn-nbctl set logical_router lr0 options:chassis=hv1 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 + +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 router +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 + +check ovn-nbctl lb-add lb1 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 lb1_uuid=$(ovn-nbctl --bare --columns _uuid list load_balancer) -ovn-nbctl ls-lb-add sw0 lb1 -ovn-nbctl ls-lb-add sw1 lb1 -ovn-nbctl lr-lb-add lr0 lb1 +check ovn-nbctl ls-lb-add sw0 lb1 +check ovn-nbctl ls-lb-add sw1 lb1 +check ovn-nbctl lr-lb-add lr0 lb1 OVS_WAIT_UNTIL([ test $(as hv1 ovs-ofctl dump-groups br-int | \ @@ -28526,7 +28526,7 @@ OVS_WAIT_UNTIL([ echo "lb1_uuid = $lb1_uuid" -ovn-nbctl set load_balancer $lb1_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" +check ovn-nbctl set load_balancer $lb1_uuid selection_fields="ip_src,ip_dst,tp_src,tp_dst" OVS_WAIT_UNTIL([ test $(as hv1 ovs-ofctl dump-groups br-int | \ @@ -28539,7 +28539,7 @@ OVS_WAIT_UNTIL([ ]) # Change the protocol to udp. -ovn-nbctl set load_balancer $lb1_uuid protocol=udp +check ovn-nbctl set load_balancer $lb1_uuid protocol=udp OVS_WAIT_UNTIL([ test $(as hv1 ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(ip_src,ip_dst,udp_src,udp_dst)" -c) -eq 2 @@ -28551,7 +28551,7 @@ OVS_WAIT_UNTIL([ ]) # Change the protocol to udp. -ovn-nbctl set load_balancer $lb1_uuid protocol=sctp +check ovn-nbctl set load_balancer $lb1_uuid protocol=sctp OVS_WAIT_UNTIL([ test $(as hv1 ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(ip_src,ip_dst,sctp_src,sctp_dst)" -c) -eq 2 @@ -28562,7 +28562,7 @@ OVS_WAIT_UNTIL([ grep "selection_method=hash,fields(ip_src,ip_dst,sctp_src,sctp_dst)" -c) -eq 1 ]) -ovn-nbctl set load_balancer $lb1_uuid selection_fields="ip_src,ip_dst,tp_dst" +check ovn-nbctl set load_balancer $lb1_uuid selection_fields="ip_src,ip_dst,tp_dst" OVS_WAIT_UNTIL([ test $(as hv1 ovs-ofctl dump-groups br-int | \ grep "selection_method=hash,fields(ip_src,ip_dst,sctp_dst)" -c) -eq 2 @@ -28594,17 +28594,17 @@ as hv2 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.2 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows > sbflows AT_CAPTURE_FILE([sbflows]) @@ -28647,7 +28647,7 @@ hv2_offlows=$(as hv2 ovs-ofctl dump-flows br-int | wc -l) echo "hv2 flows : $hv2_offlows" AT_CHECK([test $hv2_offlows -gt 0]) -ovn-nbctl ls-del sw0 +check ovn-nbctl ls-del sw0 as hv1 ovs-vsctl del-port hv1-vif1 as hv2 ovs-vsctl del-port hv2-vif1 @@ -28658,17 +28658,17 @@ as hv2 ovs-vsctl set open . external_ids:ovn-monitor-all=true wait_row_count Chassis 1 name=hv1 other_config:ovn-monitor-all=true wait_row_count Chassis 1 name=hv2 other_config:ovn-monitor-all=true -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows > sbflows2 AT_CAPTURE_FILE([sbflows2]) @@ -28740,20 +28740,20 @@ ovs-vsctl -- add-port br-int hv1-vif1 -- \ options:rxq_pcap=hv1/vif1-rx.pcap \ ofport-request=1 -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "00:00:00:01:01:02 192.168.1.2" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "00:00:00:01:01:02 192.168.1.2" -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 -ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:00:01 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 +check ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:00:01 -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:00:01 192.168.1.1/24 aef0:0:0:0:0:0:0:1/64 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:00:01 192.168.1.1/24 aef0:0:0:0:0:0:0:1/64 wait_for_ports_up sw0-p1 -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync sw0_dpkey=$(ovn-sbctl --bare --columns tunnel_key list datapath_binding sw0) lr0_dpkey=$(ovn-sbctl --bare --columns tunnel_key list datapath_binding lr0) @@ -28808,15 +28808,15 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.1 -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-set-addresses sw0-p1 "50:54:00:00:00:03 10.0.0.3" +check ovn-nbctl lsp-set-port-security sw0-p1 "50:54:00:00:00:03 10.0.0.3" -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" -ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-set-addresses sw0-p2 "50:54:00:00:00:04 10.0.0.4" +check ovn-nbctl lsp-set-port-security sw0-p2 "50:54:00:00:00:04 10.0.0.4" as hv1 ovs-vsctl -- add-port br-int hv1-vif1 -- \ @@ -28887,7 +28887,7 @@ reg15=0x${p2_dpkey} | grep REG13 | wc -l) -eq 0]) p2_zoneid=$(as hv1 ovs-vsctl get bridge br-int external_ids:ct-zone-sw0-p2 | sed 's/"//g') AT_CHECK([test -z $p2_zoneid]) -ovn-nbctl lsp-del sw0-p1 +check ovn-nbctl lsp-del sw0-p1 OVS_WAIT_UNTIL([test $(ovs-ofctl dump-flows br-int table=OFTABLE_LOCAL_OUTPUT,metadata=${sw0_dpkey},\ reg15=0x${p1_dpkey} | grep REG13 | wc -l) -eq 0]) @@ -28999,8 +28999,8 @@ AT_CHECK([ ]) # Now make GW a gateway router on hv1 -ovn-nbctl set Logical_Router $gw_uuid options:chassis=hv1 -ovn-nbctl --wait=hv sync +check ovn-nbctl set Logical_Router $gw_uuid options:chassis=hv1 +check ovn-nbctl --wait=hv sync ovn-sbctl list logical_flow > lflows # And ensure that ECMP symmetric reply flows are present only on hv1 @@ -29129,8 +29129,8 @@ AT_CHECK([ ]) # Now make GW a gateway router on hv1 -ovn-nbctl set Logical_Router $gw_uuid options:chassis=hv1 -ovn-nbctl --wait=hv sync +check ovn-nbctl set Logical_Router $gw_uuid options:chassis=hv1 +check ovn-nbctl --wait=hv sync # And ensure that ECMP symmetric reply flows are present only on hv1 as hv1 ovs-ofctl dump-flows br-int > hv1flows @@ -29171,43 +29171,43 @@ ovn_start # in 10.0.0.0/24 network. # R1 is connected to S1 (10.0.1.0/24), R2 is connected to S2 (10.0.2.0/24) -ovn-nbctl lr-add r1 -- set logical_router r1 option:dynamic_neigh_routers=true -ovn-nbctl lr-add r2 -- set logical_router r2 option:dynamic_neigh_routers=true +check ovn-nbctl lr-add r1 -- set logical_router r1 option:dynamic_neigh_routers=true +check ovn-nbctl lr-add r2 -- set logical_router r2 option:dynamic_neigh_routers=true -ovn-nbctl ls-add s1 -ovn-nbctl ls-add s2 -ovn-nbctl ls-add join +check ovn-nbctl ls-add s1 +check ovn-nbctl ls-add s2 +check ovn-nbctl ls-add join # Connnect r1 to s1. -ovn-nbctl lrp-add r1 lrp-r1-s1 00:00:00:00:01:01 10.0.1.1/24 -ovn-nbctl lsp-add s1 lsp-s1-r1 -- set Logical_Switch_Port lsp-s1-r1 type=router \ +check ovn-nbctl lrp-add r1 lrp-r1-s1 00:00:00:00:01:01 10.0.1.1/24 +check ovn-nbctl lsp-add s1 lsp-s1-r1 -- set Logical_Switch_Port lsp-s1-r1 type=router \ options:router-port=lrp-r1-s1 addresses=router # Connnect r2 to s2. -ovn-nbctl lrp-add r2 lrp-r2-s2 00:00:00:00:02:01 10.0.2.1/24 -ovn-nbctl lsp-add s2 lsp-s2-r2 -- set Logical_Switch_Port lsp-s2-r2 type=router \ +check ovn-nbctl lrp-add r2 lrp-r2-s2 00:00:00:00:02:01 10.0.2.1/24 +check ovn-nbctl lsp-add s2 lsp-s2-r2 -- set Logical_Switch_Port lsp-s2-r2 type=router \ options:router-port=lrp-r2-s2 addresses=router # Connect r1 to join -ovn-nbctl lrp-add r1 lrp-r1-join 00:00:00:00:03:01 10.0.0.1/24 -ovn-nbctl lsp-add join lsp-join-r1 -- set Logical_Switch_Port lsp-join-r1 \ +check ovn-nbctl lrp-add r1 lrp-r1-join 00:00:00:00:03:01 10.0.0.1/24 +check ovn-nbctl lsp-add join lsp-join-r1 -- set Logical_Switch_Port lsp-join-r1 \ type=router options:router-port=lrp-r1-join addresses=router # Connect r2 to join -ovn-nbctl lrp-add r2 lrp-r2-join 00:00:00:00:03:02 10.0.0.2/24 -ovn-nbctl lsp-add join lsp-join-r2 -- set Logical_Switch_Port lsp-join-r2 \ +check ovn-nbctl lrp-add r2 lrp-r2-join 00:00:00:00:03:02 10.0.0.2/24 +check ovn-nbctl lsp-add join lsp-join-r2 -- set Logical_Switch_Port lsp-join-r2 \ type=router options:router-port=lrp-r2-join addresses=router #install static routes -ovn-nbctl lr-route-add r1 10.0.2.0/24 10.0.0.2 -ovn-nbctl lr-route-add r2 10.0.1.0/24 10.0.0.1 +check ovn-nbctl lr-route-add r1 10.0.2.0/24 10.0.0.2 +check ovn-nbctl lr-route-add r2 10.0.1.0/24 10.0.0.1 # Create logical port p1 in s1 -ovn-nbctl lsp-add s1 p1 \ +check ovn-nbctl lsp-add s1 p1 \ -- lsp-set-addresses p1 "f0:00:00:00:01:02 10.0.1.2" # Create logical port p2 in s2 -ovn-nbctl lsp-add s2 p2 \ +check ovn-nbctl lsp-add s2 p2 \ -- lsp-set-addresses p2 "f0:00:00:00:02:02 10.0.2.2" # Create two hypervisor and create OVS ports corresponding to logical ports. @@ -29240,7 +29240,7 @@ ovs-vsctl -- add-port br-int hv2-vif1 -- \ OVN_POPULATE_ARP wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync AT_CHECK([ovn-sbctl lflow-list | grep lr_in_arp_resolve | grep -F 10.0.0.1], [1], []) AT_CHECK([ovn-sbctl lflow-list | grep lr_in_arp_resolve | grep -F 10.0.0.2], [1], []) @@ -29361,8 +29361,8 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.10 -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lsp +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lsp as hv1 ovs-vsctl \ -- add-port br-int vif1 \ @@ -29378,7 +29378,7 @@ as hv1 ovn-appctl -t ovn-controller debug/pause # Delete port binding and OVS port. The updates will be processed in the same # loop in ovn-controller when it resumes. -ovn-nbctl --wait=sb lsp-del lsp +check ovn-nbctl --wait=sb lsp-del lsp as hv1 ovs-vsctl del-port vif1 # Resume ovn-controller. @@ -29539,32 +29539,32 @@ AT_CLEANUP m4_define([TEST_LR_DROP_TRAFFIC_FOR_OWN_IPS], [ ovn_start -ovn-nbctl lr-add r1 # Gateway router or LR with DGP on the ext side -ovn-nbctl ls-add ext # simulate external LS -ovn-nbctl ls-add s2 # simulate internal LS +check ovn-nbctl lr-add r1 # Gateway router or LR with DGP on the ext side +check ovn-nbctl ls-add ext # simulate external LS +check ovn-nbctl ls-add s2 # simulate internal LS # Connnect r1 to ext. -ovn-nbctl lrp-add r1 lrp-r1-ext 00:00:00:00:01:01 10.0.1.1/24 +check ovn-nbctl lrp-add r1 lrp-r1-ext 00:00:00:00:01:01 10.0.1.1/24 if test X"$1" = X"DGP"; then ovn-nbctl lrp-set-gateway-chassis lrp-r1-ext hv1 1 else ovn-nbctl set logical_router r1 options:chassis=hv1 fi -ovn-nbctl lsp-add ext lsp-ext-r1 -- set Logical_Switch_Port lsp-ext-r1 type=router \ +check ovn-nbctl lsp-add ext lsp-ext-r1 -- set Logical_Switch_Port lsp-ext-r1 type=router \ options:router-port=lrp-r1-ext addresses=router # Connnect r1 to s2. -ovn-nbctl lrp-add r1 lrp-r1-s2 00:00:00:00:02:01 10.0.2.1/24 -ovn-nbctl lsp-add s2 lsp-s2-r1 -- set Logical_Switch_Port lsp-s2-r1 type=router \ +check ovn-nbctl lrp-add r1 lrp-r1-s2 00:00:00:00:02:01 10.0.2.1/24 +check ovn-nbctl lsp-add s2 lsp-s2-r1 -- set Logical_Switch_Port lsp-s2-r1 type=router \ options:router-port=lrp-r1-s2 addresses=router # Create logical port p1 in ext -ovn-nbctl lsp-add ext p1 \ +check ovn-nbctl lsp-add ext p1 \ -- lsp-set-addresses p1 "f0:00:00:00:01:02 10.0.1.2" \ -- lsp-set-port-security p1 "f0:00:00:00:01:02 10.0.1.2" # Create logical port p2 in s2 -ovn-nbctl lsp-add s2 p2 \ +check ovn-nbctl lsp-add s2 p2 \ -- lsp-set-addresses p2 "f0:00:00:00:02:02 10.0.2.2" # Create two hypervisor and create OVS ports corresponding to logical ports. @@ -29592,7 +29592,7 @@ ovs-vsctl -- add-port br-int hv1-vif2 -- \ OVN_POPULATE_ARP wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers arp_resolve=$(ovn-debug lflow-stage-to-oftable lr_in_arp_resolve) @@ -29621,8 +29621,8 @@ AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep -E "table=$(ovn-debug lflow- ]) # Use the router IP as SNAT IP. -ovn-nbctl lr-nat-add r1 snat 10.0.1.1 10.8.8.0/24 -ovn-nbctl --wait=hv sync +check ovn-nbctl lr-nat-add r1 snat 10.0.1.1 10.8.8.0/24 +check ovn-nbctl --wait=hv sync # Send ip packets from p1 to lrp-r1-ext src_mac="f00000000102" @@ -29748,7 +29748,7 @@ check test "$sbs1" = 0 check test "$hvs1" = 0 # Force a sequence number change and check the new timestamps -ovn-nbctl --wait=hv ls-add s1 +check ovn-nbctl --wait=hv ls-add s1 get_cfg 2 check test "$nbs2" = 1 check test "$nbt2" -gt 0 @@ -29760,7 +29760,7 @@ check test "$hvt2" -gt 0 sleep 1 check as hv3 ovn-appctl -t ovn-controller exit --restart wait_for_ports_up -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync wait_row_count Chassis_Private 9 name!=hv3 nb_cfg=2 check_row_count Chassis_Private 1 name=hv3 nb_cfg=1 @@ -29839,105 +29839,105 @@ ovs-vsctl -- add-port br-int hv3-vif1 -- \ AT_CHECK([ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=physnet1:br-phys]) ovs-vsctl set open . external_ids:ovn-enable-lflow-cache=false -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port1 -ovn-nbctl lsp-set-addresses sw0-port1 "10:54:00:00:00:03 10.0.0.3 1000::3" -ovn-nbctl lsp-add sw0 sw0-port2 -ovn-nbctl lsp-set-addresses sw0-port2 "10:54:00:00:00:04 10.0.0.4 1000::4" - -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-port1 -ovn-nbctl lsp-set-addresses sw1-port1 "40:54:00:00:00:03 20.0.0.3 2000::3" - -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 1000::a/64 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 router -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 - -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 2000::a/64 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 - -ovn-nbctl ls-add public -ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.16.0.100/24 3000::a/64 -ovn-nbctl lsp-add public public-lr0 -ovn-nbctl lsp-set-type public-lr0 router -ovn-nbctl lsp-set-addresses public-lr0 router -ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port1 +check ovn-nbctl lsp-set-addresses sw0-port1 "10:54:00:00:00:03 10.0.0.3 1000::3" +check ovn-nbctl lsp-add sw0 sw0-port2 +check ovn-nbctl lsp-set-addresses sw0-port2 "10:54:00:00:00:04 10.0.0.4 1000::4" + +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-port1 +check ovn-nbctl lsp-set-addresses sw1-port1 "40:54:00:00:00:03 20.0.0.3 2000::3" + +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 1000::a/64 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 router +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 + +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 2000::a/64 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 router +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 + +check ovn-nbctl ls-add public +check ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.16.0.100/24 3000::a/64 +check ovn-nbctl lsp-add public public-lr0 +check ovn-nbctl lsp-set-type public-lr0 router +check ovn-nbctl lsp-set-addresses public-lr0 router +check ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public # localnet port -ovn-nbctl lsp-add public ln-public -ovn-nbctl lsp-set-type ln-public localnet -ovn-nbctl lsp-set-addresses ln-public unknown -ovn-nbctl lsp-set-options ln-public network_name=physnet1 +check ovn-nbctl lsp-add public ln-public +check ovn-nbctl lsp-set-type ln-public localnet +check ovn-nbctl lsp-set-addresses ln-public unknown +check ovn-nbctl lsp-set-options ln-public network_name=physnet1 # schedule the gw router port to a chassis. -ovn-nbctl lrp-set-gateway-chassis lr0-public hv1 20 +check ovn-nbctl lrp-set-gateway-chassis lr0-public hv1 20 # Create NAT entries for the ports # sw0-port1 -ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.16.0.110 10.0.0.3 sw0-port1 30:54:00:00:00:03 -ovn-nbctl lr-nat-add lr0 dnat_and_snat 3000::c 1000::3 sw0-port1 40:54:00:00:00:03 +check ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.16.0.110 10.0.0.3 sw0-port1 30:54:00:00:00:03 +check ovn-nbctl lr-nat-add lr0 dnat_and_snat 3000::c 1000::3 sw0-port1 40:54:00:00:00:03 # sw1-port1 -ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.16.0.120 20.0.0.3 sw1-port1 30:54:00:00:00:04 -ovn-nbctl lr-nat-add lr0 dnat_and_snat 3000::d 2000::3 sw1-port1 40:54:00:00:00:04 +check ovn-nbctl lr-nat-add lr0 dnat_and_snat 172.16.0.120 20.0.0.3 sw1-port1 30:54:00:00:00:04 +check ovn-nbctl lr-nat-add lr0 dnat_and_snat 3000::d 2000::3 sw1-port1 40:54:00:00:00:04 # Add snat entriess -ovn-nbctl lr-nat-add lr0 snat 172.16.0.100 10.0.0.0/24 -ovn-nbctl lr-nat-add lr0 snat 172.16.0.101 10.0.0.10 -ovn-nbctl lr-nat-add lr0 snat 172.16.0.102 10.0.0.11 -ovn-nbctl lr-nat-add lr0 snat 172.16.0.100 20.0.0.0/24 +check ovn-nbctl lr-nat-add lr0 snat 172.16.0.100 10.0.0.0/24 +check ovn-nbctl lr-nat-add lr0 snat 172.16.0.101 10.0.0.10 +check ovn-nbctl lr-nat-add lr0 snat 172.16.0.102 10.0.0.11 +check ovn-nbctl lr-nat-add lr0 snat 172.16.0.100 20.0.0.0/24 -ovn-nbctl ls-add sw3 -ovn-nbctl lsp-add sw3 sw3-port1 -ovn-nbctl lsp-set-addresses sw3-port1 "20:14:00:00:00:03 30.0.0.3 3000::3" +check ovn-nbctl ls-add sw3 +check ovn-nbctl lsp-add sw3 sw3-port1 +check ovn-nbctl lsp-set-addresses sw3-port1 "20:14:00:00:00:03 30.0.0.3 3000::3" -ovn-nbctl lr-add lr1 -ovn-nbctl lrp-add lr1 lr1-sw3 00:00:00:10:ff:03 30.0.0.1/24 3000::a/64 -ovn-nbctl lsp-add sw3 sw3-lr1 -ovn-nbctl lsp-set-type sw3-lr1 router -ovn-nbctl lsp-set-addresses sw3-lr1 router -ovn-nbctl lsp-set-options sw3-lr1 router-port=lr1-sw3 +check ovn-nbctl lr-add lr1 +check ovn-nbctl lrp-add lr1 lr1-sw3 00:00:00:10:ff:03 30.0.0.1/24 3000::a/64 +check ovn-nbctl lsp-add sw3 sw3-lr1 +check ovn-nbctl lsp-set-type sw3-lr1 router +check ovn-nbctl lsp-set-addresses sw3-lr1 router +check ovn-nbctl lsp-set-options sw3-lr1 router-port=lr1-sw3 -ovn-nbctl ls-add join +check ovn-nbctl ls-add join # Connect lr1 to join -ovn-nbctl lrp-add lr1 lr1-join 00:00:04:01:02:03 170.0.0.1/24 -ovn-nbctl lsp-add join join-lr1 -ovn-nbctl lsp-set-type join-lr1 router -ovn-nbctl lsp-set-addresses join-lr1 router -ovn-nbctl lsp-set-options join-lr1 router-port=lr1-join +check ovn-nbctl lrp-add lr1 lr1-join 00:00:04:01:02:03 170.0.0.1/24 +check ovn-nbctl lsp-add join join-lr1 +check ovn-nbctl lsp-set-type join-lr1 router +check ovn-nbctl lsp-set-addresses join-lr1 router +check ovn-nbctl lsp-set-options join-lr1 router-port=lr1-join # Create GW router -ovn-nbctl lr-add gw_router +check ovn-nbctl lr-add gw_router # connect gw_router to join -ovn-nbctl lrp-add gw_router gw_router-join 00:00:03:11:12:13 170.0.0.2/24 -ovn-nbctl lsp-add join join-gw_router -ovn-nbctl lsp-set-type join-gw_router router -ovn-nbctl lsp-set-addresses join-gw_router router -ovn-nbctl lsp-set-options join-gw_router router-port=gw_router-join +check ovn-nbctl lrp-add gw_router gw_router-join 00:00:03:11:12:13 170.0.0.2/24 +check ovn-nbctl lsp-add join join-gw_router +check ovn-nbctl lsp-set-type join-gw_router router +check ovn-nbctl lsp-set-addresses join-gw_router router +check ovn-nbctl lsp-set-options join-gw_router router-port=gw_router-join # Connect gw_router to public -ovn-nbctl lrp-add gw_router gw_router-public 00:00:30:30:32:33 172.16.0.200/24 3000::b/64 -ovn-nbctl lsp-add public public-gw_router -ovn-nbctl lsp-set-type public-gw_router router -ovn-nbctl lsp-set-addresses public-gw_router router -ovn-nbctl lsp-set-options public-gw_router router-port=gw_router-public +check ovn-nbctl lrp-add gw_router gw_router-public 00:00:30:30:32:33 172.16.0.200/24 3000::b/64 +check ovn-nbctl lsp-add public public-gw_router +check ovn-nbctl lsp-set-type public-gw_router router +check ovn-nbctl lsp-set-addresses public-gw_router router +check ovn-nbctl lsp-set-options public-gw_router router-port=gw_router-public # Pin gw_router to hv3 -ovn-nbctl set logical_router gw_router options:chassis=hv3 +check ovn-nbctl set logical_router gw_router options:chassis=hv3 # Add snat entries on gw_router -ovn-nbctl lr-nat-add gw_router snat 172.16.0.200 30.0.0.0/24 -ovn-nbctl lr-nat-add gw_router snat 172.16.0.201 30.0.0.3 +check ovn-nbctl lr-nat-add gw_router snat 172.16.0.200 30.0.0.0/24 +check ovn-nbctl lr-nat-add gw_router snat 172.16.0.201 30.0.0.3 wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Create an interface in br-phys in hv2 and send ARP request for 172.16.0.100 as hv2 @@ -30008,9 +30008,9 @@ test_arp_response 000030303233 $(ip_to_hex 172 16 0 200) hv3 hv1 hv2 test_arp_response 000030303233 $(ip_to_hex 172 16 0 201) hv3 hv1 hv2 # Make hv3 claim the cr-lr0-public -ovn-nbctl lrp-set-gateway-chassis lr0-public hv1 20 -ovn-nbctl lrp-set-gateway-chassis lr0-public hv2 30 -ovn-nbctl lrp-set-gateway-chassis lr0-public hv3 40 +check ovn-nbctl lrp-set-gateway-chassis lr0-public hv1 20 +check ovn-nbctl lrp-set-gateway-chassis lr0-public hv2 30 +check ovn-nbctl lrp-set-gateway-chassis lr0-public hv3 40 hv3_uuid=$(ovn-sbctl --bare --columns _uuid list chassis hv3) @@ -30024,7 +30024,7 @@ test_arp_response 000020201213 $(ip_to_hex 172 16 0 101) hv3 hv1 hv2 test_arp_response 000020201213 $(ip_to_hex 172 16 0 102) hv3 hv1 hv2 # Schedule gw_router on hv1. -ovn-nbctl set logical_router gw_router options:chassis=hv1 +check ovn-nbctl set logical_router gw_router options:chassis=hv1 hv1_uuid=$(ovn-sbctl --bare --columns _uuid list chassis hv1) OVS_WAIT_UNTIL([ @@ -30168,12 +30168,12 @@ AT_SETUP([conflict ACLs with address set]) TAG_UNSTABLE ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 lsp1 \ +check ovn-nbctl lsp-add ls1 lsp1 \ -- lsp-set-addresses lsp1 "f0:00:00:00:00:01 10.0.0.1" -ovn-nbctl lsp-add ls1 lsp2 \ +check ovn-nbctl lsp-add ls1 lsp2 \ -- lsp-set-addresses lsp2 "f0:00:00:00:00:02 10.0.0.2" net_add n1 @@ -30195,7 +30195,7 @@ ovs-vsctl -- add-port br-int hv1-vif2 -- \ ofport-request=2 # Default drop -ovn-nbctl acl-add ls1 to-lport 1000 \ +check ovn-nbctl acl-add ls1 to-lport 1000 \ 'outport == "lsp1" && ip4' drop # test_ip INPORT SRC_MAC DST_MAC SRC_IP DST_IP OUTPORT... @@ -30224,12 +30224,12 @@ addresses=\"10.0.0.2\",\"10.0.0.3\" # Create overlapping ACLs resulting in conflict desired OVS flows # Add ACL1 uses the address set -ovn-nbctl --wait=hv acl-add ls1 to-lport 1001 \ +check ovn-nbctl --wait=hv acl-add ls1 to-lport 1001 \ 'outport == "lsp1" && ip4 && ip4.src == $as1' allow # Add ACL2 which uses a single IP, which shouldn't take effect because # when it is added incrementally there is already a conflict one installed. -ovn-nbctl --wait=hv acl-add ls1 to-lport 1001 \ +check ovn-nbctl --wait=hv acl-add ls1 to-lport 1001 \ 'outport == "lsp1" && ip4 && ip4.src == 10.0.0.2' drop @@ -30240,13 +30240,13 @@ OVN_CHECK_PACKETS([hv1/vif1-tx.pcap], [1.expected]) # Update the address set which causes flow reprocessing but the OVS flow # for allowing 10.0.0.2 should keep unchanged -ovn-nbctl --wait=hv set Address_Set as1 addresses=\"10.0.0.2\" +check ovn-nbctl --wait=hv set Address_Set as1 addresses=\"10.0.0.2\" test_ip 2 f00000000002 f00000000001 $sip $dip 1 OVN_CHECK_PACKETS([hv1/vif1-tx.pcap], [1.expected]) # Delete the ACL1 that has "allow" action -ovn-nbctl --wait=hv acl-del ls1 to-lport 1001 \ +check ovn-nbctl --wait=hv acl-del ls1 to-lport 1001 \ 'outport == "lsp1" && ip4 && ip4.src == $as1' # ACL2 should take effect and packet should be dropped @@ -30260,9 +30260,9 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([port bind/unbind change handling with conj flows - IPv6]) ovn_start -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 -ovn-nbctl lsp-add ls1 lsp1 \ +check ovn-nbctl lsp-add ls1 lsp1 \ -- lsp-set-addresses lsp1 "f0:00:00:00:00:01 2001::1" \ -- lsp-set-port-security lsp1 "f0:00:00:00:00:01 2001::1" @@ -30279,7 +30279,7 @@ ovs-vsctl -- add-port br-int hv1-vif1 -- \ ofport-request=1 wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Expected conjunction flows: None OVS_WAIT_UNTIL([test 0 = `as hv1 ovs-ofctl dump-flows br-int | \ @@ -30314,9 +30314,9 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.10 -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-add sw0 sw0-p2 as hv1 ovs-vsctl \ -- add-port br-int vif1 \ @@ -30332,7 +30332,7 @@ as hv1 ovs-vsctl \ -- add-port br-temp t1 \ -- set Interface t1 external_ids:iface-id=sw0-p2 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # hv1 ovn-controller should not bind sw0-p2. wait_for_ports_up sw0-p1 @@ -30340,7 +30340,7 @@ check_row_count Port_Binding 0 logical_port=sw0-p2 chassis=$c # Trigger recompute and sw0-p2 should not be claimed. as hv1 ovn-appctl -t ovn-controller recompute -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check_row_count Port_Binding 0 logical_port=sw0-p2 chassis=$ch @@ -30410,7 +30410,7 @@ AT_SKIP_IF([test $HAVE_SCAPY = no]) ovn_start net_add n1 -ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls1 # 2 HVs, each with 2 encap-ips. # lspXY is the Yth LSP on hvX, with encap-ip 192.168.0.XY. @@ -30506,7 +30506,7 @@ AT_SKIP_IF([test $HAVE_SCAPY = no]) ovn_start net_add n1 -ovn-nbctl lr-add lr +check ovn-nbctl lr-add lr # 2 HVs, each with 2 encap-ips, and each hosting a separate LS, connected by a LR. # lspXY is the Yth LSP on hvX, with encap-ip 192.168.0.XY, with ip 10.0.X.Y @@ -31465,22 +31465,22 @@ check ovn-nbctl lsp-add sw0 sw0-port6 check ovn-nbctl lsp-add sw0 sw0-port7 ovn-nbctl create address_set name=as1 -ovn-nbctl set address_set . addresses="10.0.0.10,10.0.0.11,10.0.0.12" +check ovn-nbctl set address_set . addresses="10.0.0.10,10.0.0.11,10.0.0.12" -ovn-nbctl pg-add pg1 sw0-port1 sw0-port2 sw0-port3 -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4.dst == \$as1 && icmp4" drop -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4.dst == \$as1 && tcp && tcp.dst >=10000 && tcp.dst <= 20000" drop -ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4.dst == \$as1 && udp && udp.dst >=10000 && udp.dst <= 20000" drop +check ovn-nbctl pg-add pg1 sw0-port1 sw0-port2 sw0-port3 +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4.dst == \$as1 && icmp4" drop +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4.dst == \$as1 && tcp && tcp.dst >=10000 && tcp.dst <= 20000" drop +check ovn-nbctl acl-add pg1 to-lport 1002 "outport == @pg1 && ip4.dst == \$as1 && udp && udp.dst >=10000 && udp.dst <= 20000" drop -ovn-nbctl pg-add pg2 sw0-port2 sw0-port3 sw0-port4 sw0-port5 -ovn-nbctl acl-add pg2 to-lport 1002 "outport == @pg2 && ip4.dst == \$as1 && icmp4" allow-related -ovn-nbctl acl-add pg2 to-lport 1002 "outport == @pg2 && ip4.dst == \$as1 && tcp && tcp.dst >=30000 && tcp.dst <= 40000" drop -ovn-nbctl acl-add pg2 to-lport 1002 "outport == @pg2 && ip4.dst == \$as1 && udp && udp.dst >=30000 && udp.dst <= 40000" drop +check ovn-nbctl pg-add pg2 sw0-port2 sw0-port3 sw0-port4 sw0-port5 +check ovn-nbctl acl-add pg2 to-lport 1002 "outport == @pg2 && ip4.dst == \$as1 && icmp4" allow-related +check ovn-nbctl acl-add pg2 to-lport 1002 "outport == @pg2 && ip4.dst == \$as1 && tcp && tcp.dst >=30000 && tcp.dst <= 40000" drop +check ovn-nbctl acl-add pg2 to-lport 1002 "outport == @pg2 && ip4.dst == \$as1 && udp && udp.dst >=30000 && udp.dst <= 40000" drop -ovn-nbctl pg-add pg3 sw0-port1 sw0-port5 -ovn-nbctl acl-add pg3 to-lport 1002 "outport == @pg3 && ip4.dst == \$as1 && icmp4" allow-related -ovn-nbctl acl-add pg3 to-lport 1002 "outport == @pg3 && ip4.dst == \$as1 && tcp && tcp.dst >=20000 && tcp.dst <= 30000" allow-related -ovn-nbctl acl-add pg3 to-lport 1002 "outport == @pg3 && ip4.dst == \$as1 && udp && udp.dst >=20000 && udp.dst <= 30000" allow-related +check ovn-nbctl pg-add pg3 sw0-port1 sw0-port5 +check ovn-nbctl acl-add pg3 to-lport 1002 "outport == @pg3 && ip4.dst == \$as1 && icmp4" allow-related +check ovn-nbctl acl-add pg3 to-lport 1002 "outport == @pg3 && ip4.dst == \$as1 && tcp && tcp.dst >=20000 && tcp.dst <= 30000" allow-related +check ovn-nbctl acl-add pg3 to-lport 1002 "outport == @pg3 && ip4.dst == \$as1 && udp && udp.dst >=20000 && udp.dst <= 30000" allow-related AS_BOX([Delete and add the port groups multiple times]) @@ -31570,7 +31570,7 @@ wait_for_ports_up sw0-p1 sw0-p2 # When the port group pg1 is updated, it should not result in # any assert in ovn-controller. -ovn-nbctl --wait=hv pg-set-ports pg1 sw0-p1 sw0-p2 sw0-p3 sw0-p4 +check ovn-nbctl --wait=hv pg-set-ports pg1 sw0-p1 sw0-p2 sw0-p3 sw0-p4 AT_CHECK([kill -0 $(cat hv1/ovn-controller.pid)]) check ovn-nbctl --wait=hv sync @@ -31664,7 +31664,7 @@ check ovn-nbctl lsp-add sw1 sw1-lr0 check ovn-nbctl lsp-set-type sw1-lr0 router check ovn-nbctl lsp-set-addresses sw1-lr0 router check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync net_add n1 @@ -32115,7 +32115,7 @@ check as hv1 ovs-vsctl set Interface vm1 external_ids:iface-id=foo check ovn-nbctl lsp-del vm-cont check as hv1 ovn-appctl -t ovn-controller debug/resume -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Make sure that ovn-controller has not asserted. AT_CHECK([kill -0 $(cat hv1/ovn-controller.pid)]) @@ -32335,7 +32335,7 @@ check ovn-nbctl lsp-del vm-cont check as hv1 ovn-appctl -t ovn-controller debug/resume check as hv1 ovs-vsctl set Interface vm1 external_ids:iface-id=foo -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Make sure that ovn-controller has not asserted. AT_CHECK([kill -0 $(cat hv1/ovn-controller.pid)]) @@ -32766,7 +32766,7 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.1 -ovn-nbctl lr-add lr0 +check ovn-nbctl lr-add lr0 for i in $(seq 0 9); do ovn-nbctl ls-add ls$i @@ -32783,10 +32783,10 @@ for i in $(seq 0 9); do done done -ovn-nbctl pg-add pg1 -ovn-nbctl pg-set-ports pg1 $(for i in 0 1 2 3 4 5 6 7 8 9; do for j in 0 1; do echo lsp${i}-${j}; done; done) +check ovn-nbctl pg-add pg1 +check ovn-nbctl pg-set-ports pg1 $(for i in 0 1 2 3 4 5 6 7 8 9; do for j in 0 1; do echo lsp${i}-${j}; done; done) -ovn-nbctl --type=port-group acl-add pg1 to-lport 100 "outport == @pg1 && ip4.src == \$pg1_ip4" allow +check ovn-nbctl --type=port-group acl-add pg1 to-lport 100 "outport == @pg1 && ip4.src == \$pg1_ip4" allow ovs-vsctl add-port br-int lsp0-0 -- set interface lsp0-0 external_ids:iface-id=lsp0-0 ovs-vsctl add-port br-int lsp0-1 -- set interface lsp0-1 external_ids:iface-id=lsp0-1 @@ -32935,19 +32935,19 @@ ovn_attach n1 br-phys 192.168.0.1 # Logical Router lr1 has Logical Switch sw1 (10.0.0.0/24) connected to it. sw1 has one # switch port sw1-ls1 (10.0.0.100) -ovn-nbctl lr-add lr1 +check ovn-nbctl lr-add lr1 -ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw1 # Connect sw1 to lr1 -ovn-nbctl lrp-add lr1 lr1-sw1 00:00:01:01:02:03 10.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr1 -ovn-nbctl lsp-set-type sw1-lr1 router -ovn-nbctl lsp-set-addresses sw1-lr1 router -ovn-nbctl lsp-set-options sw1-lr1 router-port=lr1-sw1 +check ovn-nbctl lrp-add lr1 lr1-sw1 00:00:01:01:02:03 10.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr1 +check ovn-nbctl lsp-set-type sw1-lr1 router +check ovn-nbctl lsp-set-addresses sw1-lr1 router +check ovn-nbctl lsp-set-options sw1-lr1 router-port=lr1-sw1 # Create logical port sw1-lp1 in sw1 -ovn-nbctl lsp-add sw1 sw1-lp1 \ +check ovn-nbctl lsp-add sw1 sw1-lp1 \ -- lsp-set-addresses sw1-lp1 "00:00:04:01:02:03 10.0.0.100" # Create one hypervisor and create OVS ports corresponding to logical ports. @@ -32959,10 +32959,10 @@ ovs-vsctl -- add-port br-int hv1-vif1 -- \ ofport-request=1 # Install static routes to drop traffic -ovn-nbctl lr-route-add lr1 20.0.0.0/24 discard +check ovn-nbctl lr-route-add lr1 20.0.0.0/24 discard # Allow some time for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Check logical flows for drop rule AT_CHECK([ovn-sbctl dump-flows | grep lr_in_ip_routing | grep -F "20.0.0.0/24" | \ @@ -32985,11 +32985,11 @@ AT_CHECK([ovs-ofctl dump-flows br-int | grep "nw_dst=20.0.0.0/24" | \ ]) # Remove destination match and add discard route with source match -ovn-nbctl lr-route-del lr1 20.0.0.0/24 -ovn-nbctl --policy="src-ip" lr-route-add lr1 10.0.0.0/24 discard +check ovn-nbctl lr-route-del lr1 20.0.0.0/24 +check ovn-nbctl --policy="src-ip" lr-route-add lr1 10.0.0.0/24 discard # Allow some time for ovn-controller to catch up. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Check logical flows for drop rule AT_CHECK([ovn-sbctl dump-flows | grep lr_in_ip_routing | grep "10.0.0.0/24" | \ @@ -33024,38 +33024,38 @@ ovn_start # One LR - lr1 has switch ls1 (192.16.1.0/24) and ls2 (192.168.2.0/24) connected to it, # and and one HV with IP 192.16.1.6. -ovn-nbctl lr-add lr1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl lr-add lr1 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Connect ls1 to lr1 ls1_ro_mac=00:00:00:01:02:f1 ls1_ro_ip4=192.168.1.1 ls1_ro_ip6=fd11::1 -ovn-nbctl lrp-add lr1 ls1 $ls1_ro_mac $ls1_ro_ip4/24 $ls1_ro_ip6/64 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ +check ovn-nbctl lrp-add lr1 ls1 $ls1_ro_mac $ls1_ro_ip4/24 $ls1_ro_ip6/64 +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 \ type=router options:router-port=ls1 addresses=\"router\" # Create logical port ls1-lp1 in ls1 ls1_p1_mac=00:00:00:01:02:03 ls1_p1_ip4=192.16.1.6 ls1_p1_ip6=fd11::2 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "$ls1_p1_mac $ls1_p1_ip4 $ls1_p1_ip6" # Connect ls2 to lr1 ls2_ro_mac=00:00:00:01:02:f2 ls2_ro_ip4=192.168.2.1 ls2_ro_ip6=fd12::1 -ovn-nbctl lrp-add lr1 ls2 $ls2_ro_mac $ls2_ro_ip4/24 $ls2_ro_ip6/64 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ +check ovn-nbctl lrp-add lr1 ls2 $ls2_ro_mac $ls2_ro_ip4/24 $ls2_ro_ip6/64 +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 \ type=router options:router-port=ls1 addresses=\"router\" # Create logical port ls2-lp1 in ls2 ls2_p1_mac=00:00:00:01:02:04 ls2_p1_ip4=192.16.2.6 ls2_p1_ip6=fd12::2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "$ls2_p1_mac $ls2_p1_ip4 $ls2_p1_ip6" # Create one hypervisor and create OVS ports corresponding to logical ports. @@ -33181,13 +33181,13 @@ inport == "ls1"), action=(xreg0[[0..47]] = 00:00:00:01:02:f1; next;) # Remove and check that the flows have been removed -ovn-nbctl --wait=hv remove Logical_Switch_Port rp-ls1 \ +check ovn-nbctl --wait=hv remove Logical_Switch_Port rp-ls1 \ options arp_proxy="$arp_proxy_ls1_option" AT_CHECK([ovn-sbctl dump-flows | grep ls_in_arp_rsp | grep "${arp_proxy_ls1[[1]]}"], [1], [dnl ]) -ovn-nbctl --wait=hv remove Logical_Switch_Port rp-ls2 \ +check ovn-nbctl --wait=hv remove Logical_Switch_Port rp-ls2 \ options arp_proxy="$arp_proxy_ls2_option" AT_CHECK([ovn-sbctl dump-flows | grep ls_in_arp_rsp | @@ -33342,85 +33342,85 @@ ovn_start # HV4 - Gateway chassis gw3 # HV5 - North endpoint -ovn-nbctl lr-add DR -ovn-nbctl lrp-add DR DR-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl lrp-add DR DR-S2 08:ac:10:01:00:01 10.0.0.1/24 -ovn-nbctl lrp-add DR DR-S3 04:ac:10:01:00:01 192.168.0.1/24 -ovn-nbctl lrp-add DR DR-ls 06:ac:10:01:00:01 20.0.0.1/24 - -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-DR -ovn-nbctl lsp-set-type S1-DR router -ovn-nbctl lsp-set-addresses S1-DR router -ovn-nbctl --wait=sb lsp-set-options S1-DR router-port=DR-S1 -ovn-nbctl lsp-add S1 ln1 "" 1000 -ovn-nbctl lsp-set-addresses ln1 unknown -ovn-nbctl lsp-set-type ln1 localnet -ovn-nbctl lsp-set-options ln1 network_name=phys - -ovn-nbctl ls-add S2 -ovn-nbctl lsp-add S2 S2-DR -ovn-nbctl lsp-set-type S2-DR router -ovn-nbctl lsp-set-addresses S2-DR router -ovn-nbctl --wait=sb lsp-set-options S2-DR router-port=DR-S2 -ovn-nbctl lsp-add S2 ln2 "" 2000 -ovn-nbctl lsp-set-addresses ln2 unknown -ovn-nbctl lsp-set-type ln2 localnet -ovn-nbctl lsp-set-options ln2 network_name=phys - -ovn-nbctl ls-add S3 -ovn-nbctl lsp-add S3 S3-DR -ovn-nbctl lsp-set-type S3-DR router -ovn-nbctl lsp-set-addresses S3-DR router -ovn-nbctl --wait=sb lsp-set-options S3-DR router-port=DR-S3 -ovn-nbctl lsp-add S3 ln3 "" 3000 -ovn-nbctl lsp-set-addresses ln3 unknown -ovn-nbctl lsp-set-type ln3 localnet -ovn-nbctl lsp-set-options ln3 network_name=phys - -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls ls-DR -ovn-nbctl lsp-set-type ls-DR router -ovn-nbctl lsp-set-addresses ls-DR router -ovn-nbctl --wait=sb lsp-set-options ls-DR router-port=DR-ls +check ovn-nbctl lr-add DR +check ovn-nbctl lrp-add DR DR-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lrp-add DR DR-S2 08:ac:10:01:00:01 10.0.0.1/24 +check ovn-nbctl lrp-add DR DR-S3 04:ac:10:01:00:01 192.168.0.1/24 +check ovn-nbctl lrp-add DR DR-ls 06:ac:10:01:00:01 20.0.0.1/24 + +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-DR +check ovn-nbctl lsp-set-type S1-DR router +check ovn-nbctl lsp-set-addresses S1-DR router +check ovn-nbctl --wait=sb lsp-set-options S1-DR router-port=DR-S1 +check ovn-nbctl lsp-add S1 ln1 "" 1000 +check ovn-nbctl lsp-set-addresses ln1 unknown +check ovn-nbctl lsp-set-type ln1 localnet +check ovn-nbctl lsp-set-options ln1 network_name=phys + +check ovn-nbctl ls-add S2 +check ovn-nbctl lsp-add S2 S2-DR +check ovn-nbctl lsp-set-type S2-DR router +check ovn-nbctl lsp-set-addresses S2-DR router +check ovn-nbctl --wait=sb lsp-set-options S2-DR router-port=DR-S2 +check ovn-nbctl lsp-add S2 ln2 "" 2000 +check ovn-nbctl lsp-set-addresses ln2 unknown +check ovn-nbctl lsp-set-type ln2 localnet +check ovn-nbctl lsp-set-options ln2 network_name=phys + +check ovn-nbctl ls-add S3 +check ovn-nbctl lsp-add S3 S3-DR +check ovn-nbctl lsp-set-type S3-DR router +check ovn-nbctl lsp-set-addresses S3-DR router +check ovn-nbctl --wait=sb lsp-set-options S3-DR router-port=DR-S3 +check ovn-nbctl lsp-add S3 ln3 "" 3000 +check ovn-nbctl lsp-set-addresses ln3 unknown +check ovn-nbctl lsp-set-type ln3 localnet +check ovn-nbctl lsp-set-options ln3 network_name=phys + +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls ls-DR +check ovn-nbctl lsp-set-type ls-DR router +check ovn-nbctl lsp-set-addresses ls-DR router +check ovn-nbctl --wait=sb lsp-set-options ls-DR router-port=DR-ls # Add the lsp lp11 to ls. This will map to VIF11. -ovn-nbctl lsp-add ls lp11 -ovn-nbctl lsp-set-addresses lp11 "f0:00:00:00:00:10 20.0.0.10" -ovn-nbctl lsp-set-port-security lp11 f0:00:00:00:00:10 +check ovn-nbctl lsp-add ls lp11 +check ovn-nbctl lsp-set-addresses lp11 "f0:00:00:00:00:10 20.0.0.10" +check ovn-nbctl lsp-set-port-security lp11 f0:00:00:00:00:10 # Add the Northbound endpoint, lp-north1 -ovn-nbctl ls-add ls-north1 -ovn-nbctl lsp-add ls-north1 ln4 "" 1000 -ovn-nbctl lsp-set-addresses ln4 unknown -ovn-nbctl lsp-set-type ln4 localnet -ovn-nbctl lsp-set-options ln4 network_name=phys +check ovn-nbctl ls-add ls-north1 +check ovn-nbctl lsp-add ls-north1 ln4 "" 1000 +check ovn-nbctl lsp-set-addresses ln4 unknown +check ovn-nbctl lsp-set-type ln4 localnet +check ovn-nbctl lsp-set-options ln4 network_name=phys -ovn-nbctl lsp-add ls-north1 lp-north1 -ovn-nbctl lsp-set-addresses lp-north1 "f0:f0:00:00:00:11 172.16.1.10" -ovn-nbctl lsp-set-port-security lp-north1 f0:f0:00:00:00:11 +check ovn-nbctl lsp-add ls-north1 lp-north1 +check ovn-nbctl lsp-set-addresses lp-north1 "f0:f0:00:00:00:11 172.16.1.10" +check ovn-nbctl lsp-set-port-security lp-north1 f0:f0:00:00:00:11 # Add the Northbound endpoint, lp-north2 -ovn-nbctl ls-add ls-north2 -ovn-nbctl lsp-add ls-north2 ln5 "" 2000 -ovn-nbctl lsp-set-addresses ln5 unknown -ovn-nbctl lsp-set-type ln5 localnet -ovn-nbctl lsp-set-options ln5 network_name=phys +check ovn-nbctl ls-add ls-north2 +check ovn-nbctl lsp-add ls-north2 ln5 "" 2000 +check ovn-nbctl lsp-set-addresses ln5 unknown +check ovn-nbctl lsp-set-type ln5 localnet +check ovn-nbctl lsp-set-options ln5 network_name=phys -ovn-nbctl lsp-add ls-north2 lp-north2 -ovn-nbctl lsp-set-addresses lp-north2 "f0:f0:00:00:00:22 10.0.0.10" -ovn-nbctl lsp-set-port-security lp-north2 f0:f0:00:00:00:22 +check ovn-nbctl lsp-add ls-north2 lp-north2 +check ovn-nbctl lsp-set-addresses lp-north2 "f0:f0:00:00:00:22 10.0.0.10" +check ovn-nbctl lsp-set-port-security lp-north2 f0:f0:00:00:00:22 # Add the Northbound endpoint, lp-north3 -ovn-nbctl ls-add ls-north3 -ovn-nbctl lsp-add ls-north3 ln6 "" 3000 -ovn-nbctl lsp-set-addresses ln6 unknown -ovn-nbctl lsp-set-type ln6 localnet -ovn-nbctl lsp-set-options ln6 network_name=phys +check ovn-nbctl ls-add ls-north3 +check ovn-nbctl lsp-add ls-north3 ln6 "" 3000 +check ovn-nbctl lsp-set-addresses ln6 unknown +check ovn-nbctl lsp-set-type ln6 localnet +check ovn-nbctl lsp-set-options ln6 network_name=phys -ovn-nbctl lsp-add ls-north3 lp-north3 -ovn-nbctl lsp-set-addresses lp-north3 "f0:f0:00:00:00:33 192.168.0.10" -ovn-nbctl lsp-set-port-security lp-north3 f0:f0:00:00:00:33 +check ovn-nbctl lsp-add ls-north3 lp-north3 +check ovn-nbctl lsp-set-addresses lp-north3 "f0:f0:00:00:00:33 192.168.0.10" +check ovn-nbctl lsp-set-port-security lp-north3 f0:f0:00:00:00:33 # Add 5 chassis net_add n1 @@ -33458,11 +33458,11 @@ as hv5 ovs-vsctl add-port br-int vif-north3 -- \ options:rxq_pcap=hv5/vif-north3-rx.pcap \ ofport-request=46 -ovn-nbctl lrp-set-gateway-chassis DR-S1 hv2 -ovn-nbctl lrp-set-gateway-chassis DR-S2 hv3 -ovn-nbctl lrp-set-gateway-chassis DR-S3 hv4 +check ovn-nbctl lrp-set-gateway-chassis DR-S1 hv2 +check ovn-nbctl lrp-set-gateway-chassis DR-S2 hv3 +check ovn-nbctl lrp-set-gateway-chassis DR-S3 hv4 -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync OVN_POPULATE_ARP vif_to_ls () { case ${1} in dnl ( @@ -33698,7 +33698,7 @@ AT_CHECK([as hv2 ovs-ofctl dump-flows br-int table=$arp_rsp | grep -F 10.0.1.2], # doesn't remove.) check ovn-nbctl --wait=hv lrp-set-gateway-chassis lrp_lr_ls1 hv1 1 as hv2 check ovn-appctl -t ovn-controller recompute -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync AT_CHECK([as hv2 ovs-ofctl dump-flows br-int table=$arp_rsp | grep -F 10.0.1.2], [1]) # Enable dnat_and_snat on lr, and now hv2 should see flows for lsp1. @@ -33722,14 +33722,14 @@ ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.1 ovs-vsctl -- add-port br-int hv1-vm1 -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port1 -ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.3" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port1 +check ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.3" -ovn-nbctl lsp-set-options sw0-port1 iface-id-ver=foo +check ovn-nbctl lsp-set-options sw0-port1 iface-id-ver=foo -ovn-nbctl lsp-add sw0 sw0-port2 -ovn-nbctl --wait=hv lsp-set-addresses sw0-port2 "50:54:00:00:00:02 10.0.0.4" +check ovn-nbctl lsp-add sw0 sw0-port2 +check ovn-nbctl --wait=hv lsp-set-addresses sw0-port2 "50:54:00:00:00:02 10.0.0.4" hv1_uuid=$(fetch_column Chassis _uuid name=hv1) hv2_uuid=$(fetch_column Chassis _uuid name=hv2) @@ -33738,7 +33738,7 @@ check as hv1 ovs-vsctl add-port br-int vif11 \ -- set interface vif11 external_ids:iface-id=sw0-port1 # sw0-port1 should not be claimed. -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check_column "" Port_Binding chassis logical_port=sw0-port1 AT_CHECK([as hv1 ovn-appctl -t ovn-controller debug/dump-local-bindings], [0], [dnl @@ -33763,7 +33763,7 @@ primary lport : [[sw0-port1]] # Clear the iface-id-ver from vif11 and hv1 ovn-controller should release it. check as hv1 ovs-vsctl remove interface vif11 external_ids iface-id-ver -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check_column "" Port_Binding chassis logical_port=sw0-port1 AT_CHECK([as hv1 ovn-appctl -t ovn-controller debug/dump-local-bindings], [0], [dnl @@ -33787,7 +33787,7 @@ primary lport : [[sw0-port1]] # Set the options:iface-id-ver to sw0-port1 with different value. check ovn-nbctl lsp-set-options sw0-port1 iface-id-ver=bar -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check_column "" Port_Binding chassis logical_port=sw0-port1 AT_CHECK([as hv1 ovn-appctl -t ovn-controller debug/dump-local-bindings], [0], [dnl @@ -33810,7 +33810,7 @@ primary lport : [[sw0-port1]] # Set a different iface-id-ver on vif11. check as hv1 ovs-vsctl set interface vif11 external_ids:iface-id-ver=bar2 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check_column "" Port_Binding chassis logical_port=sw0-port1 AT_CHECK([as hv1 ovn-appctl -t ovn-controller debug/dump-local-bindings], [0], [dnl @@ -33823,7 +33823,7 @@ name: [[sw0-port1]], OVS interface name : [[vif11]], num binding lports : [[0]] # So sw0-port1 should be internally claimed without setting sw0-port1 to up. check ovn-nbctl lsp-set-type sw0-port1 localport -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check_column "" Port_Binding chassis logical_port=sw0-port1 AT_CHECK([as hv1 ovn-appctl -t ovn-controller debug/dump-local-bindings], [0], [dnl @@ -33866,19 +33866,19 @@ ovn_attach n1 br-phys 192.168.0.1 check as hv1 ovs-vsctl add-port br-int vif11 \ -- set interface vif11 external_ids:iface-id=sw0-port1 -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port1 -ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.3" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port1 +check ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.3" check ovn-nbctl lsp-add sw0 sw0-port2 check ovn-nbctl lsp-set-addresses sw0-port2 "50:54:00:00:00:01 10.0.0.4" check ovn-nbctl lsp-set-type sw0-port2 localport -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 -ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 +check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 wait_for_ports_up sw0-port1 @@ -33889,7 +33889,7 @@ grep sw0-port1 -c], [0], [1 check as hv1 ovs-vsctl add-port br-int vif13 \ -- set interface vif13 external_ids:iface-id=sw0-port2 ofport-request=13 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([test `ovs-ofctl dump-flows br-int table=OFTABLE_PHY_TO_LOG | grep "in_port=13" | wc -l` -eq 1]) # There should be ct zone for sw0-port2 (localport). @@ -33907,8 +33907,8 @@ grep lr0-sw0], [1], []) check as hv1 ovs-vsctl add-port br-int vif12 \ -- set interface vif12 external_ids:iface-id=sw1-port1 -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-port1 +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-port1 wait_for_ports_up sw1-port1 AT_CHECK([as hv1 ovn-appctl -t ovn-controller ct-zone-list | \ @@ -33916,16 +33916,16 @@ grep sw1-port1 -c], [0], [1 ]) # Attach sw1 to lr0 -ovn-nbctl lsp-add sw1 sw1-lr0 -ovn-nbctl lsp-set-type sw1-lr0 router -ovn-nbctl lsp-set-addresses sw1-lr0 00:00:00:00:ff:02 -ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 +check ovn-nbctl lsp-add sw1 sw1-lr0 +check ovn-nbctl lsp-set-type sw1-lr0 router +check ovn-nbctl lsp-set-addresses sw1-lr0 00:00:00:00:ff:02 +check ovn-nbctl lsp-set-options sw1-lr0 router-port=lr0-sw1 # There should be no ct-zone id allocated for sw1-lr0 AT_CHECK([as hv1 ovn-appctl -t ovn-controller ct-zone-list | \ grep sw1-lr0], [1], []) -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:00:00:ff:02 20.0.0.1/24 # There should be no ct-zone id allocated for lr0-sw1 AT_CHECK([as hv1 ovn-appctl -t ovn-controller ct-zone-list | \ @@ -34207,8 +34207,8 @@ wait_row_count Port_Binding 1 logical_port=lsp chassis=$ch check ovn-nbctl --event lb-add lb0 192.168.1.100:80 "" check ovn-nbctl ls-lb-add sw0 lb0 check ovn-nbctl meter-add meter0 drop 10 pktps -ovn-nbctl --wait=hv copp-add copp0 event-elb meter0 -ovn-nbctl --wait=hv ls-copp-add copp0 sw0 +check ovn-nbctl --wait=hv copp-add copp0 event-elb meter0 +check ovn-nbctl --wait=hv ls-copp-add copp0 sw0 check ovn-nbctl --wait=hv sync AT_CHECK([as hv1 ovs-ofctl -OOpenFlow15 dump-meters br-int | grep -q rate=10], [0]) @@ -34270,32 +34270,32 @@ ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys ovn_attach n1 br-phys 192.168.0.1 # Create a logical router -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-ls0 00:00:11:11:22:22 20.0.0.1/24 -ovn-nbctl lrp-add lr0 lr0-ext-ls0 00:00:11:11:33:33 172.16.1.10/24 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-ls0 00:00:11:11:22:22 20.0.0.1/24 +check ovn-nbctl lrp-add lr0 lr0-ext-ls0 00:00:11:11:33:33 172.16.1.10/24 # Create logical switch and connect to logical router -ovn-nbctl ls-add ls0 -ovn-nbctl lsp-add ls0 ls0-lr0 -ovn-nbctl lsp-set-type ls0-lr0 router -ovn-nbctl lsp-set-addresses ls0-lr0 router -ovn-nbctl --wait=sb lsp-set-options ls0-lr0 router-port=lr0-ls0 +check ovn-nbctl ls-add ls0 +check ovn-nbctl lsp-add ls0 ls0-lr0 +check ovn-nbctl lsp-set-type ls0-lr0 router +check ovn-nbctl lsp-set-addresses ls0-lr0 router +check ovn-nbctl --wait=sb lsp-set-options ls0-lr0 router-port=lr0-ls0 # Create external gateway switch and connect to logical router -ovn-nbctl ls-add ext-ls0 -ovn-nbctl lsp-add ext-ls0 ext-ls0-lr0 -ovn-nbctl lsp-set-type ext-ls0-lr0 router -ovn-nbctl lsp-set-addresses ext-ls0-lr0 router -ovn-nbctl --wait=sb lsp-set-options ext-ls0-lr0 router-port=lr0-ext-ls0 +check ovn-nbctl ls-add ext-ls0 +check ovn-nbctl lsp-add ext-ls0 ext-ls0-lr0 +check ovn-nbctl lsp-set-type ext-ls0-lr0 router +check ovn-nbctl lsp-set-addresses ext-ls0-lr0 router +check ovn-nbctl --wait=sb lsp-set-options ext-ls0-lr0 router-port=lr0-ext-ls0 -ovn-nbctl lsp-add ext-ls0 ln0 "" 1000 -ovn-nbctl lsp-set-addresses ln0 unknown -ovn-nbctl lsp-set-type ln0 localnet -ovn-nbctl lsp-set-options ln0 network_name=phys +check ovn-nbctl lsp-add ext-ls0 ln0 "" 1000 +check ovn-nbctl lsp-set-addresses ln0 unknown +check ovn-nbctl lsp-set-type ln0 localnet +check ovn-nbctl lsp-set-options ln0 network_name=phys # Add the lsp lp11 to ls0. This will map to VIF11. -ovn-nbctl lsp-add ls0 lp11 -ovn-nbctl lsp-set-addresses lp11 "00:00:11:11:44:44 20.0.0.10" +check ovn-nbctl lsp-add ls0 lp11 +check ovn-nbctl lsp-set-addresses lp11 "00:00:11:11:44:44 20.0.0.10" # Add a vif on HV1 ovs-vsctl add-port br-int vif11 -- \ @@ -34305,13 +34305,13 @@ ovs-vsctl add-port br-int vif11 -- \ ofport-request=11 OVS_WAIT_UNTIL([test x$(ovn-nbctl lsp-get-up lp11) = xup]) -ovn-nbctl lrp-set-gateway-chassis lr0-ext-ls0 hv1 +check ovn-nbctl lrp-set-gateway-chassis lr0-ext-ls0 hv1 -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync OVN_POPULATE_ARP -ovn-nbctl --wait=hv lr-nat-add lr0 snat 172.16.1.10 20.0.0.0/24 -ovn-nbctl --wait=hv lr-route-add lr0 0.0.0.0/0 172.16.1.1 +check ovn-nbctl --wait=hv lr-nat-add lr0 snat 172.16.1.10 20.0.0.0/24 +check ovn-nbctl --wait=hv lr-route-add lr0 0.0.0.0/0 172.16.1.1 test_mac_binding_flows() { local priority=$1 mac=$2 count=$3 @@ -34325,23 +34325,23 @@ test_mac_binding_flows 100 00:00:11:22:33:44 1 # Create Static_MAC_Binding entry on external gateway port. This should have # higher priority than MAC_Binding entry -ovn-nbctl static-mac-binding-add lr0-ext-ls0 172.16.1.1 00:00:11:22:33:66 +check ovn-nbctl static-mac-binding-add lr0-ext-ls0 172.16.1.1 00:00:11:22:33:66 test_mac_binding_flows 50 00:00:11:22:33:66 1 # Update MAC for existing Static_MAC_Binding. Existing flow should be updated. -ovn-nbctl --may-exist static-mac-binding-add lr0-ext-ls0 172.16.1.1 00:00:11:22:33:88 +check ovn-nbctl --may-exist static-mac-binding-add lr0-ext-ls0 172.16.1.1 00:00:11:22:33:88 test_mac_binding_flows 50 00:00:11:22:33:66 0 test_mac_binding_flows 50 00:00:11:22:33:88 1 # Update override_dynamic_mac for existing Static_MAC_Binding. Existing flow should be updated. smb_uuid=$(fetch_column nb:static_mac_binding _uuid ip=172.16.1.1) -ovn-nbctl set static_mac_binding $smb_uuid override_dynamic_mac=true +check ovn-nbctl set static_mac_binding $smb_uuid override_dynamic_mac=true test_mac_binding_flows 50 00:00:11:22:33:88 0 test_mac_binding_flows 150 00:00:11:22:33:88 1 # Delete Static_MAC_Binding. Higher priority flow should get deleted. -ovn-nbctl static-mac-binding-del lr0-ext-ls0 172.16.1.1 +check ovn-nbctl static-mac-binding-del lr0-ext-ls0 172.16.1.1 test_mac_binding_flows 150 00:00:11:22:33:88 0 OVN_CLEANUP([hv1]) @@ -35324,27 +35324,27 @@ ovs-vsctl -- add-port br-int hv2-vif2 -- \ options:rxq_pcap=hv2/vif2-rx.pcap ovn-nbctl create Logical_Router name=lr0 -ovn-nbctl ls-add sw0 -ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw1 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:01:01:02:03 192.168.1.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -- set Logical_Switch_Port sw0-lr0 \ +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:01:01:02:03 192.168.1.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 -- set Logical_Switch_Port sw0-lr0 \ type=router options:router-port=lr0-sw0 \ -- lsp-set-addresses sw0-lr0 router -ovn-nbctl lrp-add lr0 lr0-sw1 00:00:02:01:02:03 172.16.1.1/24 \ +check ovn-nbctl lrp-add lr0 lr0-sw1 00:00:02:01:02:03 172.16.1.1/24 \ -- lrp-set-gateway-chassis lr0-sw1 hv2 -ovn-nbctl lsp-add sw1 sw1-lr0 -- set Logical_Switch_Port sw1-lr0 \ +check ovn-nbctl lsp-add sw1 sw1-lr0 -- set Logical_Switch_Port sw1-lr0 \ type=router options:router-port=lr0-sw1 \ -- lsp-set-addresses sw1-lr0 router -ovn-nbctl lsp-add sw0 sw0-p0 \ +check ovn-nbctl lsp-add sw0 sw0-p0 \ -- lsp-set-addresses sw0-p0 "f0:00:00:01:02:03 192.168.1.2" -ovn-nbctl lsp-add sw0 sw0-p1 \ +check ovn-nbctl lsp-add sw0 sw0-p1 \ -- lsp-set-addresses sw0-p1 "f0:00:00:11:02:03 192.168.1.3" -ovn-nbctl --wait=hv lsp-add sw1 sw1-p0 \ +check ovn-nbctl --wait=hv lsp-add sw1 sw1-p0 \ -- lsp-set-addresses sw1-p0 unknown check ovn-nbctl --wait=hv lsp-del sw1-lr0 @@ -35366,9 +35366,9 @@ ovn_attach n1 br-phys 192.168.0.1 check ovs-vsctl add-port br-int p0 check ovs-vsctl add-port br-int p1 -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port0 -- lsp-set-addresses sw0-port0 "50:54:00:00:00:01 192.168.0.2" -ovn-nbctl lsp-add sw0 sw0-port1 -- lsp-set-addresses sw0-port1 "50:54:00:00:00:02 192.168.0.3" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port0 -- lsp-set-addresses sw0-port0 "50:54:00:00:00:01 192.168.0.2" +check ovn-nbctl lsp-add sw0 sw0-port1 -- lsp-set-addresses sw0-port1 "50:54:00:00:00:02 192.168.0.3" check ovn-nbctl --wait=hv sync # Pause SB @@ -35380,12 +35380,12 @@ sleep 0.5 # Make us claim sw0-port1. Claim should be delayed ovs-vsctl set interface p1 external-ids:iface-id=sw0-port1 # Delete sw0-port1 -ovn-nbctl lsp-del sw0-port1 +check ovn-nbctl lsp-del sw0-port1 sleep 0.5 # Restart SB AT_CHECK([kill -CONT $(cat ovn-sb/ovsdb-server.pid)]) check ovn-nbctl --wait=hv sync -ovn-nbctl ls-del sw0 +check ovn-nbctl ls-del sw0 check ovn-nbctl --wait=hv sync OVN_CLEANUP([hv1]) AT_CLEANUP @@ -35403,10 +35403,10 @@ ovn_attach n1 br-phys 192.168.0.1 check ovs-vsctl add-port br-int p0 check ovs-vsctl add-port br-int p1 -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port0 -- lsp-set-addresses sw0-port0 "50:54:00:00:00:01 192.168.0.2" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port0 -- lsp-set-addresses sw0-port0 "50:54:00:00:00:01 192.168.0.2" check ovn-nbctl --wait=hv sync -ovn-nbctl lsp-add sw0 sw0-port1 -- lsp-set-addresses sw0-port1 "50:54:00:00:00:02 192.168.0.3" +check ovn-nbctl lsp-add sw0 sw0-port1 -- lsp-set-addresses sw0-port1 "50:54:00:00:00:02 192.168.0.3" ovs-vsctl set interface p0 external-ids:iface-id=sw0-port0 ovs-vsctl set interface p1 external-ids:iface-id=sw0-port1 check ovn-nbctl --wait=hv sync @@ -35414,15 +35414,15 @@ as hv1 ovs-ofctl dump-flows br-int | sed 's/cookie=0x.*, duration=.*, table/coo ovs-vsctl set interface p0 external-ids:iface-id=foo0 ovs-vsctl set interface p1 external-ids:iface-id=foo1 -ovn-nbctl lsp-del sw0-port0 -ovn-nbctl lsp-del sw0-port1 -ovn-nbctl ls-del sw0 +check ovn-nbctl lsp-del sw0-port0 +check ovn-nbctl lsp-del sw0-port1 +check ovn-nbctl ls-del sw0 check ovn-nbctl --wait=hv sync -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-port0 -- lsp-set-addresses sw0-port0 "50:54:00:00:00:01 192.168.0.2" +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-port0 -- lsp-set-addresses sw0-port0 "50:54:00:00:00:01 192.168.0.2" check ovn-nbctl --wait=hv sync -ovn-nbctl lsp-add sw0 sw0-port1 -- lsp-set-addresses sw0-port1 "50:54:00:00:00:02 192.168.0.3" +check ovn-nbctl lsp-add sw0 sw0-port1 -- lsp-set-addresses sw0-port1 "50:54:00:00:00:02 192.168.0.3" check ovn-nbctl --wait=hv sync # Pause SB @@ -35440,7 +35440,7 @@ check ovn-nbctl --wait=hv sync as hv1 ovs-ofctl dump-flows br-int | sed 's/cookie=0x.*, duration=.*, table/cookie=??, duration=??, table/' | sed 's/load:0x.->NXM_NX_REG1/load:0x?->NXM_NX_REG1/g' | sed 's/idle_age=[[0-9]], //g' | sort > offlows2 AT_CHECK([diff offlows1 offlows2]) -ovn-nbctl ls-del sw0 +check ovn-nbctl ls-del sw0 check ovn-nbctl --wait=hv sync OVN_CLEANUP([hv1]) AT_CLEANUP @@ -35770,28 +35770,28 @@ ls2_lp1_mac="f0:00:00:01:02:04" ls1_lp1_ip="192.168.1.2" ls2_lp1_ip="172.16.1.2" -ovn-nbctl lr-add R1 -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 +check ovn-nbctl lr-add R1 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 # Connect ls1 to R1 -ovn-nbctl lrp-add R1 ls1 $rp_ls1_mac 192.168.1.1/24 +check ovn-nbctl lrp-add R1 ls1 $rp_ls1_mac 192.168.1.1/24 -ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ +check ovn-nbctl lsp-add ls1 rp-ls1 -- set Logical_Switch_Port rp-ls1 type=router \ options:router-port=ls1 addresses=\"$rp_ls1_mac\" # Connect ls2 to R1 -ovn-nbctl lrp-add R1 ls2 $rp_ls2_mac 172.16.1.1/24 +check ovn-nbctl lrp-add R1 ls2 $rp_ls2_mac 172.16.1.1/24 -ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 type=router \ +check ovn-nbctl lsp-add ls2 rp-ls2 -- set Logical_Switch_Port rp-ls2 type=router \ options:router-port=ls2 addresses=\"$rp_ls2_mac\" # Create logical port ls1-lp1 in ls1 -ovn-nbctl lsp-add ls1 ls1-lp1 \ +check ovn-nbctl lsp-add ls1 ls1-lp1 \ -- lsp-set-addresses ls1-lp1 "$ls1_lp1_mac $ls1_lp1_ip" # Create logical port ls2-lp1 in ls2 -ovn-nbctl lsp-add ls2 ls2-lp1 \ +check ovn-nbctl lsp-add ls2 ls2-lp1 \ -- lsp-set-addresses ls2-lp1 "$ls2_lp1_mac $ls2_lp1_ip" # Create two hypervisor and create OVS ports corresponding to logical ports. @@ -35910,7 +35910,7 @@ check ovs-vsctl add-port br-int p1 -- set interface p1 external_ids:iface-id=lsp check ovs-vsctl add-port br-int p2 -- set interface p2 external_ids:iface-id=lsp2 wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Get the OF table numbers acl_eval=$(ovn-debug lflow-stage-to-oftable ls_in_acl_eval) @@ -36001,7 +36001,7 @@ check ovs-vsctl add-port br-int p1 -- set interface p1 external_ids:iface-id=lsp check ovs-vsctl add-port br-int p2 -- set interface p2 external_ids:iface-id=lsp2 wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync dnl Ensure the LBs are not translated to OpenFlow. as hv1 @@ -36300,13 +36300,13 @@ ovn_attach n1 br-phys1 192.168.0.1 # use a port as a canary in the mine to wait until the controller is up # (meaning, ssl configuration was read from the database) -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lp -ovn-nbctl lsp-set-options lp requested-chassis=hv1 +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lp +check ovn-nbctl lsp-set-options lp requested-chassis=hv1 ovs-vsctl -- add-port br-int vif -- \ set interface vif external-ids:iface-id=lp wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # the file is read once at startup so it's safe to write it # here after the first ovn-controller has started @@ -36326,12 +36326,12 @@ start_virtual_controller n1 br-phys2 br-int-2 192.168.0.2 24 geneve,vxlan hv2 \ pidfile="$OVS_RUNDIR"/ovn-controller-2.pid on_exit "test -e \"$pidfile\" && kill \`cat \"$pidfile\"\`" -ovn-nbctl lsp-add ls lp2 -ovn-nbctl lsp-set-options lp2 requested-chassis=hv2 +check ovn-nbctl lsp-add ls lp2 +check ovn-nbctl lsp-set-options lp2 requested-chassis=hv2 ovs-vsctl -- add-port br-int-2 vif2 -- \ set interface vif2 external-ids:iface-id=lp2 wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # check that both tunnel ports are present, meaning controllers # don't step on each other @@ -36529,13 +36529,13 @@ ovn_attach n1 br-phys-1 192.168.1.1 24 check ovn-nbctl \ ls-add ls \ -- add Logical_Switch ls other_config vlan-passthru=true -ovn-nbctl lsp-add ls lp1 -ovn-nbctl lsp-set-addresses lp1 "00:00:00:00:00:01 10.0.0.1" +check ovn-nbctl lsp-add ls lp1 +check ovn-nbctl lsp-set-addresses lp1 "00:00:00:00:00:01 10.0.0.1" -ovn-nbctl lsp-add ls ln_port -ovn-nbctl lsp-set-addresses ln_port unknown -ovn-nbctl lsp-set-type ln_port localnet -ovn-nbctl lsp-set-options ln_port network_name=phys +check ovn-nbctl lsp-add ls ln_port +check ovn-nbctl lsp-set-addresses ln_port unknown +check ovn-nbctl lsp-set-type ln_port localnet +check ovn-nbctl lsp-set-options ln_port network_name=phys ovs-vsctl -- add-port br-int vif1 -- \ set interface vif1 external-ids:iface-id=lp1 \ @@ -36563,14 +36563,14 @@ send_arp() { } wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # now start the second virtual controller ovs-vsctl add-br br-phys-2 ovs-vsctl set open . external-ids:ovn-bridge-mappings-hv2=phys:br-phys-2 -ovn-nbctl lsp-add ls lp2 -ovn-nbctl lsp-set-addresses lp2 "00:00:00:00:00:02 10.0.0.2" +check ovn-nbctl lsp-add ls lp2 +check ovn-nbctl lsp-set-addresses lp2 "00:00:00:00:00:02 10.0.0.2" # the file is read once at startup so it's safe to write it # here after the first ovn-controller has started @@ -36595,7 +36595,7 @@ ovs-vsctl -- add-port br-int-2 vif2 -- \ options:rxq_pcap=hv1/vif2-rx.pcap wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVN_POPULATE_ARP @@ -36631,7 +36631,7 @@ check ovn-nbctl lsp-add sw lsp1 check ovs-vsctl add-port br-int p1 -- set interface p1 external_ids:iface-id=lsp1 wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check ovn-nbctl lb-add lb1 "192.168.0.10" "192.168.10.10,192.168.10.20" \ -- set load_balancer lb1 options:ct_flush="true" @@ -36834,7 +36834,7 @@ start_virtual_controller n1 br-phys-2 br-int-2 192.168.0.2 24 geneve,vxlan hv2 \ pidfile="$OVS_RUNDIR"/ovn-controller-2.pid on_exit "test -e \"$pidfile\" && kill \`cat \"$pidfile\"\`" -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync check_tunnel_port() { local hv=$1 @@ -37344,7 +37344,7 @@ check ovn-nbctl --wait=sb lsp-del lsp1 wake_up_controller hv-1 # Make sure ovn-controller is still OK -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([test $(as hv-1 ovs-vsctl list qos | grep -c linux-htb) -eq 1]) OVN_CLEANUP([hv-1],[hv-2]) AT_CLEANUP @@ -37478,7 +37478,7 @@ check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 check ovn-appctl -t ovn-controller vlog/set dbg:ct_zone wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync get_zone_num () { output=$1 @@ -37702,7 +37702,7 @@ ovs-vsctl -- add-port br-int hv1-vif3 -- \ ovs-appctl -t ovn-controller vlog/set dbg -ovn-nbctl ls-add sw0 +check ovn-nbctl ls-add sw0 check ovn-nbctl lsp-add sw0 sw0-vir check ovn-nbctl lsp-set-addresses sw0-vir "50:54:00:00:00:10 10.0.0.10" @@ -37724,7 +37724,7 @@ check ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 check ovn-nbctl lsp-set-options sw0-lr0 router-port=lr0-sw0 wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync hv1_ch_uuid=`ovn-sbctl --bare --columns _uuid find chassis name="hv1"` # Try to bind sw0-vir directly to an OVS port. This should be ignored by @@ -37751,7 +37751,7 @@ sleep_controller hv1 as hv1 ovs-vsctl del-port hv1-vif3 wake_up_sb -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync wake_up_controller hv1 check ovn-nbctl --wait=hv sync @@ -38580,7 +38580,7 @@ check ovn-nbctl set Logical_Switch_Port lsp1 \ as hv2 check ovs-vsctl set Interface vif1 external-ids:iface-id=lsp1 -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync wait_for_ports_up lsp1 wait_for_ports_up sw0-port1.1 @@ -38980,12 +38980,12 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([Delete parent of container port]) ovn_start -ovn-nbctl ls-add ls0 -ovn-nbctl lsp-add ls0 lsp0 +check ovn-nbctl ls-add ls0 +check ovn-nbctl lsp-add ls0 lsp0 # Add a second logical port, so that deleting lsp0 does not result in deleting # the last port of the datapath. -ovn-nbctl lsp-add ls0 lsp1 +check ovn-nbctl lsp-add ls0 lsp1 check ovn-nbctl lsp-add ls0 lsp-cont1 lsp0 1 @@ -39014,9 +39014,9 @@ OVN_FOR_EACH_NORTHD([ AT_SETUP([Deleting vif while controller fight for port claim]) ovn_start -ovn-nbctl ls-add ls0 -ovn-nbctl lsp-add ls0 lsp0 -ovn-nbctl lsp-add ls0 lsp1 +check ovn-nbctl ls-add ls0 +check ovn-nbctl lsp-add ls0 lsp0 +check ovn-nbctl lsp-add ls0 lsp1 net_add n1 for i in 1 2; do @@ -39273,7 +39273,7 @@ for hv in hv1 hv2; do done wait_for_ports_up -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync OVS_WAIT_UNTIL([test $(as hv2 ovs-ofctl dump-flows br-int table=OFTABLE_OUTPUT_LARGE_PKT_DETECT | grep -c check_pkt_larger) -eq 0]) @@ -39658,7 +39658,7 @@ check_patch_ports \ # ovn-controller should delete the patch ports now as we are setting # OVN as its owner. check ovs-vsctl set port patch-br-int-to-br-eth0 external_ids:ovn-localnet-port=foo -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync AS_BOX([Checking for patch ports after setting external_ids:ovn-localnet-port to the manually created patch port]) check_patch_ports From patchwork Tue Nov 5 19:23:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007116 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=RNOrn5pK; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.133; helo=smtp2.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdYt2S6Pz1xxN for ; Wed, 6 Nov 2024 06:24:17 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id B3D6A40AA5; Tue, 5 Nov 2024 19:24:15 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id S96Jp7tHY6dp; Tue, 5 Nov 2024 19:24:11 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org D121640A93 Authentication-Results: smtp2.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=RNOrn5pK Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id D121640A93; Tue, 5 Nov 2024 19:24:10 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id AD0DFC08A6; Tue, 5 Nov 2024 19:24:10 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 05072C08A3 for ; Tue, 5 Nov 2024 19:24:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id DF3AE405E1 for ; Tue, 5 Nov 2024 19:23:59 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id xoWpBZ8nZzdJ for ; Tue, 5 Nov 2024 19:23:56 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 67E3A4056B Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 67E3A4056B Authentication-Results: smtp4.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=RNOrn5pK Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp4.osuosl.org (Postfix) with ESMTPS id 67E3A4056B for ; Tue, 5 Nov 2024 19:23:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EhKhsFGd4UawwahlCQjTCjPO/mEYTpQhTlqwY5wxnP4=; b=RNOrn5pKbKRdQGYeghTZK0GHwfop8d/ubdlikmXftCVNv2l3hX/MQiNEKZBGClufDaXisb adcAtR1qIi6zlcFGXRoDfcQAkfuL+CEgrGT8BHRQ/GRN0zJ5qhmHU8gurkPdOmp0b9+FY7 XQlozJlUtCxi+RZ/p2DERKfJCVKn580= Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-147-1qvVH4AhPJWN3v-r2ThGsg-1; Tue, 05 Nov 2024 14:23:53 -0500 X-MC-Unique: 1qvVH4AhPJWN3v-r2ThGsg-1 Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-3e27a1f6039so5580188b6e.2 for ; Tue, 05 Nov 2024 11:23:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834632; x=1731439432; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EhKhsFGd4UawwahlCQjTCjPO/mEYTpQhTlqwY5wxnP4=; b=dI6/huAaB2JpXGM5yzXXAEwyHKiHj19RHRFj7DSuN+ULDYmUD6rWs95UNh/iUHp8b3 AWr9ES7O1fCXKuHecnQpjjIL3a2aWd1hP4t8+trg3El9KTr7WNI0whwVRwxwSXrbU51i q7UzHjR5Lrz39mGYg6jgd5DFjK3PY2s0jkgS4AoZgzlgci2ZPejmXdsqX2rjZjIrpON4 5i5lbvZT++lcO0yn3TDTbOVR2Q9fKdAjs2HuiIUte7ecaAhqg0KVXjQ3yV+JNgavl15y kiueZLRcpaCm0DziEWxIu7ZORhhSRSGRre/igYtHlANShc9+3sd2azVeQ4zxUnz6Pejw Xj1g== X-Gm-Message-State: AOJu0YyZU9k+Tm6YKVCcawM7fbDEj1n3lHvJMOWRsEVf5x2/4SGuKNCO yE6T6HJ+yrpGDQ34m9T2Tp2g/GCssVHLiCBBKxtHSmilWS9/q8c9p0VvYXBiqeqHnXvYU7FJVtu ZMGopSGrFLmzIn0CSiwJHJtwWhDdPKAndbqgOT/0Ap2X31HrIW3rJe0lhngHUJck9xOWji0tfkm XbqSS4te8VjLJz/6L55bQZGv5BfOEEgYIGBnCIP+LorppH6nNr4Q== X-Received: by 2002:a05:6808:14d6:b0:3e6:5522:b333 with SMTP id 5614622812f47-3e6608d3252mr16243518b6e.22.1730834630934; Tue, 05 Nov 2024 11:23:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IEave9LKCxaAL4wPJHsG3HMIPsz+fH8Punnre41FkvumaK94ItyLEKtzeykjQMBuyRKw4Blag== X-Received: by 2002:a05:6808:14d6:b0:3e6:5522:b333 with SMTP id 5614622812f47-3e6608d3252mr16243390b6e.22.1730834628830; Tue, 05 Nov 2024 11:23:48 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3e6611c3166sm2644826b6e.27.2024.11.05.11.23.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:48 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:26 +0100 Message-ID: <13347f96a021c33932258e278c5545ac554a7013.1730833286.git.lorenzo.bianconi@redhat.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 4/8] test: ovn-northd: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/ovn-northd.at | 879 ++++++++++++++++++++++---------------------- 1 file changed, 439 insertions(+), 440 deletions(-) diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at index d1f7f105c..69b444a0b 100644 --- a/tests/ovn-northd.at +++ b/tests/ovn-northd.at @@ -93,7 +93,7 @@ ovn-sbctl chassis-add gw1 geneve 127.0.0.1 ovn-sbctl chassis-add gw2 geneve 1.2.4.8 # Connect alice to R1 as distributed router gateway port on hv2 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 ovn-nbctl --wait=sb \ --id=@gc0 create Gateway_Chassis name=alice_gw1 \ @@ -138,14 +138,14 @@ ha_ch=$(fetch_column HA_Chassis_Group ha_chassis) check_column "$ha_ch" HA_Chassis _uuid # delete the 2nd Gateway_Chassis on NBDB for alice port -ovn-nbctl --wait=sb set Logical_Router_Port alice gateway_chassis=${nb_gwc1_uuid} +check ovn-nbctl --wait=sb set Logical_Router_Port alice gateway_chassis=${nb_gwc1_uuid} # There should be only 1 row in ha_chassis SB DB table. check_row_count HA_Chassis 1 check_row_count Gateway_Chassis 0 # delete all the gateway_chassis on NBDB for alice port -ovn-nbctl --wait=sb clear Logical_Router_Port alice gateway_chassis +check ovn-nbctl --wait=sb clear Logical_Router_Port alice gateway_chassis # expect that the ha_chassis doesn't exist anymore check_row_count HA_Chassis 0 @@ -159,8 +159,8 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check up state of VIF LSP]) ovn_start -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 wait_row_count nb:Logical_Switch_Port 1 name=S1-vm1 'up!=true' ovn-sbctl chassis-add hv1 geneve 127.0.0.1 @@ -174,14 +174,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check up state of router LSP linked to a distributed LR]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) AT_CLEANUP @@ -194,13 +194,13 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 ovn-nbctl create Logical_Router name=R1 options:chassis=gw1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 ovn-sbctl lsp-bind S1-R1 gw1 AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) @@ -214,15 +214,15 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl lrp-set-gateway-chassis R1-S1 gw1 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lrp-set-gateway-chassis R1-S1 gw1 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) AT_CLEANUP @@ -278,9 +278,9 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check LRP external id propagation to SBDB]) ovn_start -ovn-nbctl lr-add ro -ovn-nbctl lrp-add ro lrp0 00:00:00:00:00:01 192.168.1.1/24 -ovn-nbctl --wait=sb set logical_router_port lrp0 external_ids=test=123 +check ovn-nbctl lr-add ro +check ovn-nbctl lrp-add ro lrp0 00:00:00:00:00:01 192.168.1.1/24 +check ovn-nbctl --wait=sb set logical_router_port lrp0 external_ids=test=123 check_column "test=123" sb:Port_Binding external_ids logical_port=lrp0 AT_CLEANUP @@ -290,16 +290,16 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check IPv6 RA config propagation to SBDB]) ovn_start -ovn-nbctl lr-add ro -ovn-nbctl lrp-add ro ro-sw 00:00:00:00:00:01 aef0:0:0:0:0:0:0:1/64 -ovn-nbctl ls-add sw -ovn-nbctl lsp-add sw sw-ro -ovn-nbctl lsp-set-type sw-ro router -ovn-nbctl lsp-set-options sw-ro router-port=ro-sw -ovn-nbctl lsp-set-addresses sw-ro 00:00:00:00:00:01 -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:send_periodic=true -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=slaac -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:mtu=1280 +check ovn-nbctl lr-add ro +check ovn-nbctl lrp-add ro ro-sw 00:00:00:00:00:01 aef0:0:0:0:0:0:0:1/64 +check ovn-nbctl ls-add sw +check ovn-nbctl lsp-add sw sw-ro +check ovn-nbctl lsp-set-type sw-ro router +check ovn-nbctl lsp-set-options sw-ro router-port=ro-sw +check ovn-nbctl lsp-set-addresses sw-ro 00:00:00:00:00:01 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:send_periodic=true +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=slaac +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:mtu=1280 uuid=$(ovn-sbctl --columns=_uuid --bare find Port_Binding logical_port=ro-sw) @@ -328,8 +328,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_prefixes], [0], ["aef0::/64" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=600 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=600 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["300" @@ -338,8 +338,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["225" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=250 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=250 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["300" @@ -348,8 +348,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["225" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=0 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=0 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=0 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=0 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["4" @@ -358,8 +358,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["3" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=3600 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=2400 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=3600 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=2400 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["1800" @@ -368,7 +368,7 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["1350" ]) -ovn-nbctl --wait=sb set Logical_Router_port ro-sw ipv6_ra_configs:send_periodic=false +check ovn-nbctl --wait=sb set Logical_Router_port ro-sw ipv6_ra_configs:send_periodic=false AT_CHECK_UNQUOTED([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_send_periodic], [1], [], [ovn-sbctl: no key "ipv6_ra_send_periodic" in Port_Binding record "${uuid}" column options @@ -406,8 +406,8 @@ ovn_init_db ovn-nb; ovn-nbctl init # test unixctl option mkdir "$ovs_base"/northd as northd start_daemon ovn-northd --unixctl="$ovs_base"/northd/ovn-northd.ctl --ovnnb-db=unix:"$ovs_base"/ovn-nb/ovn-nb.sock --ovnsb-db=unix:"$ovs_base"/ovn-sb/ovn-sb.sock -ovn-nbctl ls-add sw -ovn-nbctl --wait=sb lsp-add sw p1 +check ovn-nbctl ls-add sw +check ovn-nbctl --wait=sb lsp-add sw p1 # northd created with unixctl option successfully created port_binding entry check_row_count Port_Binding 1 logical_port=p1 AT_CHECK([ovn-nbctl --wait=sb lsp-del p1]) @@ -419,13 +419,13 @@ OVS_APP_EXIT_AND_WAIT_BY_TARGET(["$ovs_base"/northd/ovn-northd.ctl], ["$ovs_base # # 142 is 128+14, the exit status that the shell reports when a # process exits due to SIGARLM (signal 14). -ovn-nbctl lsp-add sw p2 +check ovn-nbctl lsp-add sw p2 AT_CHECK([ovn-nbctl --timeout=10 --wait=sb sync], [142], [], [ignore]) check_row_count Port_Binding 0 logical_port=p2 # test default unixctl path as northd start_daemon ovn-northd --ovnnb-db=unix:"$ovs_base"/ovn-nb/ovn-nb.sock --ovnsb-db=unix:"$ovs_base"/ovn-sb/ovn-sb.sock -ovn-nbctl --wait=sb lsp-add sw p3 +check ovn-nbctl --wait=sb lsp-add sw p3 # northd created with default unixctl path successfully created port_binding entry check_row_count Port_Binding 1 logical_port=p3 @@ -505,35 +505,35 @@ check_row_count HA_Chassis 3 # Change the priority of ch1 - ha chassis in NB DB. It should get # reflected in SB DB. -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 100 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 100 wait_row_count HA_Chassis 1 priority=100 # Delete ch1 HA chassis in NB DB. -ovn-nbctl --wait=sb ha-chassis-group-remove-chassis hagrp1 ch1 +check ovn-nbctl --wait=sb ha-chassis-group-remove-chassis hagrp1 ch1 wait_row_count HA_Chassis 2 # Add back the ha chassis -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 40 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 40 wait_row_count HA_Chassis 3 # Delete lr0-public. We should still have 1 HA chassis group and # 3 HA chassis in SB DB. -ovn-nbctl --wait=sb lrp-del lr0-public +check ovn-nbctl --wait=sb lrp-del lr0-public wait_row_count HA_Chassis_Group 1 name=hagrp1 wait_row_count HA_Chassis 3 # Delete lr1-public. There should be no HA chassis group in SB DB. -ovn-nbctl --wait=sb lrp-del lr1-public +check ovn-nbctl --wait=sb lrp-del lr1-public wait_row_count HA_Chassis_Group 0 name=hagrp1 wait_row_count HA_Chassis 0 # Add lr0-public again -ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 -ovn-nbctl set logical_router_port lr0-public ha_chassis_group=$hagrp1_uuid +check ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 +check ovn-nbctl set logical_router_port lr0-public ha_chassis_group=$hagrp1_uuid wait_row_count HA_Chassis_Group 1 name=hagrp1 wait_row_count HA_Chassis 3 @@ -549,14 +549,14 @@ wait_row_count HA_Chassis 3 # Now delete HA chassis group. ovn-northd should create HA chassis group # with the Gateway chassis name -ovn-nbctl clear logical_router_port lr0-public ha_chassis_group -ovn-nbctl ha-chassis-group-del hagrp1 +check ovn-nbctl clear logical_router_port lr0-public ha_chassis_group +check ovn-nbctl ha-chassis-group-del hagrp1 wait_row_count HA_Chassis_Group 0 name=hagrp1 wait_row_count HA_Chassis_Group 1 name=lr0-public wait_row_count HA_Chassis 1 -ovn-nbctl lrp-set-gateway-chassis lr0-public ch2 10 +check ovn-nbctl lrp-set-gateway-chassis lr0-public ch2 10 wait_row_count HA_Chassis_Group 1 name=lr0-public @@ -599,13 +599,12 @@ wait_column "" HA_Chassis_Group ref_chassis ovn-sbctl lsp-bind sw0-p1 comp2 wait_column "$comp2_ch_uuid" HA_Chassis_Group ref_chassis -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lr-add lr1 -ovn-nbctl lrp-add lr1 lr1-sw1 00:00:20:20:12:15 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr1 -ovn-nbctl lsp-set-type sw1-lr1 router -ovn-nbctl lsp-set-addresses sw1-lr1 router +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lrp-add lr1 lr1-sw1 00:00:20:20:12:15 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr1 +check ovn-nbctl lsp-set-type sw1-lr1 router +check ovn-nbctl lsp-set-addresses sw1-lr1 router check ovn-nbctl --wait=sb lsp-set-options sw1-lr1 router-port=lr1-sw1 # Bind sw1-p1 in comp1. @@ -732,13 +731,13 @@ name=hagrp1` # The type of the lsp - sw0-pext1 is still not set to external. # So ha_chassis_group should be ignored. -ovn-nbctl set logical_switch_port sw0-pext1 ha_chassis_group=$hagrp1_uuid +check ovn-nbctl set logical_switch_port sw0-pext1 ha_chassis_group=$hagrp1_uuid wait_row_count HA_Chassis_Group 0 name=hagrp1 check_row_count HA_Chassis 0 # Set the type of sw0-pext1 to external -ovn-nbctl lsp-set-type sw0-pext1 external +check ovn-nbctl lsp-set-type sw0-pext1 external wait_row_count HA_Chassis_Group 1 name=hagrp1 check_row_count HA_Chassis 3 @@ -749,8 +748,8 @@ name=hagrp1` check_row_count Port_Binding 1 logical_port=sw0-pext1 ha_chassis_group=$sb_hagrp1_uuid # Set the type of sw0-pext2 to external and associate ha_chassis_group -ovn-nbctl lsp-set-type sw0-pext2 external -ovn-nbctl set logical_switch_port sw0-pext2 ha_chassis_group=$hagrp1_uuid +check ovn-nbctl lsp-set-type sw0-pext2 external +check ovn-nbctl set logical_switch_port sw0-pext2 ha_chassis_group=$hagrp1_uuid wait_row_count HA_Chassis_Group 1 name=hagrp1 check_row_count HA_Chassis 3 @@ -759,7 +758,7 @@ wait_row_count Port_Binding 1 logical_port=sw0-pext2 ha_chassis_group=$sb_hagrp1 # sw0-p1 is a normal port. So ha_chassis_group should not be set # in port_binding. -ovn-nbctl --wait=sb set logical_switch_port sw0-p1 \ +check ovn-nbctl --wait=sb set logical_switch_port sw0-p1 \ ha_chassis_group=$hagrp1_uuid wait_row_count Port_Binding 0 logical_port=sw0-p1 'chassis!=[[]]' @@ -966,21 +965,21 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 check ovn-nbctl --wait=sb lrp-set-gateway-chassis R1-S1 gw1 -ovn-nbctl lrp-set-redirect-type R1-S1 bridged +check ovn-nbctl lrp-set-redirect-type R1-S1 bridged wait_row_count Port_Binding 1 logical_port=cr-R1-S1 options:redirect-type=bridged -ovn-nbctl lrp-set-redirect-type R1-S1 overlay +check ovn-nbctl lrp-set-redirect-type R1-S1 overlay wait_row_count Port_Binding 1 logical_port=cr-R1-S1 options:redirect-type=overlay AT_CLEANUP ]) @@ -991,14 +990,14 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 check ovn-nbctl --wait=sb lrp-set-gateway-chassis R1-S1 gw1 @@ -1021,49 +1020,49 @@ check_flow_match_sets() { echo echo "IPv4: stateful" -ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv4: stateful with match" -ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv4: stateless" -ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 0 0 1 1 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv4: stateless with match" -ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 0 0 1 1 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv6: stateful" -ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 echo echo "IPv6: stateful with match" -ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 echo echo "IPv6: stateless" -ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 0 0 0 0 1 1 -ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 echo echo "IPv6: stateless with match" -ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 0 0 0 0 1 1 AT_CLEANUP @@ -1075,14 +1074,14 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 check ovn-nbctl --wait=sb lrp-set-gateway-chassis R1-S1 gw1 @@ -1090,7 +1089,7 @@ uuid=`ovn-sbctl --columns=_uuid --bare find Port_Binding logical_port=cr-R1-S1` echo "CR-LRP UUID is: " $uuid # IPV4 -ovn-nbctl --portrange lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 1-3000 +check ovn-nbctl --portrange lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 1-3000 AT_CAPTURE_FILE([sbflows]) OVS_WAIT_UNTIL([ovn-sbctl dump-flows R1 > sbflows && test 2 = `grep -c lr_in_unsnat sbflows`]) @@ -1099,8 +1098,8 @@ AT_CHECK([grep -c 'ct_snat.*3000' sbflows && grep -c 'ct_dnat.*3000' sbflows], 1 ]) -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 -ovn-nbctl --wait=sb --portrange lr-nat-add R1 snat 172.16.1.1 50.0.0.11 1-3000 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl --wait=sb --portrange lr-nat-add R1 snat 172.16.1.1 50.0.0.11 1-3000 AT_CAPTURE_FILE([sbflows2]) OVS_WAIT_UNTIL([ovn-sbctl dump-flows R1 > sbflows2 && test 2 = `grep -c lr_in_unsnat sbflows`]) @@ -1109,14 +1108,14 @@ AT_CHECK([grep -c 'ct_snat.*3000' sbflows2 && grep -c 'ct_dnat.*3000' sbflows2], 0 ]) -ovn-nbctl lr-nat-del R1 snat 172.16.1.1 -ovn-nbctl --wait=sb --portrange --stateless lr-nat-add R1 dnat_and_snat 172.16.1.2 50.0.0.12 1-3000 +check ovn-nbctl lr-nat-del R1 snat 172.16.1.1 +check ovn-nbctl --wait=sb --portrange --stateless lr-nat-add R1 dnat_and_snat 172.16.1.2 50.0.0.12 1-3000 AT_CAPTURE_FILE([sbflows3]) OVS_WAIT_UNTIL([ovn-sbctl dump-flows R1 > sbflows3 && test 3 = `grep -c lr_in_unsnat sbflows3`]) AT_CHECK([grep 'ct_[s]dnat.*172\.16\.1\.2.*3000' sbflows3], [1]) -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 AT_CLEANUP ]) @@ -1278,13 +1277,13 @@ AT_CHECK([grep -e "lr_out_post_snat" crflows3 | ovn_strip_lflows], [0], [dnl ]) # Stateful FIP with DISALLOWED_IPs -ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range +check ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range check ovn-nbctl --wait=sb --is-exempted lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 disallowed_range ovn-sbctl dump-flows DR > drflows4 @@ -1307,13 +1306,13 @@ AT_CHECK([grep -e "lr_out_snat" crflows4 | ovn_strip_lflows], [0], [dnl ]) # Stateless FIP with DISALLOWED_IPs -ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 -ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 allowed_range +check ovn-nbctl lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 allowed_range check ovn-nbctl --wait=sb lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 allowed_range ovn-sbctl dump-flows DR > drflows5 @@ -1334,16 +1333,16 @@ AT_CHECK([grep -e "lr_out_snat" crflows5 | ovn_strip_lflows], [0], [dnl ]) # Stateless FIP with DISALLOWED_IPs -ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 -ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range -ovn-nbctl --is-exempted lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 disallowed_range +check ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range +check ovn-nbctl --is-exempted lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 disallowed_range -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows DR > drflows6 AT_CAPTURE_FILE([drflows2]) @@ -1385,14 +1384,14 @@ health_check @hc | uuidfilt], [0], [<0> wait_row_count Service_Monitor 0 AS_BOX([create logical switches and ports]) -ovn-nbctl ls-add sw0 -ovn-nbctl --wait=sb lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 \ +check ovn-nbctl ls-add sw0 +check ovn-nbctl --wait=sb lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 \ "00:00:00:00:00:03 10.0.0.3" wait_row_count Service_Monitor 0 -ovn-nbctl ls-add sw1 -ovn-nbctl --wait=sb lsp-add sw1 sw1-p1 -- lsp-set-addresses sw1-p1 \ +check ovn-nbctl ls-add sw1 +check ovn-nbctl --wait=sb lsp-add sw1 sw1-p1 -- lsp-set-addresses sw1-p1 \ "02:00:00:00:00:03 20.0.0.3" # service_monitors state online requires corresponding port_binding to be "up" @@ -1404,10 +1403,10 @@ wait_row_count nb:Logical_Switch_Port 1 name=sw1-p1 'up=true' wait_row_count Service_Monitor 0 -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 wait_row_count Service_Monitor 1 -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 wait_row_count Service_Monitor 2 check ovn-nbctl --wait=sb ls-lb-add sw0 lb1 @@ -1438,7 +1437,7 @@ OVS_WAIT_FOR_OUTPUT( wait_row_count Service_Monitor 2 AS_BOX([Delete the Load_Balancer_Health_Check]) -ovn-nbctl --wait=sb clear load_balancer . health_check +check ovn-nbctl --wait=sb clear load_balancer . health_check wait_row_count Service_Monitor 0 AT_CAPTURE_FILE([sbflows2]) @@ -1597,10 +1596,10 @@ check ovn-nbctl --wait=sb set load_balancer lb2 ip_port_mappings:10.0.0.3=sw0-p1 wait_row_count Service_Monitor 1 logical_port=sw0-p1 src_ip=10.0.0.100 -ovn-nbctl --wait=sb lb-del lb1 +check ovn-nbctl --wait=sb lb-del lb1 wait_row_count Service_Monitor 2 -ovn-nbctl --wait=sb lb-del lb2 +check ovn-nbctl --wait=sb lb-del lb2 wait_row_count Service_Monitor 0 check ovn-nbctl --reject lb-add lb3 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 @@ -1790,14 +1789,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([DNAT force snat IP]) ovn_start -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-public 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lrp-add lr0 lr0-join 00:00:01:01:02:04 10.10.0.1/24 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-public 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lrp-add lr0 lr0-join 00:00:01:01:02:04 10.10.0.1/24 -ovn-nbctl set logical_router lr0 options:chassis=ch1 -ovn-nbctl lr-nat-add lr0 dnat 192.168.2.2 10.0.0.5 -ovn-nbctl set logical_router lr0 options:dnat_force_snat_ip=192.168.2.3 -ovn-nbctl --wait=sb sync +check ovn-nbctl set logical_router lr0 options:chassis=ch1 +check ovn-nbctl lr-nat-add lr0 dnat 192.168.2.2 10.0.0.5 +check ovn-nbctl set logical_router lr0 options:dnat_force_snat_ip=192.168.2.3 +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl lflow-list lr0 | grep lr_in_unsnat | ovn_strip_lflows], [0], [dnl table=??(lr_in_unsnat ), priority=0 , match=(1), action=(next;) @@ -1839,10 +1838,10 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check reconcile stale tunnel keys]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 AT_CHECK([ovn-nbctl --wait=sb sync], [0]) # Ports are bound on different datapaths so it's expected that they both @@ -1850,7 +1849,7 @@ AT_CHECK([ovn-nbctl --wait=sb sync], [0]) check_column 1 Port_Binding tunnel_key logical_port=lsp1 check_column 1 Port_Binding tunnel_key logical_port=lsp2 -ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 +check ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 AT_CHECK([ovn-nbctl --wait=sb sync], [0]) check_column 1 Port_Binding tunnel_key logical_port=lsp1 @@ -1863,23 +1862,23 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check reconcile stale Ha_Chassis_Group]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 -ovn-nbctl lsp-set-type lsp2 external +check ovn-nbctl lsp-set-type lsp2 external -ovn-nbctl ha-chassis-group-add chg1 -ovn-nbctl ha-chassis-group-add-chassis chg1 chassis-1 30 +check ovn-nbctl ha-chassis-group-add chg1 +check ovn-nbctl ha-chassis-group-add-chassis chg1 chassis-1 30 chg1_uuid=$(ovn-nbctl --bare --columns _uuid list Ha_Chassis_Group .) -ovn-nbctl set logical_switch_port lsp2 ha_chassis_group=${chg1_uuid} +check ovn-nbctl set logical_switch_port lsp2 ha_chassis_group=${chg1_uuid} AT_CHECK([ovn-nbctl --wait=sb sync], [0]) # Move lsp2 from ls2 to ls1. This should also remove the SB HA_Chassis_Group # record. -ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 +check ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 AT_CHECK([ovn-nbctl --wait=sb sync], [0]) check_row_count HA_Chassis_Group 0 @@ -1891,21 +1890,21 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check NB/SB Port_Group translation (lsp add/del)]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 -ovn-nbctl --wait=sb sync +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl --wait=sb sync ls1_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls1) ls2_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls2) # Add an empty port group. This should generate no entry in the SB. -ovn-nbctl --wait=sb pg-add pg_test +check ovn-nbctl --wait=sb pg-add pg_test AT_CHECK([test 0 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) # Add lsp1 to the port group. This should generate an entry in the SB only # for ls1. -ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 +check ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 AT_CHECK([test 1 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CHECK([ovn-sbctl --columns ports --bare find Port_Group name=${ls1_key}_pg_test], [0], [dnl lsp1 @@ -1913,7 +1912,7 @@ lsp1 # Add lsp2 to the port group. This should generate a new entry in the SB, for # ls2. -ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 lsp2 +check ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 lsp2 AT_CHECK([test 2 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CHECK([ovn-sbctl --columns ports --bare find Port_Group name=${ls1_key}_pg_test], [0], [dnl lsp1 @@ -1924,14 +1923,14 @@ lsp2 # Remove lsp1 from the port group. The SB Port_Group for ls1 should be # removed. -ovn-nbctl --wait=sb pg-set-ports pg_test lsp2 +check ovn-nbctl --wait=sb pg-set-ports pg_test lsp2 AT_CHECK([test 1 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CHECK([ovn-sbctl --columns ports --bare find Port_Group name=${ls2_key}_pg_test], [0], [dnl lsp2 ]) # Remove lsp2 from the port group. All SB Port_Groups should be purged. -ovn-nbctl --wait=sb clear Port_Group pg_test ports +check ovn-nbctl --wait=sb clear Port_Group pg_test ports AT_CHECK([test 0 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CLEANUP @@ -1941,23 +1940,23 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check NB/SB Port_Group translation (ls del)]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 -ovn-nbctl --wait=sb sync +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl --wait=sb sync ls1_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls1) ls2_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls2) # Add lsp1 & lsp2 to a port group. This should generate two entries in the # SB (one per logical switch). -ovn-nbctl --wait=sb pg-add pg_test lsp1 lsp2 +check ovn-nbctl --wait=sb pg-add pg_test lsp1 lsp2 wait_row_count Port_Group 2 check_row_count Port_Group 1 name=${ls1_key}_pg_test check_row_count Port_Group 1 name=${ls2_key}_pg_test # Delete logical switch ls1. This should remove the associated SB Port_Group. -ovn-nbctl --wait=sb ls-del ls1 +check ovn-nbctl --wait=sb ls-del ls1 wait_row_count Port_Group 1 check_row_count Port_Group 1 name=${ls2_key}_pg_test @@ -1970,55 +1969,55 @@ ovn_start ovn-sbctl chassis-add ch geneve 127.0.0.1 -ovn-nbctl lr-add lr -ovn-nbctl lrp-add lr lrp-public 00:00:00:00:01:00 43.43.43.1/24 4343::1/64 -ovn-nbctl lrp-add lr lrp 00:00:00:00:00:01 42.42.42.1/24 - -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls ls-rp -ovn-nbctl lsp-set-type ls-rp router -ovn-nbctl lsp-set-addresses ls-rp router -ovn-nbctl lsp-set-options ls-rp router-port=lrp -ovn-nbctl lsp-add ls ls-vm - -ovn-nbctl set logical_router lr options:chassis=ch -ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.2 42.42.42.2 -ovn-nbctl lr-nat-add lr dnat 43.43.43.3 42.42.42.3 -ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.4 42.42.42.4 ls-vm 00:00:00:00:00:02 -ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.50 -ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.51 - -ovn-nbctl lb-add lb1 "192.168.2.1:8080" "10.0.0.4:8080" -ovn-nbctl lb-add lb2 "192.168.2.4:8080" "10.0.0.5:8080" udp -ovn-nbctl lb-add lb3 "192.168.2.5:8080" "10.0.0.6:8080" -ovn-nbctl lb-add lb4 "192.168.2.6:8080" "10.0.0.7:8080" -ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:101]]:8080" "[[fe02::200:ff:fe00:101]]:8080" -ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:102]]:8080" "[[fe02::200:ff:fe00:102]]:8080" -ovn-nbctl lb-add lb6 "43.43.43.43:8080" "10.0.0.8:8080" udp -ovn-nbctl lb-add lb7 "[[4343::4343]]:8080" "[[10::10]]:8080" udp -ovn-nbctl lb-add lb8 "44.44.44.44:8080" "10.0.0.8:8080" udp -ovn-nbctl set Load_Balancer lb8 options:neighbor_responder=all -ovn-nbctl lb-add lb9 "[[4444::4444]]:8080" "[[10::10]]:8080" udp -ovn-nbctl set Load_Balancer lb9 options:neighbor_responder=all - -ovn-nbctl lb-add lb10 "55.55.55.55:8080" "10.0.0.8:8080" udp -ovn-nbctl set Load_Balancer lb10 options:neighbor_responder=none -ovn-nbctl lb-add lb11 "[[5555::5555]]:8080" "[[10::10]]:8080" udp -ovn-nbctl set Load_Balancer lb11 options:neighbor_responder=none - -ovn-nbctl lr-lb-add lr lb1 -ovn-nbctl lr-lb-add lr lb2 -ovn-nbctl lr-lb-add lr lb3 -ovn-nbctl lr-lb-add lr lb4 -ovn-nbctl lr-lb-add lr lb5 -ovn-nbctl lr-lb-add lr lb6 -ovn-nbctl lr-lb-add lr lb7 -ovn-nbctl lr-lb-add lr lb8 -ovn-nbctl lr-lb-add lr lb9 -ovn-nbctl lr-lb-add lr lb10 -ovn-nbctl lr-lb-add lr lb11 - -ovn-nbctl --wait=sb sync +check ovn-nbctl lr-add lr +check ovn-nbctl lrp-add lr lrp-public 00:00:00:00:01:00 43.43.43.1/24 4343::1/64 +check ovn-nbctl lrp-add lr lrp 00:00:00:00:00:01 42.42.42.1/24 + +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls ls-rp +check ovn-nbctl lsp-set-type ls-rp router +check ovn-nbctl lsp-set-addresses ls-rp router +check ovn-nbctl lsp-set-options ls-rp router-port=lrp +check ovn-nbctl lsp-add ls ls-vm + +check ovn-nbctl set logical_router lr options:chassis=ch +check ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.2 42.42.42.2 +check ovn-nbctl lr-nat-add lr dnat 43.43.43.3 42.42.42.3 +check ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.4 42.42.42.4 ls-vm 00:00:00:00:00:02 +check ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.50 +check ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.51 + +check ovn-nbctl lb-add lb1 "192.168.2.1:8080" "10.0.0.4:8080" +check ovn-nbctl lb-add lb2 "192.168.2.4:8080" "10.0.0.5:8080" udp +check ovn-nbctl lb-add lb3 "192.168.2.5:8080" "10.0.0.6:8080" +check ovn-nbctl lb-add lb4 "192.168.2.6:8080" "10.0.0.7:8080" +check ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:101]]:8080" "[[fe02::200:ff:fe00:101]]:8080" +check ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:102]]:8080" "[[fe02::200:ff:fe00:102]]:8080" +check ovn-nbctl lb-add lb6 "43.43.43.43:8080" "10.0.0.8:8080" udp +check ovn-nbctl lb-add lb7 "[[4343::4343]]:8080" "[[10::10]]:8080" udp +check ovn-nbctl lb-add lb8 "44.44.44.44:8080" "10.0.0.8:8080" udp +check ovn-nbctl set Load_Balancer lb8 options:neighbor_responder=all +check ovn-nbctl lb-add lb9 "[[4444::4444]]:8080" "[[10::10]]:8080" udp +check ovn-nbctl set Load_Balancer lb9 options:neighbor_responder=all + +check ovn-nbctl lb-add lb10 "55.55.55.55:8080" "10.0.0.8:8080" udp +check ovn-nbctl set Load_Balancer lb10 options:neighbor_responder=none +check ovn-nbctl lb-add lb11 "[[5555::5555]]:8080" "[[10::10]]:8080" udp +check ovn-nbctl set Load_Balancer lb11 options:neighbor_responder=none + +check ovn-nbctl lr-lb-add lr lb1 +check ovn-nbctl lr-lb-add lr lb2 +check ovn-nbctl lr-lb-add lr lb3 +check ovn-nbctl lr-lb-add lr lb4 +check ovn-nbctl lr-lb-add lr lb5 +check ovn-nbctl lr-lb-add lr lb6 +check ovn-nbctl lr-lb-add lr lb7 +check ovn-nbctl lr-lb-add lr lb8 +check ovn-nbctl lr-lb-add lr lb9 +check ovn-nbctl lr-lb-add lr lb10 +check ovn-nbctl lr-lb-add lr lb11 + +check ovn-nbctl --wait=sb sync lr_key=$(fetch_column sb:datapath_binding tunnel_key external_ids:name=lr) lb_as_v4="_rtr_lb_${lr_key}_ip4" lb_as_v6="_rtr_lb_${lr_key}_ip6" @@ -2090,9 +2089,9 @@ action=(nd_na { eth.src = xreg0[[0..47]]; ip6.src = nd.target; nd.tll = xreg0[[0 AT_CHECK([ovn-sbctl lflow-list | grep "xreg0\[[0..47\]]" | grep -vE 'lr_in_admission|lr_in_ip_input'], [1], []) # Test chassis redirect port. -ovn-nbctl remove logical_router lr options chassis -ovn-nbctl lrp-set-gateway-chassis lrp-public ch -ovn-nbctl --wait=sb sync +check ovn-nbctl remove logical_router lr options chassis +check ovn-nbctl lrp-set-gateway-chassis lrp-public ch +check ovn-nbctl --wait=sb sync # Ingress router port ETH address is stored in lr_in_admission. AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_admission.*xreg0\[[0..47\]]" | ovn_strip_lflows], [0], [dnl @@ -2211,14 +2210,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([Load balancer - missing ls_out_pre_lb flows]) ovn_start -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lb-add lb1 "10.0.0.10" "10.0.0.3" -ovn-nbctl lb-add lb2 "10.0.0.11" "10.0.0.4" +check ovn-nbctl lb-add lb1 "10.0.0.10" "10.0.0.3" +check ovn-nbctl lb-add lb2 "10.0.0.11" "10.0.0.4" -ovn-nbctl lb-add lb3 "10.0.0.12" "10.0.0.5" -ovn-nbctl lb-add lb4 "10.0.0.13" "10.0.0.6" +check ovn-nbctl lb-add lb3 "10.0.0.12" "10.0.0.5" +check ovn-nbctl lb-add lb4 "10.0.0.13" "10.0.0.6" lb1=$(fetch_column nb:load_balancer _uuid name=lb1) lb2=$(fetch_column nb:load_balancer _uuid name=lb2) @@ -2228,7 +2227,7 @@ lb4=$(fetch_column nb:load_balancer _uuid name=lb4) lbg=$(ovn-nbctl create load_balancer_group name=lbg) check ovn-nbctl add logical_switch sw0 load_balancer_group $lbg -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl lflow-list | grep "ls_out_pre_lb.*priority=100" | grep reg0 | sort], [0], [dnl ]) @@ -2312,14 +2311,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ignore_lsp_down]) ovn_start -ovn-nbctl set NB_Global . options:ignore_lsp_down=false -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 "aa:aa:aa:aa:aa:aa 10.0.0.1" +check ovn-nbctl set NB_Global . options:ignore_lsp_down=false +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 "aa:aa:aa:aa:aa:aa 10.0.0.1" -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl lflow-list | grep arp | grep 10\.0\.0\.1], [1], [ignore]) -ovn-nbctl --wait=sb set NB_Global . options:ignore_lsp_down=true +check ovn-nbctl --wait=sb set NB_Global . options:ignore_lsp_down=true AT_CHECK([ovn-sbctl lflow-list | grep arp | grep 10\.0\.0\.1], [0], [ignore]) AT_CLEANUP @@ -2358,7 +2357,7 @@ sw1flows: table=??(ls_out_acl_eval ), priority=2003 , match=((outport == @pg AS_BOX([2]) -ovn-nbctl --wait=sb acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && udp" reject +check ovn-nbctl --wait=sb acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && udp" reject ovn-sbctl dump-flows sw0 > sw0flows2 AT_CAPTURE_FILE([sw0flows2]) @@ -2374,7 +2373,7 @@ sw1flows2: table=??(ls_out_acl_eval ), priority=2003 , match=((outport == @p AS_BOX([3]) -ovn-nbctl --wait=sb acl-add pg0 to-lport 1001 "outport == @pg0 && ip" allow-related +check ovn-nbctl --wait=sb acl-add pg0 to-lport 1001 "outport == @pg0 && ip" allow-related ovn-sbctl dump-flows sw0 > sw0flows3 AT_CAPTURE_FILE([sw0flows3]) @@ -2730,8 +2729,8 @@ AT_CHECK([ovn-sbctl lflow-list ls | grep -e ls_in_acl_hint -e ls_out_acl_hint -e table=??(ls_out_acl_hint ), priority=7 , match=(ct.new && !ct.est), action=(reg0[[7]] = 1; reg0[[9]] = 1; next;) ]) -ovn-nbctl --wait=sb clear logical_switch ls acls -ovn-nbctl --wait=sb clear logical_switch ls load_balancer +check ovn-nbctl --wait=sb clear logical_switch ls acls +check ovn-nbctl --wait=sb clear logical_switch ls load_balancer AT_CHECK([ovn-sbctl lflow-list ls | grep -e ls_in_acl_hint -e ls_out_acl_hint -e ls_in_acl_eval -e ls_out_acl_eval -e ls_in_acl_after_lb_eval | ovn_strip_lflows], [0], [dnl table=??(ls_in_acl_after_lb_eval), priority=0 , match=(1), action=(next;) @@ -2800,10 +2799,10 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([LR requested-tnl-key]) ovn_start -ovn-nbctl --wait=sb lr-add lr0 +check ovn-nbctl --wait=sb lr-add lr0 AT_CHECK([test 1 = $(ovn-sbctl get datapath_binding lr0 tunnel_key)]) -ovn-nbctl --wait=sb lr-add lr1 +check ovn-nbctl --wait=sb lr-add lr1 AT_CHECK([test 2 = $(ovn-sbctl get datapath_binding lr1 tunnel_key)]) AT_CHECK( @@ -2928,7 +2927,7 @@ eval $cmd check_row_count nb:Logical_Switch 4095 wait_row_count sb:Datapath_Binding 4095 -ovn-nbctl ls-add lsw-exhausted +check ovn-nbctl ls-add lsw-exhausted check_row_count nb:Logical_Switch 4096 wait_row_count sb:Datapath_Binding 4095 @@ -2959,7 +2958,7 @@ ovn-sbctl \ --id=@e create encap chassis_name=hv1 ip="192.168.0.1" type="vxlan" \ -- --id=@c create chassis name=hv1 encaps=@e -ovn-nbctl lsp-add lsw lsp-exhausted +check ovn-nbctl lsp-add lsw lsp-exhausted check_row_count nb:Logical_Switch_Port 2049 wait_row_count sb:Port_Binding 2048 @@ -3286,7 +3285,7 @@ $(cat sw_sb_uuids | sort) echo echo "__file__:__line__: Delete load balancers lb1 and lbg1 and check that datapath sw1's load_balancers is still empty." -ovn-nbctl --wait=sb lb-del lb1 -- lb-del lbg1 +check ovn-nbctl --wait=sb lb-del lb1 -- lb-del lbg1 check_column "" sb:datapath_binding load_balancers external_ids:name=sw1 echo @@ -3528,18 +3527,18 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ACL allow-stateless omit conntrack - Logical_Switch]) ovn_start -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lsp1 -ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 -ovn-nbctl lsp-add ls lsp2 -ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lsp1 +check ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 +check ovn-nbctl lsp-add ls lsp2 +check ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 3 "tcp" allow-related ovn-nbctl acl-add ls ${direction}-lport 2 "udp" allow-related ovn-nbctl acl-add ls ${direction}-lport 1 "ip" drop done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync flow_eth='eth.src == 00:00:00:00:00:01 && eth.dst == 00:00:00:00:00:02' flow_ip='ip.ttl==64 && ip4.src == 42.42.42.1 && ip4.dst == 66.66.66.66' @@ -3572,7 +3571,7 @@ ct_next(ct_state=new|trk) { for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack anymore. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3591,14 +3590,14 @@ ct_next(ct_state=new|trk) { ]) # Add a load balancer. -ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp -ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp -ovn-nbctl ls-lb-add ls lb-tcp -ovn-nbctl ls-lb-add ls lb-udp +check ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp +check ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp +check ovn-nbctl ls-lb-add ls lb-tcp +check ovn-nbctl ls-lb-add ls lb-udp # Remove stateless for TCP. -ovn-nbctl acl-del ls -ovn-nbctl --wait=sb sync +check ovn-nbctl acl-del ls +check ovn-nbctl --wait=sb sync # TCP packets should go to conntrack. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3632,7 +3631,7 @@ ct_lb_mark { for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack for load balancing. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3661,20 +3660,20 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ACL allow-stateless omit conntrack - Port_Group]) ovn_start -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lsp1 -ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 -ovn-nbctl lsp-add ls lsp2 -ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lsp1 +check ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 +check ovn-nbctl lsp-add ls lsp2 +check ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 -ovn-nbctl pg-add pg lsp1 lsp2 +check ovn-nbctl pg-add pg lsp1 lsp2 for direction in from to; do ovn-nbctl acl-add pg ${direction}-lport 3 "tcp" allow-related ovn-nbctl acl-add pg ${direction}-lport 2 "udp" allow-related ovn-nbctl acl-add pg ${direction}-lport 1 "ip" drop done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync lsp1_inport=$(fetch_column Port_Binding tunnel_key logical_port=lsp1) echo $lsp1_inport @@ -3708,7 +3707,7 @@ ct_next(ct_state=new|trk) { for direction in from to; do ovn-nbctl acl-add pg ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack anymore. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3727,14 +3726,14 @@ ct_next(ct_state=new|trk) { ]) # Add a load balancer. -ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp -ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp -ovn-nbctl ls-lb-add ls lb-tcp -ovn-nbctl ls-lb-add ls lb-udp +check ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp +check ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp +check ovn-nbctl ls-lb-add ls lb-tcp +check ovn-nbctl ls-lb-add ls lb-udp # Remove stateless for TCP. -ovn-nbctl acl-del pg -ovn-nbctl --wait=sb sync +check ovn-nbctl acl-del pg +check ovn-nbctl --wait=sb sync # TCP packets should go to conntrack. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3768,7 +3767,7 @@ ct_lb_mark { for direction in from to; do ovn-nbctl acl-add pg ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack for load balancing. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3797,17 +3796,17 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ACL allow-stateless overrides stateful rules with higher priority - Logical_Switch]) ovn_start -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lsp1 -ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 -ovn-nbctl lsp-add ls lsp2 -ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lsp1 +check ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 +check ovn-nbctl lsp-add ls lsp2 +check ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 3 "tcp" allow-related ovn-nbctl acl-add ls ${direction}-lport 3 "udp" allow done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync flow_eth='eth.src == 00:00:00:00:00:01 && eth.dst == 00:00:00:00:00:02' flow_ip='ip.ttl==64 && ip4.src == 42.42.42.1 && ip4.dst == 66.66.66.66' @@ -3831,7 +3830,7 @@ for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 1 tcp allow-stateless ovn-nbctl acl-add ls ${direction}-lport 1 udp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack anymore. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3946,7 +3945,7 @@ route_uuid=$(fetch_column nb:logical_router_static_route _uuid ip_prefix="100.0. check ovn-nbctl clear logical_router_static_route $route_uuid bfd wait_column admin_down bfd status logical_port=r0-sw1 -ovn-nbctl destroy bfd $uuid +check ovn-nbctl destroy bfd $uuid wait_row_count bfd 5 # Simulate BFD up in Southbound for an automatically created entry. @@ -4551,15 +4550,15 @@ AT_SETUP([FDB cleanup]) ovn_start -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-add sw0 sw0-p3 +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-add sw0 sw0-p3 -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lsp-add sw1 sw1-p2 -ovn-nbctl --wait=sb lsp-add sw1 sw1-p3 +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lsp-add sw1 sw1-p2 +check ovn-nbctl --wait=sb lsp-add sw1 sw1-p3 sw0_key=$(fetch_column datapath_binding tunnel_key external_ids:name=sw0) sw1_key=$(fetch_column datapath_binding tunnel_key external_ids:name=sw1) @@ -4581,13 +4580,13 @@ wait_row_count FDB 6 ovn-sbctl create fdb mac="00\:00\:00\:00\:01\:03" dp_key=4 port_key=10 wait_row_count FDB 6 -ovn-nbctl --wait=sb ls-del sw1 +check ovn-nbctl --wait=sb ls-del sw1 wait_row_count FDB 3 -ovn-nbctl lsp-del sw0-p3 +check ovn-nbctl lsp-del sw0-p3 wait_row_count FDB 3 -ovn-nbctl lsp-del sw0-p1 +check ovn-nbctl lsp-del sw0-p1 wait_row_count FDB 1 check_column '00:00:00:00:00:03' FDB mac @@ -4596,11 +4595,11 @@ ovn-sbctl list fdb check_column $sw0_key FDB dp_key check_column $sw0p2_key FDB port_key -ovn-nbctl --wait=sb lsp-add sw0-p1 +check ovn-nbctl --wait=sb lsp-add sw0 sw0-p1 wait_row_count FDB 1 - -ovn-nbctl lsp-del sw0-p2 -ovn-nbctl lsp-add sw0-p2 +# +check ovn-nbctl lsp-del sw0-p2 +check ovn-nbctl lsp-add sw0 sw0-p2 wait_row_count FDB 0 ovn-sbctl list FDB @@ -5127,11 +5126,11 @@ check ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.2" check ovn-nbctl lsp-add sw0 sw0-port2 check ovn-nbctl lsp-set-addresses sw0-port2 "50:54:00:00:00:02 10.0.0.3" -ovn-nbctl dhcp-options-create 10.0.0.0/24 +check ovn-nbctl dhcp-options-create 10.0.0.0/24 CIDR_UUID=$(ovn-nbctl --bare --columns=_uuid find dhcp_options cidr="10.0.0.0/24") -ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" -ovn-nbctl --wait=sb lsp-set-dhcpv4-options sw0-port1 $CIDR_UUID +check ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" +check ovn-nbctl --wait=sb lsp-set-dhcpv4-options sw0-port1 $CIDR_UUID ovn-sbctl dump-flows sw0 > sw0flows AT_CAPTURE_FILE([sw0flows]) @@ -5150,7 +5149,7 @@ AT_CHECK([grep -w "ls_in_dhcp_options" sw0flows | ovn_strip_lflows], [0], [dnl table=??(ls_in_dhcp_options ), priority=100 , match=(inport == "sw0-port1" && eth.src == 50:54:00:00:00:01 && (ip4.src == {10.0.0.2, 0.0.0.0} && ip4.dst == {10.0.0.1, 255.255.255.255}) && udp.src == 68 && udp.dst == 67), action=(reg0[[3]] = put_dhcp_opts(offerip = 10.0.0.2, hostname = "port1", lease_time = 3600, netmask = 255.255.255.0, router = 10.0.0.1, server_id = 10.0.0.1); next;) ]) -ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 +check ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 check ovn-nbctl --wait=sb lsp-set-options sw0-port1 hostname="\"bar\"" ovn-sbctl dump-flows sw0 > sw0flows AT_CAPTURE_FILE([sw0flows]) @@ -5560,8 +5559,8 @@ AT_CHECK([grep "ls_in_l2_lkup" ls2_lflows | ovn_strip_lflows], [0], [dnl AS_BOX([Adding load balancer reachable VIPs to ro1]) -ovn-nbctl lb-add lb1 192.168.1.100:80 10.0.0.10:80 -ovn-nbctl --wait=sb lr-lb-add ro1 lb1 +check ovn-nbctl lb-add lb1 192.168.1.100:80 10.0.0.10:80 +check ovn-nbctl --wait=sb lr-lb-add ro1 lb1 ovn-sbctl lflow-list ls1 > ls1_lflows AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | ovn_strip_lflows], [0], [dnl @@ -5581,7 +5580,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | ovn_strip_lflows], [0], [dnl ]) AS_BOX([Adding load balancer unreachable VIPs to ro1]) -ovn-nbctl --wait=sb lb-add lb1 192.168.4.100:80 10.0.0.10:80 +check ovn-nbctl --wait=sb lb-add lb1 192.168.4.100:80 10.0.0.10:80 ovn-sbctl lflow-list ls1 > ls1_lflows AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | ovn_strip_lflows], [0], [dnl @@ -5730,7 +5729,7 @@ check ovn-nbctl ls-add public check ovn-nbctl lrp-add lr0 lr0-public 00:00:00:00:ff:02 172.168.0.10/24 check ovn-nbctl lrp-set-gateway-chassis lr0-public gw1 -ovn-nbctl lsp-add public public-lr0 -- set Logical_Switch_Port public-lr0 \ +check ovn-nbctl lsp-add public public-lr0 -- set Logical_Switch_Port public-lr0 \ type=router options:router-port=lr0-public \ -- lsp-set-addresses public-lr0 router @@ -6202,7 +6201,7 @@ check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 aef0::1 check ovn-nbctl lrp-add lr0 lr0-public 00:00:00:00:ff:02 172.168.0.10/24 def0::10 lb1_uuid=$(fetch_column nb:Load_Balancer _uuid name=lb1) -ovn-nbctl set load_balancer $lb1_uuid vips:'"[[def0::2]]:8000"'='"@<:@aef0::2@:>@:80,@<:@aef0::3@:>@:80"' +check ovn-nbctl set load_balancer $lb1_uuid vips:'"[[def0::2]]:8000"'='"@<:@aef0::2@:>@:80,@<:@aef0::3@:>@:80"' ovn-nbctl list load_Balancer check ovn-nbctl --wait=sb sync @@ -7015,7 +7014,7 @@ check ovn-nbctl lsp-add ls1 lsp1 -- \ lsp-set-options lsp1 router-port=lrp1 # ensure initial flows are installed without is_chassis_resident match part -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7033,7 +7032,7 @@ wait_row_count Port_Binding 0 logical_port=cr-lrp1 options:always-redirect="true # make lrp a cr-port and check its flows check ovn-nbctl lrp-set-gateway-chassis lrp1 ch1 -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7055,7 +7054,7 @@ wait_row_count Port_Binding 1 logical_port=cr-lrp1 options:always-redirect="true # there should not be is_chassis_resident part. check ovn-nbctl lsp-add ls1 lsp-vtep -- lsp-set-type lsp-vtep vtep -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7074,7 +7073,7 @@ wait_row_count Port_Binding 0 logical_port=cr-lrp1 options:always-redirect="true # delete vtep lport and check lrp has is_chassis_resident match part again. check ovn-nbctl lsp-del lsp-vtep -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7111,29 +7110,29 @@ ch2_uuid=`ovn-sbctl --bare --columns _uuid find Chassis name="ch2"` check ovn-sbctl set chassis $ch2_uuid hostname=ch2-hostname -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm2 +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm2 wait_row_count Port_Binding 1 logical_port=S1-vm1 requested_chassis!=$ch1_uuid wait_row_count Port_Binding 1 logical_port=S1-vm2 requested_chassis!=$ch2_uuid -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 \ +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 \ options:requested-chassis=ch1 wait_row_count Port_Binding 1 logical_port=S1-vm1 requested_chassis=$ch1_uuid -ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ +check ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ options:requested-chassis=ch2-hostname wait_row_count Port_binding 1 logical-port=S1-vm2 requested_chassis=$ch2_uuid -ovn-nbctl --wait=sb remove logical_switch_port S1-vm2 \ +check ovn-nbctl --wait=sb remove logical_switch_port S1-vm2 \ options requested-chassis=ch2-hostname wait_row_count Port_binding 1 logical-port=S1-vm2 requested_chassis!=$ch2_uuid -ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ +check ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ options:requested-chassis=ch2 wait_row_count Port_binding 1 logical-port=S1-vm2 requested_chassis=$ch2_uuid @@ -7145,11 +7144,11 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check options: force_fdb_lookup for LSP]) ovn_start NORTHD_TYPE -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-add S1 S1-localnet -ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" unknown -ovn-nbctl --wait=sb lsp-set-type S1-localnet localnet +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-add S1 S1-localnet +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" unknown +check ovn-nbctl --wait=sb lsp-set-type S1-localnet localnet #Verify the flows before setting force_fdb_lookup option ovn-sbctl dump-flows S1 > S1flows @@ -7160,8 +7159,8 @@ AT_CHECK([grep -e "ls_in_l2_lkup.*S1-vm1" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the force_fdb_lookup option and verify the flows -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:force_fdb_lookup=true -ovn-nbctl --wait=sb set logical_switch_port S1-localnet options:force_fdb_lookup=true +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:force_fdb_lookup=true +check ovn-nbctl --wait=sb set logical_switch_port S1-localnet options:force_fdb_lookup=true ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7183,11 +7182,11 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check options:pkt_clone_type for LSP]) ovn_start NORTHD_TYPE -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm2 -ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" -ovn-nbctl --wait=sb lsp-set-addresses S1-vm2 "unknown" +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm2 +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm2 "unknown" ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7197,7 +7196,7 @@ AT_CHECK([grep -e "ls_in_l2_lkup.*S1-vm1" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the pkt_clone_type option and verify the flow -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=mc_unknown +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=mc_unknown ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7207,7 +7206,7 @@ AT_CHECK([grep -e "ls_in_l2_lkup.*S1-vm1" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the pkt_clone_type option to an invalid value -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=foo +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=foo ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7352,28 +7351,28 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check exclude-lb-vips-from-garp option]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl set logical_router R1 options:chassis=hv1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl set logical_router R1 options:chassis=hv1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" -ovn-nbctl lr-nat-add R1 snat 172.16.1.1 10.0.0.0/24 -ovn-nbctl lr-nat-add R1 dnat 172.16.1.2 10.0.0.1 +check ovn-nbctl lr-nat-add R1 snat 172.16.1.1 10.0.0.0/24 +check ovn-nbctl lr-nat-add R1 dnat 172.16.1.2 10.0.0.1 # Add load balancers -ovn-nbctl lb-add lb0 172.16.1.10:80 10.0.0.1:80 -ovn-nbctl lr-lb-add R1 lb0 -ovn-nbctl lb-add lb1 172.16.1.10:8080 10.0.0.1:8080 -ovn-nbctl lr-lb-add R1 lb1 -ovn-nbctl --wait=sb sync +check ovn-nbctl lb-add lb0 172.16.1.10:80 10.0.0.1:80 +check ovn-nbctl lr-lb-add R1 lb0 +check ovn-nbctl lb-add lb1 172.16.1.10:8080 10.0.0.1:8080 +check ovn-nbctl lr-lb-add R1 lb1 +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses |grep -q 172.16.1.10], [0]) -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" \ +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" \ exclude-lb-vips-from-garp="true" AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses |grep -q 172.16.1.10], [1]) @@ -7513,7 +7512,7 @@ rm log_flows # Now remove the label from the allow-related ACL. set_acl_options allow_related_acl 0 true -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync record_log_flows @@ -7618,7 +7617,7 @@ rm log_flows # Now remove the label from the allow-related ACL. set_acl_options allow_related_acl 0 true -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync record_log_flows @@ -8094,18 +8093,18 @@ AT_SETUP([LR NB Static_MAC_Binding table]) ovn_start # Create logical routers -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-p0 00:00:01:01:02:03 192.168.10.1/24 -ovn-nbctl lrp-add lr0 lr0-p1 00:00:02:02:03:04 192.168.11.1/24 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-p0 00:00:01:01:02:03 192.168.10.1/24 +check ovn-nbctl lrp-add lr0 lr0-p1 00:00:02:02:03:04 192.168.11.1/24 -ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.10 00:00:11:22:33:44 -ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.100 00:00:22:33:44:55 +check ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.10 00:00:11:22:33:44 +check ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.100 00:00:22:33:44:55 wait_row_count nb:Static_MAC_Binding 2 logical_port=lr0-p0 wait_row_count Static_MAC_Binding 1 logical_port=lr0-p0 ip=192.168.10.10 mac="00\:00\:11\:22\:33\:44" wait_row_count Static_MAC_Binding 1 logical_port=lr0-p0 ip=192.168.10.100 mac="00\:00\:22\:33\:44\:55" -ovn-nbctl static-mac-binding-add lr0-p1 10.0.0.10 00:00:33:44:55:66 +check ovn-nbctl static-mac-binding-add lr0-p1 10.0.0.10 00:00:33:44:55:66 wait_row_count nb:Static_MAC_Binding 1 logical_port=lr0-p1 wait_row_count Static_MAC_Binding 1 logical_port=lr0-p1 ip=10.0.0.10 mac="00\:00\:33\:44\:55\:66" @@ -8133,7 +8132,7 @@ AT_SETUP([LR neighbor lookup and learning flows]) ovn_start # Create logical routers -ovn-nbctl --wait=sb lr-add lr0 +check ovn-nbctl --wait=sb lr-add lr0 ovn-sbctl dump-flows lr0 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -9206,34 +9205,34 @@ AT_SETUP([check install_ls_lb_from_router option]) AT_KEYWORDS([lb-ls-install-from-lrouter]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl set logical_router R1 options:chassis=hv1 -ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 -ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl set logical_router R1 options:chassis=hv1 +check ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 -ovn-nbctl ls-add S0 -ovn-nbctl lsp-add S0 S0-R1 -ovn-nbctl lsp-set-type S0-R1 router -ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 -ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 +check ovn-nbctl ls-add S0 +check ovn-nbctl lsp-add S0 S0-R1 +check ovn-nbctl lsp-set-type S0-R1 router +check ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 +check ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 # Add load balancers on the logical router R1 -ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80 -ovn-nbctl lr-lb-add R1 lb0 +check ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80 +check ovn-nbctl lr-lb-add R1 lb0 -ovn-nbctl lb-add lb1 172.16.0.11:8080 10.0.0.2:8080 +check ovn-nbctl lb-add lb1 172.16.0.11:8080 10.0.0.2:8080 lb1_uuid=$(fetch_column nb:load_balancer _uuid name=lb1) lbg=$(ovn-nbctl create load_balancer_group name=lbg -- \ add load_balancer_group lbg load_balancer $lb1_uuid) -ovn-nbctl add logical_router R1 load_balancer_group $lbg -ovn-nbctl --wait=sb sync +check ovn-nbctl add logical_router R1 load_balancer_group $lbg +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows S0 > S0flows ovn-sbctl dump-flows S1 > S1flows @@ -9300,28 +9299,28 @@ AT_SETUP([check fip flows with redirect-type bridged]) AT_KEYWORDS([fip-redirect-type-bridged]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 1000::a/64 -ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 3000::a/64 -ovn-nbctl lrp-set-gateway-chassis R1-PUB hv1 20 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 1000::a/64 +check ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 3000::a/64 +check ovn-nbctl lrp-set-gateway-chassis R1-PUB hv1 20 -ovn-nbctl ls-add S0 -ovn-nbctl lsp-add S0 S0-R1 -ovn-nbctl lsp-set-type S0-R1 router -ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 -ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 -ovn-nbctl lsp-add S0 S0-P0 -ovn-nbctl lsp-set-addresses S0-P0 "50:54:00:00:00:03 10.0.0.3 1000::3" +check ovn-nbctl ls-add S0 +check ovn-nbctl lsp-add S0 S0-R1 +check ovn-nbctl lsp-set-type S0-R1 router +check ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 +check ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 +check ovn-nbctl lsp-add S0 S0-P0 +check ovn-nbctl lsp-set-addresses S0-P0 "50:54:00:00:00:03 10.0.0.3 1000::3" -ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.0.110 10.0.0.3 S0-P0 30:54:00:00:00:03 -ovn-nbctl lr-nat-add R1 dnat_and_snat 3000::c 1000::3 S0-P0 40:54:00:00:00:03 +check ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.0.110 10.0.0.3 S0-P0 30:54:00:00:00:03 +check ovn-nbctl lr-nat-add R1 dnat_and_snat 3000::c 1000::3 S0-P0 40:54:00:00:00:03 ovn-sbctl dump-flows R1 > R1flows AT_CAPTURE_FILE([R1flows]) AT_CHECK([grep "lr_in_arp_resolve" R1flows | grep priority=90 | sort], [0], [dnl ]) -ovn-nbctl --wait=sb set logical_router_port R1-PUB options:redirect-type=bridged +check ovn-nbctl --wait=sb set logical_router_port R1-PUB options:redirect-type=bridged ovn-sbctl dump-flows R1 > R1flows AT_CAPTURE_FILE([R1flows]) @@ -9338,29 +9337,29 @@ AT_SETUP([check lb-affinity flows]) AT_KEYWORDS([lb-affinity-flows]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl set logical_router R1 options:chassis=hv1 -ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 -ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl set logical_router R1 options:chassis=hv1 +check ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 -ovn-nbctl ls-add S0 -ovn-nbctl lsp-add S0 S0-R1 -ovn-nbctl lsp-set-type S0-R1 router -ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 -ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 +check ovn-nbctl ls-add S0 +check ovn-nbctl lsp-add S0 S0-R1 +check ovn-nbctl lsp-set-type S0-R1 router +check ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 +check ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 # Add load balancers on the logical router R1 -ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80,20.0.0.2:80 tcp -ovn-nbctl lr-lb-add R1 lb0 -ovn-nbctl ls-lb-add S0 lb0 -ovn-nbctl --wait=sb sync +check ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80,20.0.0.2:80 tcp +check ovn-nbctl lr-lb-add R1 lb0 +check ovn-nbctl ls-lb-add S0 lb0 +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows S0 > S0flows ovn-sbctl dump-flows R1 > R1flows @@ -9382,7 +9381,7 @@ AT_CHECK([grep "lr_in_lb_aff_learn" R1flows | ovn_strip_lflows], [0], [dnl table=??(lr_in_lb_aff_learn ), priority=0 , match=(1), action=(next;) ]) -ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 AS_BOX([Test LS flows]) ovn-sbctl dump-flows S0 > S0flows @@ -9524,9 +9523,9 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check options:disable_arp_nd_rsp for LSP]) ovn_start NORTHD_TYPE -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:010 192.168.0.10 fd00::10" +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:010 192.168.0.10 fd00::10" ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -9540,7 +9539,7 @@ AT_CHECK([grep -e "ls_in_arp_rsp" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the disable_arp_nd_rsp option and verify the flow -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:disable_arp_nd_rsp=true +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:disable_arp_nd_rsp=true ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -9569,7 +9568,7 @@ p1_uuid=$(fetch_column nb:Logical_Switch_Port _uuid name=sw0-p1) p2_uuid=$(fetch_column nb:Logical_Switch_Port _uuid name=sw0-p2) echo "p1 uuid - $p1_uuid" -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats foo_as_uuid=$(ovn-nbctl create address_set name=foo addresses=\"1.1.1.1\",\"1.1.1.2\") @@ -10677,13 +10676,13 @@ check_recompute_counter 0 0 0 0 0 0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) # Associate DHCP for lsp0-2 -ovn-nbctl dhcp-options-create 192.168.0.0/24 +check ovn-nbctl dhcp-options-create 192.168.0.0/24 CIDR_UUID=$(ovn-nbctl --bare --columns=_uuid find dhcp_options cidr="192.168.0.0/24") -ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=192.168.0.1 server_id=192.168.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" +check ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=192.168.0.1 server_id=192.168.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats -ovn-nbctl --wait=sb lsp-set-dhcpv4-options lsp0-2 $CIDR_UUID +check ovn-nbctl --wait=sb lsp-set-dhcpv4-options lsp0-2 $CIDR_UUID check_recompute_counter 0 0 0 0 0 0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) @@ -10694,7 +10693,7 @@ d1="$(ovn-nbctl create DHCP_Options cidr="aef0\:\:/64" \ options="\"server_id\"=\"00:00:00:10:00:01\"")" check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats -ovn-nbctl --wait=sb lsp-set-dhcpv6-options lsp0-2 ${d1} +check ovn-nbctl --wait=sb lsp-set-dhcpv6-options lsp0-2 ${d1} check_recompute_counter 0 0 0 0 0 0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) @@ -10719,14 +10718,14 @@ check_recompute_counter() { check ovn-nbctl ls-add ls0 check ovn-nbctl --wait=sb lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-ls0 00:00:00:00:ff:01 192.168.0.1/24 -ovn-nbctl lsp-add ls0 ls0-lr0 -ovn-nbctl lsp-set-type ls0-lr0 router -ovn-nbctl lsp-set-addresses ls0-lr0 router +check ovn-nbctl lrp-add lr0 lr0-ls0 00:00:00:00:ff:01 192.168.0.1/24 +check ovn-nbctl lsp-add ls0 ls0-lr0 +check ovn-nbctl lsp-set-type ls0-lr0 router +check ovn-nbctl lsp-set-addresses ls0-lr0 router check ovn-nbctl --wait=sb lsp-set-options ls0-lr0 router-port=lr0-ls0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) -ovn-nbctl lb-add lb0 192.168.0.10:80 10.0.0.10:8080 +check ovn-nbctl lb-add lb0 192.168.0.10:80 10.0.0.10:8080 check ovn-nbctl --wait=sb ls-lb-add ls0 lb0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) @@ -11158,12 +11157,12 @@ check_engine_stats sync_to_sb_lb recompute nocompute check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats check ovn-nbctl ls-add sw0 check ovn-nbctl --wait=sb lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats -ovn-nbctl --wait=sb lsp-set-options sw0-lr0 router-port=lr0-sw0 +check ovn-nbctl --wait=sb lsp-set-options sw0-lr0 router-port=lr0-sw0 check_engine_stats lb_data norecompute compute check_engine_stats northd recompute compute check_engine_stats lr_stateful recompute nocompute @@ -12659,7 +12658,7 @@ AT_SETUP([Sampling_App incremental processing]) ovn_start -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats ovn-nbctl create Sampling_App type="acl-new" id="42" From patchwork Tue Nov 5 19:23:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007115 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=McKPugYI; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdYl0pq4z1xxN for ; Wed, 6 Nov 2024 06:24:08 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id B3DCC40A6D; Tue, 5 Nov 2024 19:24:06 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id GEY5LgvBzF4K; Tue, 5 Nov 2024 19:24:05 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 9CF9940A63 Authentication-Results: smtp2.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=McKPugYI Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 9CF9940A63; Tue, 5 Nov 2024 19:24:05 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 7D483C08A6; Tue, 5 Nov 2024 19:24:05 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 12EEEC08A3 for ; Tue, 5 Nov 2024 19:24:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id E95EB40592 for ; Tue, 5 Nov 2024 19:23:55 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id XueSlUi4XBIC for ; Tue, 5 Nov 2024 19:23:54 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 9B241405D8 Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 9B241405D8 Authentication-Results: smtp4.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=McKPugYI Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp4.osuosl.org (Postfix) with ESMTPS id 9B241405D8 for ; Tue, 5 Nov 2024 19:23:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cDUCGXkOCx+cTmGsNyi2NaNbpFEdsCEQKHBtppRv3LQ=; b=McKPugYIrjvYvBLe9FpcZTykWjouZdh5xoAnyXidAtI2kpBB09javOvKnOBBDq+cBnhD/C vfC56Bcoh15xQB6cr6tMiTqeSo6TWkCymsQpzt9QxG207udFl6JZ8VzDAiO49AQQpREIlP ccdUbemouwgSYbE1h5FldkX0GGsCl4o= Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-164-Ckudxds5MTqhcr5tGtXOQg-1; Tue, 05 Nov 2024 14:23:52 -0500 X-MC-Unique: Ckudxds5MTqhcr5tGtXOQg-1 Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7180ef2acd7so4870772a34.1 for ; Tue, 05 Nov 2024 11:23:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834631; x=1731439431; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cDUCGXkOCx+cTmGsNyi2NaNbpFEdsCEQKHBtppRv3LQ=; b=AKhyJ74gsOEOcTpzkwPeRHfRSBADH4f/P0FaEKH3bBsCdAKhIy46BOdkZs7PPBEmjG N2JiyBq25pmFq3OcxLpx893D2tBCgEwl2fYQ5sROAHNkn2s2kdsibcCVHxCr+s+ZEnvh XYEpQqafv7aG3bpP1Ix1XmerHg7kwKa7JBVR9Cea2YLbfe6Yt0r3cZRUyQLL190xjNyj Tf09tuFhWnNWJtCSVKhKKuDOLz/VVMf1ChV6eMmRUB4LsGj1PrI4GtT8GNf7F824QNAi kLZjcKXDFSXPx83BhJxpsWtaPsNi/L1KMPR4fffJlKydjKdiE9gSL7eMiyYn83tV7aiJ kaRA== X-Gm-Message-State: AOJu0Ywc8iKvhLK/XgdUAoXaQroSp4OhExDLa4ce/elEdnLjjTw1oPAa WG0wyT/5Aun3hsV/APBD37rS4k8F+AxGY0VRqRszPRYsHiMgzXL9BnJ2HJ/w+AvXeVsQ7Yb/ruh x5zgDHHo8f3Ty3NkIIoNnoONGrtDRafVyeB7KyABcSTciKM0lRtBvJ0kTkjvsagI61gcpaXVYji 5ZjQQPC5kXQTv/SIZFt8hsh9geLeeR47i9v/8ekAWEOo+gqowi9g== X-Received: by 2002:a05:6830:2b1e:b0:718:1957:4b88 with SMTP id 46e09a7af769-7189b4b5bcbmr18590881a34.2.1730834631493; Tue, 05 Nov 2024 11:23:51 -0800 (PST) X-Google-Smtp-Source: AGHT+IFkMmtg/G58gdLUIpCLK5rmNoF+AT61CO/+JxJeOZu4ZqbkicTZHeN0uOWSIexYedPUinlGrQ== X-Received: by 2002:a05:6830:2b1e:b0:718:1957:4b88 with SMTP id 46e09a7af769-7189b4b5bcbmr18590855a34.2.1730834631094; Tue, 05 Nov 2024 11:23:51 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7189cc6a2absm2571190a34.30.2024.11.05.11.23.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:50 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:27 +0100 Message-ID: X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 5/8] test: ovn-performance: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/ovn-performance.at | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/ovn-performance.at b/tests/ovn-performance.at index dbad83bbb..249302a10 100644 --- a/tests/ovn-performance.at +++ b/tests/ovn-performance.at @@ -521,7 +521,7 @@ OVN_CONTROLLER_EXPECT_HIT( # Make hv4 active. There is remote possibility that full recompute # triggers for hv1-hv5 after hv4 becomes active because of updates to the # ovn-hv$i-0 interfaces. Most of the time there will be no recompute. -ovn-nbctl --wait=hv lrp-set-gateway-chassis lr1-public hv4 40 +check ovn-nbctl --wait=hv lrp-set-gateway-chassis lr1-public hv4 40 hv4_ch=$(ovn-sbctl --bare --columns _uuid list chassis hv4) OVS_WAIT_UNTIL([ovn-sbctl find port_binding logical_port=cr-lr1-public chassis=$hv4_ch]) @@ -547,7 +547,7 @@ OVN_CONTROLLER_EXPECT_HIT_COND( # Wait for port_binding change related flows hv5_ch=$(ovn-sbctl --bare --columns _uuid list chassis hv5) OVS_WAIT_UNTIL([ovn-sbctl find port_binding logical_port=cr-lr1-public chassis=$hv5_ch]) -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Delete hv5 from gateway chassis. There should be no lflow_run. OVN_CONTROLLER_EXPECT_NO_HIT( [hv1 hv2 hv3 hv4 hv5], [lflow_run], @@ -560,7 +560,7 @@ OVN_CONTROLLER_EXPECT_NO_HIT( [ovn-nbctl --wait=hv set Logical_Switch_Port ln-public options:qos_burst=1000] ) -ovn-nbctl --wait=hv meter-add meter0 drop 100 pktps 10 +check ovn-nbctl --wait=hv meter-add meter0 drop 100 pktps 10 OVN_CONTROLLER_EXPECT_NO_HIT( [hv1 hv2 hv3 hv4], [lflow_run], From patchwork Tue Nov 5 19:23:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007117 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=S6pg5Krt; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdYy1kQgz1xyR for ; Wed, 6 Nov 2024 06:24:22 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 9A6E440648; Tue, 5 Nov 2024 19:24:19 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 1q25ttMJIjZi; Tue, 5 Nov 2024 19:24:16 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org DEE4B40623 Authentication-Results: smtp4.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=S6pg5Krt Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTPS id DEE4B40623; Tue, 5 Nov 2024 19:24:14 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 7FF8BC08A6; Tue, 5 Nov 2024 19:24:14 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 229ABC08BC for ; Tue, 5 Nov 2024 19:24:13 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 0C7F240568 for ; Tue, 5 Nov 2024 19:24:01 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id E-YrFHvk6F-r for ; Tue, 5 Nov 2024 19:23:59 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 643EF4052B Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 643EF4052B Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp4.osuosl.org (Postfix) with ESMTPS id 643EF4052B for ; Tue, 5 Nov 2024 19:23:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dqtDEsIx3WeeT9ptezrw6czQJt1CNZFj1nZBKIDAt0w=; b=S6pg5Krt8ADw76PAmjd9VqomQ4+V7dcViSFNunDDGdRAKGpzmWMmoPhRJTYXG+gLzS/X6z 7nqG/vOsidaqoAPw3Cb2OkzX8ZXko37lXSsVQDYigYXCokB7CadGlG2sq34i/IVI2GtvET tZD65OdLdHGiOCb9WvDvftE4+vBV3ug= Received: from mail-oa1-f72.google.com (mail-oa1-f72.google.com [209.85.160.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-438-PFa8C02vOF-J-lGOx1Lr7A-1; Tue, 05 Nov 2024 14:23:55 -0500 X-MC-Unique: PFa8C02vOF-J-lGOx1Lr7A-1 Received: by mail-oa1-f72.google.com with SMTP id 586e51a60fabf-28f4d9c29bfso3634506fac.1 for ; Tue, 05 Nov 2024 11:23:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834634; x=1731439434; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dqtDEsIx3WeeT9ptezrw6czQJt1CNZFj1nZBKIDAt0w=; b=RBvvWzsG3vdcbEP/1OaSfP2rA2uMS6lH9HJM+8VaaUcGZ+zqtb5YMa/VnKsMjiHbDd 9QQ2bksArGOsBXMfHQNZIFVYt3Mn8u0+twonHm0IIljg/bB8HG+rM7Tg2Tldw41Himpq uarPS1chwK6e+QFDS0GVzuJz3jVz+yi91LFbWoJvKc4Vb0EOv1bWJzPLP0Zl0GYfg+p5 mUX1PFkMv4FpZMrDX+mvvRaSlWYjreAE32ikvf+f6kMeWr1l7Qeg+qNOxQdXRhZM03/e ydFjk4PPLSCQ1bz3QKt4KWwFg40tja9n5EEIkWDL1v2eCd/3vc9mEvVYn1weHYX+LCKW ndMQ== X-Gm-Message-State: AOJu0YzHBHAUsZyf55Wcio4j4GYsjJ57HyBp9SdvSm01ZSf6mc/HZPxF umF4jeD4T8czlVCrGassQ3MJ0JcJzfpT1g8DgDqSmv98m2GAhKzzb/EUmVVrRWu2vVIBT8zBpFj bU4kvQC299aSa/bKPxSjL/6mkwSZI//dZZuNrT1dE93frM5ptBax0ITgx+NIiUPBm3Q2oXagcc7 wAhTJJmycIArg4LTy6mUfq0t2Yi9AHnXhw5RpHQ4GAiYkTHujeZg== X-Received: by 2002:a05:6870:3043:b0:26f:ddfa:3564 with SMTP id 586e51a60fabf-2949ed307damr16128270fac.6.1730834634178; Tue, 05 Nov 2024 11:23:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IGqV/tWi2U+0wXUtx80ScmtGDn0NVvKtuhzfjy0r1Y+m1z26g12rcrfGmHFa8X5sKz57Zih4A== X-Received: by 2002:a05:6870:3043:b0:26f:ddfa:3564 with SMTP id 586e51a60fabf-2949ed307damr16128245fac.6.1730834633744; Tue, 05 Nov 2024 11:23:53 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-29487485e09sm3837739fac.14.2024.11.05.11.23.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:53 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:28 +0100 Message-ID: <003a10562e1ad1aa97a2d9785b897df270a5749a.1730833286.git.lorenzo.bianconi@redhat.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 6/8] test: ovn-ic: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/ovn-ic.at | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at index 33ad37f2e..a6463ae3a 100644 --- a/tests/ovn-ic.at +++ b/tests/ovn-ic.at @@ -15,7 +15,7 @@ availability-zone az2 ]) ovn_as az1 -ovn-nbctl set NB_Global . name=az3 +check ovn-nbctl set NB_Global . name=az3 OVS_WAIT_UNTIL([ovn-ic-sbctl show | grep -q az3]) AT_CHECK([ovn-ic-sbctl show], [0], [dnl availability-zone az2 @@ -23,7 +23,7 @@ availability-zone az3 ]) ovn_as az2 -ovn-nbctl set NB_Global . name=\"\" +check ovn-nbctl set NB_Global . name=\"\" OVS_WAIT_WHILE([ovn-ic-sbctl show | grep -q az2]) AT_CHECK([ovn-ic-sbctl show], [0], [dnl availability-zone az3 @@ -77,7 +77,7 @@ check_row_count ic-sb:Datapath_Binding 1 transit_switch=ts2 check_column "ts1 ts2" ic-sb:Datapath_Binding transit_switch check_column "ts1 ts2" nb:Logical_Switch name -ovn-nbctl --wait=hv sync +check ovn-nbctl --wait=hv sync # Check SB DP key ts1_key=$(fetch_column ic-sb:Datapath_Binding tunnel_key transit_switch=ts1) @@ -357,12 +357,12 @@ ovs-vsctl set open . external-ids:ovn-is-interconn=true ovn_as az1 # Create LRP and connect to TS -ovn-nbctl lr-add lr1 -ovn-nbctl lrp-add lr1 lrp-lr1-ts1 aa:aa:aa:aa:aa:01 169.254.100.1/24 -ovn-nbctl lsp-add ts1 lsp-ts1-lr1 -ovn-nbctl lsp-set-addresses lsp-ts1-lr1 router -ovn-nbctl lsp-set-type lsp-ts1-lr1 router -ovn-nbctl --wait=hv lsp-set-options lsp-ts1-lr1 router-port=lrp-lr1-ts1 +check ovn-nbctl lr-add lr1 +check ovn-nbctl lrp-add lr1 lrp-lr1-ts1 aa:aa:aa:aa:aa:01 169.254.100.1/24 +check ovn-nbctl lsp-add ts1 lsp-ts1-lr1 +check ovn-nbctl lsp-set-addresses lsp-ts1-lr1 router +check ovn-nbctl lsp-set-type lsp-ts1-lr1 router +check ovn-nbctl --wait=hv lsp-set-options lsp-ts1-lr1 router-port=lrp-lr1-ts1 OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl show | grep lsp-ts1-lr1]) ovn_as az2 ovn-nbctl lsp-set-options lsp-ts1-lr1 requested-chassis=gw1 @@ -377,20 +377,20 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az2 ovn-sbctl -f csv -d bare --no-headings --columns lsp-ts1-lr1,remote ]) -ovn-nbctl lrp-set-gateway-chassis lrp-lr1-ts1 gw1 +check ovn-nbctl lrp-set-gateway-chassis lrp-lr1-ts1 gw1 OVS_WAIT_UNTIL([ovn_as az2 ovn-sbctl show | grep lsp-ts1-lr1]) ovn_as az2 ovn-nbctl lsp-set-options lsp-ts1-lr1 requested-chassis="" -ovn-nbctl lrp-del-gateway-chassis lrp-lr1-ts1 gw1 +check ovn-nbctl lrp-del-gateway-chassis lrp-lr1-ts1 gw1 OVS_WAIT_WHILE([ovn_as az2 ovn-sbctl show | grep lsp-ts1-lr1]) -ovn-nbctl set logical_router_port lrp-lr1-ts1 mac="\"aa:aa:aa:aa:aa:02\"" \ +check ovn-nbctl set logical_router_port lrp-lr1-ts1 mac="\"aa:aa:aa:aa:aa:02\"" \ networks="169.254.100.2/24 169.254.200.3/24" OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl show | grep "aa:aa:aa:aa:aa:02 169.254.100.2/24 169.254.200.3/24"]) # Delete the router port from az1, the remote port in az2 should still remain # but just lost address. -ovn-nbctl lrp-del lrp-lr1-ts1 +check ovn-nbctl lrp-del lrp-lr1-ts1 OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl show | grep "aa:aa:aa:aa:aa:02 169.254.100.2/24 169.254.200.3/24"]) AT_CHECK([ovn_as az2 ovn-nbctl show | uuidfilt], [0], [dnl switch <0> (ts1) @@ -399,7 +399,7 @@ switch <0> (ts1) ]) # Delete the lsp from az1, the remote port in az2 should be gone -ovn-nbctl lsp-del lsp-ts1-lr1 +check ovn-nbctl lsp-del lsp-ts1-lr1 OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl show | grep lsp-ts1-lr1]) OVN_CLEANUP_SBOX(gw1) @@ -1234,13 +1234,13 @@ ovn_as az1 check ovn-ic-nbctl --wait=sb sync lr=lr11 -ovn-nbctl lr-add $lr +check ovn-nbctl lr-add $lr lrp=lrp-$lr-ts1 lsp=lsp-ts1-$lr # Create LRP and connect to TS -ovn-nbctl lrp-add $lr $lrp aa:aa:aa:aa:a1:01 169.254.10.11/24 -ovn-nbctl lsp-add ts1 $lsp \ +check ovn-nbctl lrp-add $lr $lrp aa:aa:aa:aa:a1:01 169.254.10.11/24 +check ovn-nbctl lsp-add ts1 $lsp \ -- lsp-set-addresses $lsp router \ -- lsp-set-type $lsp router \ -- lsp-set-options $lsp router-port=$lrp @@ -2458,29 +2458,29 @@ ovn-ic-nbctl --wait=sb --may-exist ts-add tspeer # Create LRPs and connect to the peering TS ovn_as az1 -ovn-nbctl lrp-add lr11 lrp-lr11-tspeer aa:aa:aa:aa:11:01 169.254.103.11/24 -ovn-nbctl lsp-add tspeer lsp-tspeer-lr11 \ +check ovn-nbctl lrp-add lr11 lrp-lr11-tspeer aa:aa:aa:aa:11:01 169.254.103.11/24 +check ovn-nbctl lsp-add tspeer lsp-tspeer-lr11 \ -- lsp-set-addresses lsp-tspeer-lr11 router \ -- lsp-set-type lsp-tspeer-lr11 router \ -- lsp-set-options lsp-tspeer-lr11 router-port=lrp-lr11-tspeer ovn_as az2 -ovn-nbctl lrp-add lr12 lrp-lr12-tspeer aa:aa:aa:aa:12:01 169.254.103.12/24 -ovn-nbctl lsp-add tspeer lsp-tspeer-lr12 \ +check ovn-nbctl lrp-add lr12 lrp-lr12-tspeer aa:aa:aa:aa:12:01 169.254.103.12/24 +check ovn-nbctl lsp-add tspeer lsp-tspeer-lr12 \ -- lsp-set-addresses lsp-tspeer-lr12 router \ -- lsp-set-type lsp-tspeer-lr12 router \ -- lsp-set-options lsp-tspeer-lr12 router-port=lrp-lr12-tspeer ovn_as az1 -ovn-nbctl lrp-add lr21 lrp-lr21-tspeer aa:aa:aa:aa:21:01 169.254.103.21/24 -ovn-nbctl lsp-add tspeer lsp-tspeer-lr21 \ +check ovn-nbctl lrp-add lr21 lrp-lr21-tspeer aa:aa:aa:aa:21:01 169.254.103.21/24 +check ovn-nbctl lsp-add tspeer lsp-tspeer-lr21 \ -- lsp-set-addresses lsp-tspeer-lr21 router \ -- lsp-set-type lsp-tspeer-lr21 router \ -- lsp-set-options lsp-tspeer-lr21 router-port=lrp-lr21-tspeer ovn_as az2 -ovn-nbctl lrp-add lr22 lrp-lr22-tspeer aa:aa:aa:aa:22:01 169.254.103.22/24 -ovn-nbctl lsp-add tspeer lsp-tspeer-lr22 \ +check ovn-nbctl lrp-add lr22 lrp-lr22-tspeer aa:aa:aa:aa:22:01 169.254.103.22/24 +check ovn-nbctl lsp-add tspeer lsp-tspeer-lr22 \ -- lsp-set-addresses lsp-tspeer-lr22 router \ -- lsp-set-type lsp-tspeer-lr22 router \ -- lsp-set-options lsp-tspeer-lr22 router-port=lrp-lr22-tspeer From patchwork Tue Nov 5 19:23:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007118 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=GzaP4jjI; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdZ22XSwz1xxN for ; Wed, 6 Nov 2024 06:24:25 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id C63E44061F; Tue, 5 Nov 2024 19:24:20 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 0pZgx-t5CGQ8; Tue, 5 Nov 2024 19:24:19 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org F019940619 Authentication-Results: smtp4.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=GzaP4jjI Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id F019940619; Tue, 5 Nov 2024 19:24:17 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 852D2C08B9; Tue, 5 Nov 2024 19:24:15 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 0F9DEC08A3 for ; Tue, 5 Nov 2024 19:24:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 61464405D8 for ; Tue, 5 Nov 2024 19:24:01 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id nIi83yqFxevn for ; Tue, 5 Nov 2024 19:24:00 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org 4F5AE4056B Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 4F5AE4056B Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp4.osuosl.org (Postfix) with ESMTPS id 4F5AE4056B for ; Tue, 5 Nov 2024 19:23:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QdKXzQUE9Twzas072btqh7u4ieirotCwmVRAoKCEI+g=; b=GzaP4jjIHK6w9SXGCtTmGVKp9mpeSGaLWJjJ1I6o11ErnugJVwOUOrQLrJegCisyIwjKfv P+sx3Br1LO2EG1I3Pw2p+4bLm5YWhcdYWRam+NR6VciqGgTaz54Ozziq9b2wtjE5WdOMEA 3UwnArs2qwBWoeTo3zi2gg45t5xkXu4= Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-453-QG5zyIJfNNqPeb0LyWASyg-1; Tue, 05 Nov 2024 14:23:57 -0500 X-MC-Unique: QG5zyIJfNNqPeb0LyWASyg-1 Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-3e60e177550so5350441b6e.1 for ; Tue, 05 Nov 2024 11:23:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834637; x=1731439437; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QdKXzQUE9Twzas072btqh7u4ieirotCwmVRAoKCEI+g=; b=F/T6sQplwJM71NV8cAtwz6bZzzb9QqbS3K34E/K2QoFgrJn6ysdQ27625a+zD2zVFl Sxn5mvRExZ9kVeeENPSdIpncOzMMqEAVUfhlg/tzaO8iui/se+j6JshwPneGl00mhxfW NSOL8CFBDxBjrNh6XcI1VsSZvx/iIyreo8hh6EQIHDTJ4YzhGqlTy40jRPe4uoqHRnDT ggxm+FkLfHApN7sIx6L2MrbaBIimXMh4B+QVrCpJDHgsD5anfi/9BA57ifZ8r+Mb+hDD KcKfwA6s8MvWvqFOWW0uL7jgG3irhLJOAilbVmzSkO2kyQdsZwX4Dk33pTzj1TRgO7bc kWuA== X-Gm-Message-State: AOJu0YxhZk8343A04hqvRDtYVEaHbD36NIYFJS8GbVUXirL3D5Gn3uYb sOBbxGlmrNZpcl4N6Jg694C29Y0SPsOrclWPFbliHjBfYkg0zJMjJg+sh2B8zPIBDQElRruBReX f/193yS1QWjpXFRbuyKnxWW9DPvYVGhH/LZMMzHerqE+BbwAyKOX4DsvZiMjS8oAnDrYT3Neugv HdTouIwQ3db3rUmHyzfwtpmVV8vkyL3yPeZBL25AIb2rQ46rqhPg== X-Received: by 2002:a05:6808:38c3:b0:3e6:206:e3d9 with SMTP id 5614622812f47-3e63849ef21mr37210256b6e.40.1730834636786; Tue, 05 Nov 2024 11:23:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IGYtWZcFm6WiMNO64CTCb6ZUexUazLLZCOnH1R2mtDNWi2ZyRJBXsrCG3goUyx1zwy7SHLDJQ== X-Received: by 2002:a05:6808:38c3:b0:3e6:206:e3d9 with SMTP id 5614622812f47-3e63849ef21mr37210230b6e.40.1730834636435; Tue, 05 Nov 2024 11:23:56 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3e6611a661dsm2654691b6e.14.2024.11.05.11.23.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:55 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:29 +0100 Message-ID: X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 7/8] test: perf-northd: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/perf-northd.at | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/perf-northd.at b/tests/perf-northd.at index 6d651b7e5..515b88244 100644 --- a/tests/perf-northd.at +++ b/tests/perf-northd.at @@ -17,7 +17,7 @@ m4_define([CACHE_NBDB],[ m4_define([MEASURE_RECOMPUTE],[ PERF_RECORD_START(Measure northd recompute) ovn-appctl -t northd/ovn-northd inc-engine/recompute - ovn-nbctl --wait=sb sync + check ovn-nbctl --wait=sb sync PERF_RECORD_STOP() ]) @@ -42,7 +42,7 @@ m4_define([BUILD_NBDB],[ ovn-appctl -t ovn-nb/ovsdb-server ovsdb-server/remove-db OVN_Northbound ovn-appctl -t ovn-nb/ovsdb-server ovsdb-server/add-db ${at_suite_dir}/cached/${at_group}/ovn-nb.db fi - ovn-nbctl --wait=sb sync + check ovn-nbctl --wait=sb sync PERF_RECORD_STOP() MEASURE_RECOMPUTE() From patchwork Tue Nov 5 19:23:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007119 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=WIPajB1d; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XjdZD5q0Zz1xxN for ; Wed, 6 Nov 2024 06:24:35 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id BD878608FB; Tue, 5 Nov 2024 19:24:32 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id SaoZMcRR0bW7; Tue, 5 Nov 2024 19:24:28 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.9.56; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 21784608BA Authentication-Results: smtp3.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=WIPajB1d Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 21784608BA; Tue, 5 Nov 2024 19:24:22 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id C95C0C08A6; Tue, 5 Nov 2024 19:24:21 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 1BF78C08A9 for ; Tue, 5 Nov 2024 19:24:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 96F2240A47 for ; Tue, 5 Nov 2024 19:24:05 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id cxzDrWnVWE_j for ; Tue, 5 Nov 2024 19:24:04 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org E863F40A74 Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org E863F40A74 Authentication-Results: smtp2.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=WIPajB1d Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id E863F40A74 for ; Tue, 5 Nov 2024 19:24:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730834642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=b8nuGAarcD4lVKGPbGyt9bB/2JSqbnTXl3RjmKHoYes=; b=WIPajB1dq5T/DNCtopHyAIJobeXN6EASDvkknX5iOnoffec1MSgDBjOEWbQMtWm132ZCry dS3lK60m0Bw/kghv4P7gcgp6Q60fuSwpKyJ5SnmB8HVtW3NveT+L4BWLb1qlKOwQ4TZnTK 47tIW0qs+z/OOM/eLpJRtdH2kqkCuX4= Received: from mail-ot1-f71.google.com (mail-ot1-f71.google.com [209.85.210.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-614-U4XLnZnDOXu98vAZrz77Ow-1; Tue, 05 Nov 2024 14:24:01 -0500 X-MC-Unique: U4XLnZnDOXu98vAZrz77Ow-1 Received: by mail-ot1-f71.google.com with SMTP id 46e09a7af769-7181285c746so4438659a34.3 for ; Tue, 05 Nov 2024 11:24:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834640; x=1731439440; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=b8nuGAarcD4lVKGPbGyt9bB/2JSqbnTXl3RjmKHoYes=; b=AOrvJlug0XLCPHqQ7eKy2oEmlUm4KPFtXyuNP4cJGJBimAq0/4zFOWuZW9DqhhKPQ8 rLqn2T1V8VqpOWcgtE+kV5Uo1hwwoYAZ1PjtozEomyL9Kqkv1AydxmqoTos97kFEf0RT Kp4/TNeUzCKgX5y+iKlsSA0UvqFMQtmfnzWfxGQijErt6iDFRqWvX8PUjlpPb2TgH0qK IdiQWDGkiyf7gxrdOEPUtbNPTxTNRBq4Zv+Ww+D4NZNjweNXY74a9W8eCTBibffuZQiD j3z8wTiMZna27IDcdBJpngvyIEMmS6aYzq4wCBaZVtGuip2UGEgdjrHUKoe7E/dpVFT1 SW0g== X-Gm-Message-State: AOJu0YyOGr8buyC0cR+rxz6d1t33S6/+FQtylbzBYFHYHeudW9RMwPmG Wz6gvKDxXSL7Aw3sAqKT/oJgEmUP6v6P2wLFDHC18W7wzF70kXwByM7M+98phsVVhVO7a4E8c/e rS6rsgadLMTp3oQs/XULnxqJaN/pIGlSoUCMNdiS4tlCw8486tEFlinKgRCtDZeRjxIvUNqB0Mo 2PB0NXYEDpvCrP6jplsZW2tDenM89/bpCrrGDpp8ZyCd1rvABwdw== X-Received: by 2002:a05:6830:4393:b0:715:3a11:ece2 with SMTP id 46e09a7af769-7189b3f9b00mr20302601a34.0.1730834640241; Tue, 05 Nov 2024 11:24:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IHu/788vN//E8+A6bGNuNzmO2rNgpqdxbr0OJ4o2rMJDIAAYco8wN39DaFM1UEPZmSPT8Hkwg== X-Received: by 2002:a05:6830:4393:b0:715:3a11:ece2 with SMTP id 46e09a7af769-7189b3f9b00mr20302548a34.0.1730834639203; Tue, 05 Nov 2024 11:23:59 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7189ccb1212sm2558338a34.57.2024.11.05.11.23.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:23:58 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Cc: i.maximets@ovn.org Date: Tue, 5 Nov 2024 20:23:30 +0100 Message-ID: <292de4107f77943dc03a4f7311e4d7b03c479750.1730833286.git.lorenzo.bianconi@redhat.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v2 ovn 8/8] test: Use check for ovn-sbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/ovn-controller.at | 16 +++++------ tests/ovn-ic.at | 2 +- tests/ovn-northd.at | 62 ++++++++++++++++++++--------------------- tests/ovn.at | 16 +++++------ tests/system-ovn.at | 4 +-- 5 files changed, 50 insertions(+), 50 deletions(-) diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at index 8d2b51ea3..5a78ac455 100644 --- a/tests/ovn-controller.at +++ b/tests/ovn-controller.at @@ -190,7 +190,7 @@ AT_CHECK([test "${expected_iface_types}" = "${chassis_iface_types}"]) # Change the value of other_config:iface-types using ovn-sbctl. # ovn-controller should again set it back to proper one. -ovn-sbctl set Chassis ${sysid} other_config:iface-types="foo" +check ovn-sbctl set Chassis ${sysid} other_config:iface-types="foo" OVS_WAIT_UNTIL([ chassis_iface_types=$(ovn-sbctl get Chassis ${sysid} other_config:iface-types | sed -e 's/\"//g') echo "chassis_iface_types = ${chassis_iface_types}" @@ -290,7 +290,7 @@ check_tunnel_property () { } # create "empty" chassis. vxlan is used here as a stub -ovn-sbctl chassis-add fakechassis vxlan 192.168.0.2 +check ovn-sbctl chassis-add fakechassis vxlan 192.168.0.2 # See if we switch to Geneve as the first choice when it is available # With multi-VTEP support we support tunnels with different IPs to the @@ -305,15 +305,15 @@ OVS_WAIT_UNTIL([check_tunnel_property type geneve]) # change geneve to stt and check that tun interface was deleted and there is # no stt encap on the second chassis, only vxlan -ovn-sbctl set encap ${encap_uuid} type=stt +check ovn-sbctl set encap ${encap_uuid} type=stt OVS_WAIT_WHILE([check_tunnel_property type stt]) OVS_WAIT_UNTIL([check_tunnel_property type vxlan]) # change back to geneve -ovn-sbctl set encap ${encap_uuid} type=geneve +check ovn-sbctl set encap ${encap_uuid} type=geneve # Check that changes within an encap row are propagated -ovn-sbctl set encap ${encap_uuid} ip=192.168.0.2 +check ovn-sbctl set encap ${encap_uuid} ip=192.168.0.2 OVS_WAIT_UNTIL([check_tunnel_property options:remote_ip "\"192.168.0.2\""]) # Change the type on the OVS side and check than OVN fixes it @@ -395,7 +395,7 @@ ovn_attach n1 br-phys 192.168.0.1 OVS_WAIT_UNTIL([test xhv = x`ovn-sbctl --columns name --bare find chassis`]) # Delete the chassis "hv" -ovn-sbctl chassis-del hv +check ovn-sbctl chassis-del hv # ovn-controller should recreate its chassis row. OVS_WAIT_UNTIL([test xhv = x`ovn-sbctl --columns name --bare find chassis`]) @@ -822,7 +822,7 @@ no_tos_options="{csum=\"true\", key=flow, local_ip=\"192.168.0.1\", remote_ip=\" # # Start off with a remote chassis supporting geneve -ovn-sbctl chassis-add fakechassis geneve 192.168.0.2 +check ovn-sbctl chassis-add fakechassis geneve 192.168.0.2 OVS_WAIT_UNTIL([check_tunnel_property type geneve]) tos_option=$(ovs-vsctl get interface ovn-fakech-0 options) @@ -2855,7 +2855,7 @@ ovn_attach n1 br-phys 192.168.0.1 check ovn-nbctl --wait=sb sync wait_row_count Chassis 1 name=hv1 -ovn-sbctl chassis-add fakechassis geneve 192.168.0.2 +check ovn-sbctl chassis-add fakechassis geneve 192.168.0.2 fakech_tunnel=ovn-fakech-0 OVS_WAIT_UNTIL([ovs-vsctl list port $fakech_tunnel]) port_uuid=$(ovs-vsctl get port $fakech_tunnel _uuid) diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at index a6463ae3a..1ba65fd9f 100644 --- a/tests/ovn-ic.at +++ b/tests/ovn-ic.at @@ -66,7 +66,7 @@ ovn_init_ic_db ovn_start az1 # create fake chassis with vxlan encap to enforce requested tunnel key checks -ovn-sbctl chassis-add fakechassis vxlan 192.168.0.2 +check ovn-sbctl chassis-add fakechassis vxlan 192.168.0.2 AT_CHECK([ovn-ic-nbctl ts-add ts1]) AT_CHECK([ovn-ic-nbctl --wait=sb ts-add ts2]) diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at index 69b444a0b..61cb5395a 100644 --- a/tests/ovn-northd.at +++ b/tests/ovn-northd.at @@ -89,8 +89,8 @@ AT_SETUP([check from NBDB to SBDB]) ovn_start ovn-nbctl create Logical_Router name=R1 -ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-sbctl chassis-add gw2 geneve 1.2.4.8 +check ovn-sbctl chassis-add gw1 geneve 127.0.0.1 +check ovn-sbctl chassis-add gw2 geneve 1.2.4.8 # Connect alice to R1 as distributed router gateway port on hv2 check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 @@ -123,13 +123,13 @@ ovn-sbctl list ha_chassis_group # Delete chassis - gw2 in SB DB. # ovn-northd should not recreate ha_chassis rows # repeatedly when gw2 is deleted. -ovn-sbctl chassis-del gw2 +check ovn-sbctl chassis-del gw2 ha_ch_list=$(fetch_column HA_Chassis _uuid) check_column "$ha_ch_list" HA_Chassis _uuid # Add back the gw2 chassis -ovn-sbctl chassis-add gw2 geneve 1.2.4.8 +check ovn-sbctl chassis-add gw2 geneve 1.2.4.8 # delete the 2nd Gateway_Chassis on NBDB for alice port check_column '' Port_Binding gateway_chassis logical_port=cr-alice @@ -163,8 +163,8 @@ check ovn-nbctl ls-add S1 check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 wait_row_count nb:Logical_Switch_Port 1 name=S1-vm1 'up!=true' -ovn-sbctl chassis-add hv1 geneve 127.0.0.1 -ovn-sbctl lsp-bind S1-vm1 hv1 +check ovn-sbctl chassis-add hv1 geneve 127.0.0.1 +check ovn-sbctl lsp-bind S1-vm1 hv1 wait_row_count nb:Logical_Switch_Port 1 name=S1-vm1 'up=true' AT_CLEANUP @@ -191,7 +191,7 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check up state of router LSP linked to a gateway LR]) ovn_start -ovn-sbctl chassis-add gw1 geneve 127.0.0.1 +check ovn-sbctl chassis-add gw1 geneve 127.0.0.1 ovn-nbctl create Logical_Router name=R1 options:chassis=gw1 check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 @@ -202,7 +202,7 @@ check ovn-nbctl lsp-set-type S1-R1 router check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 -ovn-sbctl lsp-bind S1-R1 gw1 +check ovn-sbctl lsp-bind S1-R1 gw1 AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) AT_CLEANUP @@ -212,7 +212,7 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check up state of router LSP linked to an LRP with set Gateway Chassis]) ovn_start -ovn-sbctl chassis-add gw1 geneve 127.0.0.1 +check ovn-sbctl chassis-add gw1 geneve 127.0.0.1 check ovn-nbctl lr-add R1 check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 @@ -579,7 +579,7 @@ check ovn-nbctl lsp-set-type sw0-lr0 router check ovn-nbctl lsp-set-addresses sw0-lr0 router check ovn-nbctl --wait=sb lsp-set-options sw0-lr0 router-port=lr0-sw0 -ovn-sbctl lsp-bind sw0-p1 comp1 +check ovn-sbctl lsp-bind sw0-p1 comp1 wait_row_count nb:Logical_Switch_Port 1 name=sw0-p1 up=true comp1_ch_uuid=$(fetch_column Chassis _uuid name=comp1) @@ -591,12 +591,12 @@ echo "comp1_ch_uuid = $comp1_ch_uuid" wait_column "$comp1_ch_uuid" HA_Chassis_Group ref_chassis # unbind sw0-p1 -ovn-sbctl lsp-unbind sw0-p1 +check ovn-sbctl lsp-unbind sw0-p1 wait_row_count nb:Logical_Switch_Port 1 name=sw0-p1 up=false wait_column "" HA_Chassis_Group ref_chassis # Bind sw0-p1 in comp2 -ovn-sbctl lsp-bind sw0-p1 comp2 +check ovn-sbctl lsp-bind sw0-p1 comp2 wait_column "$comp2_ch_uuid" HA_Chassis_Group ref_chassis check ovn-nbctl ls-add sw1 @@ -629,7 +629,7 @@ exp_ref_ch_list="$comp1_ch_uuid $comp2_ch_uuid" wait_column "$exp_ref_ch_list" HA_Chassis_Group ref_chassis # Unind sw1-p1. comp2 should not be in the ref_chassis. -ovn-sbctl lsp-unbind sw1-p1 +check ovn-sbctl lsp-unbind sw1-p1 wait_row_count nb:Logical_Switch_Port 1 name=sw1-p1 up=false wait_column "$comp2_ch_uuid" HA_Chassis_Group ref_chassis @@ -664,12 +664,12 @@ wait_column "$exp_ref_ch_list" HA_Chassis_Group ref_chassis # Create sw0-p2 and bind it to comp1 check ovn-nbctl --wait=sb lsp-add sw0 sw0-p2 -ovn-sbctl lsp-bind sw0-p2 comp1 +check ovn-sbctl lsp-bind sw0-p2 comp1 wait_row_count nb:Logical_Switch_Port 1 name=sw0-p2 up=true wait_column "$exp_ref_ch_list" HA_Chassis_Group ref_chassis # unbind sw0-p2 -ovn-sbctl lsp-unbind sw0-p2 +check ovn-sbctl lsp-unbind sw0-p2 wait_row_count nb:Logical_Switch_Port 1 name=sw0-p2 up=false wait_column "$exp_ref_ch_list" HA_Chassis_Group ref_chassis @@ -963,7 +963,7 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check Redirect Chassis propagation from NB to SB]) ovn_start -ovn-sbctl chassis-add gw1 geneve 127.0.0.1 +check ovn-sbctl chassis-add gw1 geneve 127.0.0.1 check ovn-nbctl lr-add R1 check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 @@ -988,7 +988,7 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check stateless dnat_and_snat rule]) ovn_start -ovn-sbctl chassis-add gw1 geneve 127.0.0.1 +check ovn-sbctl chassis-add gw1 geneve 127.0.0.1 check ovn-nbctl lr-add R1 check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 @@ -1072,7 +1072,7 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check portrange dnat, snat and dnat_and_snat rules]) ovn_start -ovn-sbctl chassis-add gw1 geneve 127.0.0.1 +check ovn-sbctl chassis-add gw1 geneve 127.0.0.1 check ovn-nbctl lr-add R1 check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 @@ -1395,9 +1395,9 @@ check ovn-nbctl --wait=sb lsp-add sw1 sw1-p1 -- lsp-set-addresses sw1-p1 \ "02:00:00:00:00:03 20.0.0.3" # service_monitors state online requires corresponding port_binding to be "up" -ovn-sbctl chassis-add hv1 geneve 127.0.0.1 -ovn-sbctl lsp-bind sw0-p1 hv1 -ovn-sbctl lsp-bind sw1-p1 hv1 +check ovn-sbctl chassis-add hv1 geneve 127.0.0.1 +check ovn-sbctl lsp-bind sw0-p1 hv1 +check ovn-sbctl lsp-bind sw1-p1 hv1 wait_row_count nb:Logical_Switch_Port 1 name=sw0-p1 'up=true' wait_row_count nb:Logical_Switch_Port 1 name=sw1-p1 'up=true' @@ -1480,7 +1480,7 @@ OVS_WAIT_FOR_OUTPUT( ]) AS_BOX([Set the service monitor for sw0-p1 to offline]) -ovn-sbctl set service_monitor $sm_sw0_p1 status=offline +check ovn-sbctl set service_monitor $sm_sw0_p1 status=offline wait_row_count Service_Monitor 1 logical_port=sw0-p1 status=offline check ovn-nbctl --wait=sb sync @@ -1496,8 +1496,8 @@ OVS_WAIT_FOR_OUTPUT( ]) AS_BOX([Set the service monitor for sw0-p1 and sw1-p1 to online]) -ovn-sbctl set service_monitor $sm_sw0_p1 status=online -ovn-sbctl set service_monitor $sm_sw1_p1 status=online +check ovn-sbctl set service_monitor $sm_sw0_p1 status=online +check ovn-sbctl set service_monitor $sm_sw1_p1 status=online wait_row_count Service_Monitor 1 logical_port=sw1-p1 status=online check ovn-nbctl --wait=sb sync @@ -1509,7 +1509,7 @@ OVS_WAIT_FOR_OUTPUT( ]) AS_BOX([Set the service monitor for sw1-p1 to error]) -ovn-sbctl set service_monitor $sm_sw1_p1 status=error +check ovn-sbctl set service_monitor $sm_sw1_p1 status=error wait_row_count Service_Monitor 1 logical_port=sw1-p1 status=error check ovn-nbctl --wait=sb sync @@ -1618,8 +1618,8 @@ wait_row_count Service_Monitor 2 sm_sw0_p1=$(fetch_column Service_Monitor _uuid logical_port=sw0-p1) sm_sw1_p1=$(fetch_column Service_Monitor _uuid logical_port=sw1-p1) -ovn-sbctl set service_monitor $sm_sw0_p1 status=offline -ovn-sbctl set service_monitor $sm_sw1_p1 status=offline +check ovn-sbctl set service_monitor $sm_sw0_p1 status=offline +check ovn-sbctl set service_monitor $sm_sw1_p1 status=offline AT_CAPTURE_FILE([sbflows12]) OVS_WAIT_FOR_OUTPUT( @@ -1967,7 +1967,7 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check router ARP/NS responder]) ovn_start -ovn-sbctl chassis-add ch geneve 127.0.0.1 +check ovn-sbctl chassis-add ch geneve 127.0.0.1 check ovn-nbctl lr-add lr check ovn-nbctl lrp-add lr lrp-public 00:00:00:00:01:00 43.43.43.1/24 4343::1/64 @@ -6351,8 +6351,8 @@ wait_row_count Service_Monitor 2 sm_vip1=$(fetch_column Service_Monitor _uuid logical_port=vip1) sm_vip2=$(fetch_column Service_Monitor _uuid logical_port=vip2) -ovn-sbctl set service_monitor $sm_vip1 status=offline -ovn-sbctl set service_monitor $sm_vip2 status=offline +check ovn-sbctl set service_monitor $sm_vip1 status=offline +check ovn-sbctl set service_monitor $sm_vip2 status=offline check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl dump-flows lr0 | grep "lr_in_dnat" | ovn_strip_lflows], [0], [dnl @@ -12108,7 +12108,7 @@ as hv1 ovs-vsctl add-br br-phys ovn_attach n1 br-phys 192.168.0.11 -ovn-sbctl chassis-add gw1 geneve 127.0.0.1 +check ovn-sbctl chassis-add gw1 geneve 127.0.0.1 check ovn-nbctl ls-add sw0 check ovn-nbctl --wait=sb lsp-add sw0 sw0p1 -- lsp-set-addresses sw0p1 "00:00:20:20:12:01 10.0.0.4" diff --git a/tests/ovn.at b/tests/ovn.at index 19ef64380..ea53aabb7 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -2993,7 +2993,7 @@ ovn_start # Make ls1 a destination for unknown MACs. # Add some ACLs for Ethertypes 1234, 1235, 1236. check ovn-nbctl ls-add lsw0 -ovn-sbctl chassis-add hv0 geneve 127.0.0.1 +check ovn-sbctl chassis-add hv0 geneve 127.0.0.1 for i in 1 2 3; do ovn-nbctl lsp-add lsw0 lp$i done @@ -14390,7 +14390,7 @@ check ovn-nbctl --wait=hv sync # Chassis entry is not replaced. gw2_chassis=$(ovn-sbctl --bare --columns=_uuid find Chassis name=gw2) -ovn-sbctl destroy Chassis $gw2_chassis +check ovn-sbctl destroy Chassis $gw2_chassis # Wait for the gw2_chassis row is recreated. wait_row_count Chassis 1 name=gw2 @@ -22262,7 +22262,7 @@ check_virtual_offlows_not_present hv2 # Forcibly clear virtual_parent. ovn-controller should release the binding # gracefully. pb_uuid=$(ovn-sbctl --bare --columns _uuid find port_binding logical_port=sw0-vir) -ovn-sbctl clear port_binding $pb_uuid virtual_parent +check ovn-sbctl clear port_binding $pb_uuid virtual_parent OVS_WAIT_UNTIL([test x$(ovn-sbctl --bare --columns chassis find port_binding \ logical_port=sw0-vir) = x]) @@ -22693,7 +22693,7 @@ AT_CHECK([ovn-sbctl get controller_event $uuid seq_num], [0], [dnl 1 ]) -ovn-sbctl destroy controller_event $uuid +check ovn-sbctl destroy controller_event $uuid packet1="inport==\"sw1-p0\" && eth.src==00:00:00:00:00:33 && eth.dst==00:00:00:00:ff:02 && ip4 && ip.ttl==64 && ip4.src==192.168.2.11 && ip4.dst==192.168.2.100 && tcp && tcp.src==10000 && tcp.dst==80" @@ -22708,7 +22708,7 @@ empty_lb_backends AT_CHECK([ovn-sbctl get controller_event $uuid event_info:vip], [0], [dnl "192.168.2.100:80" ]) -ovn-sbctl destroy controller_event $uuid +check ovn-sbctl destroy controller_event $uuid packet2="inport==\"sw0-p11\" && eth.src==00:00:00:00:00:11 && eth.dst==00:00:00:00:00:21 && ip6 && ip.ttl==64 && ip6.src==2001::11 && ip6.dst==2001::10 && @@ -23214,9 +23214,9 @@ OVS_WAIT_UNTIL( [$at_diff -F'^---' exp rcv]) # Flush IGMP groups. -ovn-sbctl ip-multicast-flush sw1 -ovn-sbctl ip-multicast-flush sw2 -ovn-sbctl ip-multicast-flush sw3 +check ovn-sbctl ip-multicast-flush sw1 +check ovn-sbctl ip-multicast-flush sw2 +check ovn-sbctl ip-multicast-flush sw3 wait_row_count IGMP_Group 0 address=239.0.1.68 check ovn-nbctl --wait=hv sync diff --git a/tests/system-ovn.at b/tests/system-ovn.at index 00cadd4f0..4af799211 100644 --- a/tests/system-ovn.at +++ b/tests/system-ovn.at @@ -4347,7 +4347,7 @@ OVS_WAIT_UNTIL([ ]) # Flush IGMP groups. -ovn-sbctl ip-multicast-flush sw1 +check ovn-sbctl ip-multicast-flush sw1 check ovn-nbctl --wait=hv -t 3 sync OVS_WAIT_UNTIL([ total_entries=`ovn-sbctl find IGMP_Group address="${group_v4}" | grep _uuid -c` @@ -11845,7 +11845,7 @@ NS_CHECK_EXEC([vif0], [ping -q -c 3 -i 0.3 -w 2 fe80::200:ff:fe00:1 | FORMAT_PIN ]) check_row_count mac_binding 1 mac=\"00:00:00:00:00:02\" -ovn-sbctl --all destroy mac_binding +check ovn-sbctl --all destroy mac_binding check ovn-nbctl --wait=hv set logical_router lr0 options:always_learn_from_arp_request=true