From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id EF56A77EDA for ; Thu, 29 Apr 2021 12:15:34 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E54471A064 for ; Thu, 29 Apr 2021 12:15:04 +0200 (CEST) Received: from kvmformation3.odiso.net (globalOdiso.M6Lille.odiso.net [89.248.211.242]) by firstgate.proxmox.com (Proxmox) with ESMTP id E80711A03E for ; Thu, 29 Apr 2021 12:15:01 +0200 (CEST) Received: by kvmformation3.odiso.net (Postfix, from userid 0) id CA6FC74A65; Thu, 29 Apr 2021 12:14:55 +0200 (CEST) From: Alexandre Derumier To: pve-devel@lists.proxmox.com Date: Thu, 29 Apr 2021 12:14:52 +0200 Message-Id: <20210429101454.35870-2-aderumier@odiso.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210429101454.35870-1-aderumier@odiso.com> References: <20210429101454.35870-1-aderumier@odiso.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 1 AWL -0.165 Adjusted score from AWL reputation of From: address HEADER_FROM_DIFFERENT_DOMAINS 0.25 From and EnvelopeFrom 2nd level mail domains are different KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods KHOP_HELO_FCRDNS 0.399 Relay HELO differs from its IP's reverse DNS NO_DNS_FOR_FROM 0.379 Envelope sender has no MX or A DNS records SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [qinqplugin.pm] Subject: [pve-devel] [PATCH pve-network 1/3] zones: qinq: ovs: fix duplicate ovs_ports with multiple zones/vnets X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Apr 2021 10:15:35 -0000 Signed-off-by: Alexandre Derumier --- PVE/Network/SDN/Zones/QinQPlugin.pm | 8 +++--- test/zones/qinq/ovs/expected_sdn_interfaces | 28 ++++++++++++++++++++- test/zones/qinq/ovs/sdn_config | 7 +++++- 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/PVE/Network/SDN/Zones/QinQPlugin.pm b/PVE/Network/SDN/Zones/QinQPlugin.pm index 0a5abf8..1543fc1 100644 --- a/PVE/Network/SDN/Zones/QinQPlugin.pm +++ b/PVE/Network/SDN/Zones/QinQPlugin.pm @@ -82,10 +82,10 @@ sub generate_sdn_config { push @iface_config, "ovs_options vlan_mode=dot1q-tunnel tag=$stag other_config:qinq-ethtype=$vlanprotocol"; push(@{$config->{$svlan_iface}}, @iface_config) if !$config->{$svlan_iface}; - #redefine main ovs bridge, ifupdown2 will merge ovs_ports - @iface_config = (); - push @iface_config, "ovs_ports $svlan_iface"; - push(@{$config->{$bridge}}, @iface_config); + #redefine main ovs bridge, ifupdown2 will merge ovs_ports + @{$config->{$bridge}}[0] = "ovs_ports" if !@{$config->{$bridge}}[0]; + my @ovs_ports = split / / , @{$config->{$bridge}}[0]; + @{$config->{$bridge}}[0] .= " $svlan_iface" if !grep( $_ eq $svlan_iface, @ovs_ports ); #zone vlan aware bridge @iface_config = (); diff --git a/test/zones/qinq/ovs/expected_sdn_interfaces b/test/zones/qinq/ovs/expected_sdn_interfaces index 71c7aa3..068ae7d 100644 --- a/test/zones/qinq/ovs/expected_sdn_interfaces +++ b/test/zones/qinq/ovs/expected_sdn_interfaces @@ -6,15 +6,33 @@ iface myvnet bridge_stp off bridge_fd 0 +auto myvnet2 +iface myvnet2 + bridge_ports z_myzone.101 + bridge_stp off + bridge_fd 0 + +auto myvnet3 +iface myvnet3 + bridge_ports z_myzone2.100 + bridge_stp off + bridge_fd 0 + auto sv_myzone iface sv_myzone ovs_type OVSIntPort ovs_bridge vmbr0 ovs_options vlan_mode=dot1q-tunnel tag=10 other_config:qinq-ethtype=802.1q +auto sv_myzone2 +iface sv_myzone2 + ovs_type OVSIntPort + ovs_bridge vmbr0 + ovs_options vlan_mode=dot1q-tunnel tag=20 other_config:qinq-ethtype=802.1q + auto vmbr0 iface vmbr0 - ovs_ports sv_myzone + ovs_ports sv_myzone sv_myzone2 auto z_myzone iface z_myzone @@ -23,3 +41,11 @@ iface z_myzone bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094 + +auto z_myzone2 +iface z_myzone2 + bridge-stp off + bridge-ports sv_myzone2 + bridge-fd 0 + bridge-vlan-aware yes + bridge-vids 2-4094 diff --git a/test/zones/qinq/ovs/sdn_config b/test/zones/qinq/ovs/sdn_config index 1708d4c..6321603 100644 --- a/test/zones/qinq/ovs/sdn_config +++ b/test/zones/qinq/ovs/sdn_config @@ -3,9 +3,14 @@ vnets => { ids => { myvnet => { tag => 100, type => "vnet", zone => "myzone" }, + myvnet2 => { tag => 101, type => "vnet", zone => "myzone" }, + myvnet3 => { tag => 100, type => "vnet", zone => "myzone2" }, }, }, zones => { - ids => { myzone => { bridge => "vmbr0", tag => 10, ipam => "pve", type => "qinq" } }, + ids => { + myzone => { bridge => "vmbr0", tag => 10, ipam => "pve", type => "qinq" }, + myzone2 => { bridge => "vmbr0", tag => 20, ipam => "pve", type => "qinq" }, + }, }, } -- 2.20.1