From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 9E4F51FF164
	for <inbox@lore.proxmox.com>; Fri, 28 Mar 2025 18:18:37 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 22E0D982A;
	Fri, 28 Mar 2025 18:14:39 +0100 (CET)
From: Gabriel Goller <g.goller@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Fri, 28 Mar 2025 18:13:25 +0100
Message-Id: <20250328171340.885413-38-g.goller@proxmox.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250328171340.885413-1-g.goller@proxmox.com>
References: <20250328171340.885413-1-g.goller@proxmox.com>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.025 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pve-devel] [PATCH pve-network 10/17] fabrics: generate ifupdown
 configuration
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

RnJvbTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPgoKQ3VycmVudGx5
LCB0aGUgaWZ1cGRvd24gZ2VuZXJhdGlvbiBpcyBoYW5kbGVkIHNvbGVseSBieSB0aGUgem9uZXMK
cGx1Z2luLiBTaW5jZSB0aGUgZmFicmljcyBuZWVkIHRvIGdlbmVyYXRlIGlmdXBkb3duIGNvbmZp
Z3VyYXRpb24gYXMKd2VsbCwgd2UgY3JlYXRlIGEgbmV3IGhlbHBlciBpbiB0aGUgU0ROIG1vZHVs
ZS4gSXQgdGhlbiBpbiB0dXJuIGNhbGxzCmludG8gdGhlIHpvbmUgYW5kIGZhYnJpY3MgcGx1Z2lu
LCBhbmQgbWVyZ2VzIHRoZSBnZW5lcmF0ZWQgcmF3CmNvbmZpZ3VyYXRpb24gYmVmb3JlIHdyaXRp
bmcgaXQgdG8gdGhlIC9ldGMvbmV0d29yay9pbnRlcmZhY2VzLmQvc2RuCmZpbGUuCgpTaWduZWQt
b2ZmLWJ5OiBTdGVmYW4gSGFucmVpY2ggPHMuaGFucmVpY2hAcHJveG1veC5jb20+CkNvLWF1dGhv
cmVkLWJ5OiBHYWJyaWVsIEdvbGxlciA8Zy5nb2xsZXJAcHJveG1veC5jb20+ClNpZ25lZC1vZmYt
Ynk6IEdhYnJpZWwgR29sbGVyIDxnLmdvbGxlckBwcm94bW94LmNvbT4KLS0tCiBzcmMvUFZFL05l
dHdvcmsvU0ROLnBtICAgICAgICAgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t
LS0tCiBzcmMvUFZFL05ldHdvcmsvU0ROL0ZhYnJpY3MucG0gfCAxNCArKysrKysrCiBzcmMvUFZF
L05ldHdvcmsvU0ROL1pvbmVzLnBtICAgfCAxMCAtLS0tLQogc3JjL3Rlc3QvcnVuX3Rlc3Rfem9u
ZXMucGwgICAgIHwgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgMjMg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL1BWRS9OZXR3b3JrL1NETi5wbSBiL3NyYy9Q
VkUvTmV0d29yay9TRE4ucG0KaW5kZXggMTJmMGY5MzYxMzg5Li4yNDg3OWRjMGU3NmEgMTAwNjQ0
Ci0tLSBhL3NyYy9QVkUvTmV0d29yay9TRE4ucG0KKysrIGIvc3JjL1BWRS9OZXR3b3JrL1NETi5w
bQpAQCAtMjIwLDE4ICsyMjAsNjIgQEAgc3ViIGdldF9sb2NhbF92bmV0cyB7CiAgICAgcmV0dXJu
ICR2bmV0czsKIH0KIAotc3ViIGdlbmVyYXRlX3pvbmVfY29uZmlnIHsKLSAgICBteSAkcmF3X2Nv
bmZpZyA9IFBWRTo6TmV0d29yazo6U0ROOjpab25lczo6Z2VuZXJhdGVfZXRjX25ldHdvcmtfY29u
ZmlnKCk7Ci0gICAgaWYgKCRyYXdfY29uZmlnKSB7Ci0JZXZhbCB7Ci0JICAgIG15ICRuZXRfY2Zn
ID0gUFZFOjpJTm90aWZ5OjpyZWFkX2ZpbGUoJ2ludGVyZmFjZXMnLCAxKTsKLQkgICAgbXkgJG9w
dHMgPSAkbmV0X2NmZy0+e2RhdGF9LT57b3B0aW9uc307Ci0JICAgIGxvZ193YXJuKCJtaXNzaW5n
ICdzb3VyY2UgL2V0Yy9uZXR3b3JrL2ludGVyZmFjZXMuZC9zZG4nIGRpcmVjdGl2ZSBmb3IgU0RO
IHN1cHBvcnQhXG4iKQotCQlpZiAhIGdyZXAgeyAkXy0+WzFdID1+IG0hXnNvdXJjZSAvZXRjL25l
dHdvcmsvaW50ZXJmYWNlcy5kLyg6P3NkbnxcKikhIH0gQCRvcHRzOwotCX07Ci0JbG9nX3dhcm4o
IkZhaWxlZCB0byByZWFkIG5ldHdvcmsgaW50ZXJmYWNlcyBkZWZpbml0aW9uIC0gJEAiKSBpZiAk
QDsKLSAgICB9Ci0gICAgUFZFOjpOZXR3b3JrOjpTRE46OlpvbmVzOjp3cml0ZV9ldGNfbmV0d29y
a19jb25maWcoJHJhd19jb25maWcpOworPWhlYWQzIGdlbmVyYXRlX3Jhd19ldGNfbmV0d29ya19j
b25maWcoKQorCitHZW5lcmF0ZSB0aGUgL2V0Yy9uZXR3b3JrL2ludGVyZmFjZXMuZC9zZG4gY29u
ZmlnIGZpbGUgZnJvbSB0aGUgWm9uZXMKK2FuZCBGYWJyaWNzIGNvbmZpZ3VyYXRpb24gYW5kIHJl
dHVybiBpdCBhcyBhIFN0cmluZy4KKworPWN1dAorCitzdWIgZ2VuZXJhdGVfcmF3X2V0Y19uZXR3
b3JrX2NvbmZpZyB7CisgICAgbXkgJHJhd19jb25maWcgPSAiIjsKKworICAgIG15ICR6b25lX2Nv
bmZpZyA9IFBWRTo6TmV0d29yazo6U0ROOjpab25lczo6Z2VuZXJhdGVfZXRjX25ldHdvcmtfY29u
ZmlnKCk7CisgICAgJHJhd19jb25maWcgLj0gJHpvbmVfY29uZmlnIGlmICR6b25lX2NvbmZpZzsK
KworICAgIG15ICRmYWJyaWNfY29uZmlnID0gUFZFOjpOZXR3b3JrOjpTRE46OkZhYnJpY3M6Omdl
bmVyYXRlX2V0Y19uZXR3b3JrX2NvbmZpZygpOworICAgICRyYXdfY29uZmlnIC49ICRmYWJyaWNf
Y29uZmlnIGlmICRmYWJyaWNfY29uZmlnOworCisgICAgcmV0dXJuICRyYXdfY29uZmlnOworfQor
Cis9aGVhZDMg4ouFd3JpdGVfcmF3X2V0Y19uZXR3b3JrX2NvbmZpZygkcmF3X2NvbmZpZykKKwor
V3JpdGVzIGEgbmV0d29yayBjb25maWd1cmF0aW9uIGFzIGdlbmVyYXRlZCBieSBDPGdlbmVyYXRl
X3Jhd19ldGNfbmV0d29ya19jb25maWc+Cit0byAvZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kL3Nk
bi4KKworPWN1dAorCitzdWIgd3JpdGVfcmF3X2V0Y19uZXR3b3JrX2NvbmZpZyB7CisgICAgbXkg
KCRyYXdfY29uZmlnKSA9IEBfOworICAgIG15ICRsb2NhbF9uZXR3b3JrX3Nkbl9maWxlID0gIi9l
dGMvbmV0d29yay9pbnRlcmZhY2VzLmQvc2RuIjsKKworICAgIGRpZSAibm8gbmV0d29yayBjb25m
aWcgc3VwcGxpZWQiIGlmICFkZWZpbmVkICRyYXdfY29uZmlnOworCisgICAgZXZhbCB7CisJbXkg
JG5ldF9jZmcgPSBQVkU6OklOb3RpZnk6OnJlYWRfZmlsZSgnaW50ZXJmYWNlcycsIDEpOworCW15
ICRvcHRzID0gJG5ldF9jZmctPntkYXRhfS0+e29wdGlvbnN9OworCWxvZ193YXJuKCJtaXNzaW5n
ICdzb3VyY2UgL2V0Yy9uZXR3b3JrL2ludGVyZmFjZXMuZC9zZG4nIGRpcmVjdGl2ZSBmb3IgU0RO
IHN1cHBvcnQhXG4iKQorCSAgICBpZiAhIGdyZXAgeyAkXy0+WzFdID1+IG0hXnNvdXJjZSAvZXRj
L25ldHdvcmsvaW50ZXJmYWNlcy5kLyg6P3NkbnxcKikhIH0gQCRvcHRzOworICAgIH07CisKKyAg
ICBsb2dfd2FybigiRmFpbGVkIHRvIHJlYWQgbmV0d29yayBpbnRlcmZhY2VzIGRlZmluaXRpb24g
LSAkQCIpIGlmICRAOworCisgICAgbXkgJHdyaXRlZmggPSBJTzo6RmlsZS0+bmV3KCRsb2NhbF9u
ZXR3b3JrX3Nkbl9maWxlLCI+Iik7CisgICAgcHJpbnQgJHdyaXRlZmggJHJhd19jb25maWc7Cisg
ICAgJHdyaXRlZmgtPmNsb3NlKCk7Cit9CisKKz1oZWFkMyDii4VnZW5lcmF0ZV9ldGNfbmV0d29y
a19jb25maWcoKQorCitHZW5lcmF0ZXMgdGhlIG5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgYWxs
IFNETiBwbHVnaW5zIGFuZCB3cml0ZXMgaXQgdG8gdGhlIFNETgoraW50ZXJmYWNlcyBmaWxlcyAo
L2V0Yy9uZXR3b3JrL2ludGVyZmFjZXMuZC9zZG4pLgorCis9Y3V0CisKK3N1YiBnZW5lcmF0ZV9l
dGNfbmV0d29ya19jb25maWcgeworICAgIG15ICRyYXdfY29uZmlnID0gUFZFOjpOZXR3b3JrOjpT
RE46OmdlbmVyYXRlX3Jhd19ldGNfbmV0d29ya19jb25maWcoKTsKKyAgICBQVkU6Ok5ldHdvcms6
OlNETjo6d3JpdGVfcmF3X2V0Y19uZXR3b3JrX2NvbmZpZygkcmF3X2NvbmZpZyk7CiB9CiAKID1o
ZWFkMyBnZW5lcmF0ZV9mcnJfcmF3X2NvbmZpZyhcJXJ1bm5pbmdfY29uZmlnLCBcJWZhYnJpY19j
b25maWcpCmRpZmYgLS1naXQgYS9zcmMvUFZFL05ldHdvcmsvU0ROL0ZhYnJpY3MucG0gYi9zcmMv
UFZFL05ldHdvcmsvU0ROL0ZhYnJpY3MucG0KaW5kZXggZDcxNmM2OGZlYWM0Li4wNTMzNmE1NzMw
YWMgMTAwNjQ0Ci0tLSBhL3NyYy9QVkUvTmV0d29yay9TRE4vRmFicmljcy5wbQorKysgYi9zcmMv
UFZFL05ldHdvcmsvU0ROL0ZhYnJpY3MucG0KQEAgLTEwMiw2ICsxMDIsMjAgQEAgc3ViIGdlbmVy
YXRlX2Zycl9yYXdfY29uZmlnIHsKICAgICByZXR1cm4gXEByYXdfY29uZmlnOwogfQogCitzdWIg
Z2VuZXJhdGVfZXRjX25ldHdvcmtfY29uZmlnIHsKKyAgICBteSAkbm9kZW5hbWUgPSBQVkU6OklO
b3RpZnk6Om5vZGVuYW1lKCk7CisKKyAgICBteSAkZmFicmljX2NvbmZpZyA9IFBWRTo6TmV0d29y
azo6U0ROOjpGYWJyaWNzOjpjb25maWcoMSk7CisKKyAgICBteSAkcmF3X2NvbmZpZyA9ICIiOwor
ICAgIGZvciBteSAkcHJvdG9jb2wgKHNvcnQga2V5cyAlJGZhYnJpY19jb25maWcpIHsKKwlteSAk
cHJvdG9jb2xfY29uZmlnID0gJGZhYnJpY19jb25maWctPnskcHJvdG9jb2x9OworCSRyYXdfY29u
ZmlnIC49ICRwcm90b2NvbF9jb25maWctPmdldF9pbnRlcmZhY2VzX2V0Y19uZXR3b3JrX2NvbmZp
Zygkbm9kZW5hbWUpOworICAgIH0KKworICAgIHJldHVybiAkcmF3X2NvbmZpZzsKK30KKwogc3Vi
IHdyaXRlX2NvbmZpZyB7CiAgICAgbXkgKCRjb25maWcpID0gQF87CiAKZGlmZiAtLWdpdCBhL3Ny
Yy9QVkUvTmV0d29yay9TRE4vWm9uZXMucG0gYi9zcmMvUFZFL05ldHdvcmsvU0ROL1pvbmVzLnBt
CmluZGV4IGMxYzc3NDVmODk0ZS4uMTMxY2E1ZWExMzZkIDEwMDY0NAotLS0gYS9zcmMvUFZFL05l
dHdvcmsvU0ROL1pvbmVzLnBtCisrKyBiL3NyYy9QVkUvTmV0d29yay9TRE4vWm9uZXMucG0KQEAg
LTE2OCwxNiArMTY4LDYgQEAgc3ViIGdlbmVyYXRlX2V0Y19uZXR3b3JrX2NvbmZpZyB7CiAgICAg
cmV0dXJuICRyYXdfbmV0d29ya19jb25maWc7CiB9CiAKLXN1YiB3cml0ZV9ldGNfbmV0d29ya19j
b25maWcgewotICAgIG15ICgkcmF3Y29uZmlnKSA9IEBfOwotCi0gICAgcmV0dXJuIGlmICEkcmF3
Y29uZmlnOwotCi0gICAgbXkgJHdyaXRlZmggPSBJTzo6RmlsZS0+bmV3KCRsb2NhbF9uZXR3b3Jr
X3Nkbl9maWxlLCI+Iik7Ci0gICAgcHJpbnQgJHdyaXRlZmggJHJhd2NvbmZpZzsKLSAgICAkd3Jp
dGVmaC0+Y2xvc2UoKTsKLX0KLQogc3ViIHJlYWRfZXRjX25ldHdvcmtfY29uZmlnX3ZlcnNpb24g
ewogICAgIG15ICR2ZXJzaW9uc3RyID0gUFZFOjpUb29sczo6ZmlsZV9yZWFkX2ZpcnN0bGluZSgk
bG9jYWxfbmV0d29ya19zZG5fZmlsZSk7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3J1bl90ZXN0
X3pvbmVzLnBsIGIvc3JjL3Rlc3QvcnVuX3Rlc3Rfem9uZXMucGwKaW5kZXggNDEzN2RhNmIyNjg3
Li43OTRjYmRiMWQxMmIgMTAwNzU1Ci0tLSBhL3NyYy90ZXN0L3J1bl90ZXN0X3pvbmVzLnBsCisr
KyBiL3NyYy90ZXN0L3J1bl90ZXN0X3pvbmVzLnBsCkBAIC0xMjksNyArMTI5LDcgQEAgZm9yZWFj
aCBteSAkdGVzdCAoQHRlc3RzKSB7CiAgICAgbXkgJG5hbWUgPSAkdGVzdDsKICAgICBteSAkZXhw
ZWN0ZWQgPSByZWFkX2ZpbGUoIi4vJHRlc3QvZXhwZWN0ZWRfc2RuX2ludGVyZmFjZXMiKTsKIAot
ICAgIG15ICRyZXN1bHQgPSBldmFsIHsgUFZFOjpOZXR3b3JrOjpTRE46OlpvbmVzOjpnZW5lcmF0
ZV9ldGNfbmV0d29ya19jb25maWcoKSB9OworICAgIG15ICRyZXN1bHQgPSBldmFsIHsgUFZFOjpO
ZXR3b3JrOjpTRE46OmdlbmVyYXRlX3Jhd19ldGNfbmV0d29ya19jb25maWcoKSB9OwogCiAgICAg
aWYgKG15ICRlcnIgPSAkQCkgewogCWRpYWcoImdvdCB1bmV4cGVjdGVkIGVycm9yIC0gJGVyciIp
OwotLSAKMi4zOS41CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29t
Cmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1k
ZXZlbAo=