From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id E627F1FF183 for ; Wed, 16 Jul 2025 15:10:07 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D056E10169; Wed, 16 Jul 2025 15:09:22 +0200 (CEST) From: Gabriel Goller To: pve-devel@lists.proxmox.com Date: Wed, 16 Jul 2025 15:08:07 +0200 Message-Id: <20250716130837.585796-47-g.goller@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250716130837.585796-1-g.goller@proxmox.com> References: <20250716130837.585796-1-g.goller@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.013 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 RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) 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 v5 12/21] 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" RnJvbTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPgoKQ3VycmVudGx5 LCB0aGUgaWZ1cGRvd24gY29uZmlnIGdlbmVyYXRpb24gaXMgaGFuZGxlZCBzb2xlbHkgYnkgdGhl CnpvbmVzIHBsdWdpbi4gU2luY2UgdGhlIGZhYnJpY3MgbmVlZCB0byBnZW5lcmF0ZSBpZnVwZG93 bgpjb25maWd1cmF0aW9uIGFzIHdlbGwsIHdlIGNyZWF0ZSBhIG5ldyBoZWxwZXIgaW4gdGhlIFNE TiBtb2R1bGUuIEl0CnRoZW4gaW4gdHVybiBjYWxscyBpbnRvIHRoZSB6b25lIGFuZCBmYWJyaWNz IHBsdWdpbiwgYW5kIG1lcmdlcyB0aGUKZ2VuZXJhdGVkIHJhdyBjb25maWd1cmF0aW9uIGJlZm9y ZSB3cml0aW5nIGl0IHRvIHRoZQovZXRjL25ldHdvcmsvaW50ZXJmYWNlcy5kL3NkbiBmaWxlLgoK Q28tYXV0aG9yZWQtYnk6IEdhYnJpZWwgR29sbGVyIDxnLmdvbGxlckBwcm94bW94LmNvbT4KU2ln bmVkLW9mZi1ieTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPgotLS0K IHNyYy9QVkUvTmV0d29yay9TRE4ucG0gICAgICAgICB8IDY5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0KIHNyYy9QVkUvTmV0d29yay9TRE4vRmFicmljcy5wbSB8ICA3ICsrKysK IHNyYy9QVkUvTmV0d29yay9TRE4vWm9uZXMucG0gICB8IDEwIC0tLS0tCiBzcmMvdGVzdC9ydW5f dGVzdF96b25lcy5wbCAgICAgfCAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25z KCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvUFZFL05ldHdvcmsvU0ROLnBt IGIvc3JjL1BWRS9OZXR3b3JrL1NETi5wbQppbmRleCA0NmM4NTgwMjA3ZmUuLjhjNTg0ZjZlMmFl YSAxMDA2NDQKLS0tIGEvc3JjL1BWRS9OZXR3b3JrL1NETi5wbQorKysgYi9zcmMvUFZFL05ldHdv cmsvU0ROLnBtCkBAIC0yNTEsMTkgKzI1MSw2MiBAQCBzdWIgZ2V0X2xvY2FsX3ZuZXRzIHsKICAg ICByZXR1cm4gJHZuZXRzOwogfQogCi1zdWIgZ2VuZXJhdGVfem9uZV9jb25maWcgewotICAgIG15 ICRyYXdfY29uZmlnID0gUFZFOjpOZXR3b3JrOjpTRE46OlpvbmVzOjpnZW5lcmF0ZV9ldGNfbmV0 d29ya19jb25maWcoKTsKLSAgICBpZiAoJHJhd19jb25maWcpIHsKLSAgICAgICAgZXZhbCB7Ci0g ICAgICAgICAgICBteSAkbmV0X2NmZyA9IFBWRTo6SU5vdGlmeTo6cmVhZF9maWxlKCdpbnRlcmZh Y2VzJywgMSk7Ci0gICAgICAgICAgICBteSAkb3B0cyA9ICRuZXRfY2ZnLT57ZGF0YX0tPntvcHRp b25zfTsKLSAgICAgICAgICAgIGxvZ193YXJuKAotICAgICAgICAgICAgICAgICJtaXNzaW5nICdz b3VyY2UgL2V0Yy9uZXR3b3JrL2ludGVyZmFjZXMuZC9zZG4nIGRpcmVjdGl2ZSBmb3IgU0ROIHN1 cHBvcnQhXG4iKQotICAgICAgICAgICAgICAgIGlmICFncmVwIHsgJF8tPlsxXSA9fiBtIV5zb3Vy Y2UgL2V0Yy9uZXR3b3JrL2ludGVyZmFjZXMuZC8oOj9zZG58XCopISB9IEAkb3B0czsKLSAgICAg ICAgfTsKLSAgICAgICAgbG9nX3dhcm4oIkZhaWxlZCB0byByZWFkIG5ldHdvcmsgaW50ZXJmYWNl cyBkZWZpbml0aW9uIC0gJEAiKSBpZiAkQDsKLSAgICB9Ci0gICAgUFZFOjpOZXR3b3JrOjpTRE46 OlpvbmVzOjp3cml0ZV9ldGNfbmV0d29ya19jb25maWcoJHJhd19jb25maWcpOworPWhlYWQzIGdl bmVyYXRlX3Jhd19ldGNfbmV0d29ya19jb25maWcoKQorCitHZW5lcmF0ZSB0aGUgL2V0Yy9uZXR3 b3JrL2ludGVyZmFjZXMuZC9zZG4gY29uZmlnIGZpbGUgZnJvbSB0aGUgWm9uZXMKK2FuZCBGYWJy aWNzIGNvbmZpZ3VyYXRpb24gYW5kIHJldHVybiBpdCBhcyBhIFN0cmluZy4KKworPWN1dAorCitz dWIgZ2VuZXJhdGVfcmF3X2V0Y19uZXR3b3JrX2NvbmZpZyB7CisgICAgbXkgJHJhd19jb25maWcg PSAiIjsKKworICAgIG15ICR6b25lX2NvbmZpZyA9IFBWRTo6TmV0d29yazo6U0ROOjpab25lczo6 Z2VuZXJhdGVfZXRjX25ldHdvcmtfY29uZmlnKCk7CisgICAgJHJhd19jb25maWcgLj0gJHpvbmVf Y29uZmlnIGlmICR6b25lX2NvbmZpZzsKKworICAgIG15ICRmYWJyaWNfY29uZmlnID0gUFZFOjpO ZXR3b3JrOjpTRE46OkZhYnJpY3M6OmdlbmVyYXRlX2V0Y19uZXR3b3JrX2NvbmZpZygpOworICAg ICRyYXdfY29uZmlnIC49ICRmYWJyaWNfY29uZmlnIGlmICRmYWJyaWNfY29uZmlnOworCisgICAg cmV0dXJuICRyYXdfY29uZmlnOworfQorCis9aGVhZDMg4ouFd3JpdGVfcmF3X2V0Y19uZXR3b3Jr X2NvbmZpZygkcmF3X2NvbmZpZykKKworV3JpdGVzIGEgbmV0d29yayBjb25maWd1cmF0aW9uIGFz IGdlbmVyYXRlZCBieSBDPGdlbmVyYXRlX3Jhd19ldGNfbmV0d29ya19jb25maWc+Cit0byAvZXRj L25ldHdvcmsvaW50ZXJmYWNlcy5kL3Nkbi4KKworPWN1dAorCitzdWIgd3JpdGVfcmF3X2V0Y19u ZXR3b3JrX2NvbmZpZyB7CisgICAgbXkgKCRyYXdfY29uZmlnKSA9IEBfOworICAgIG15ICRsb2Nh bF9uZXR3b3JrX3Nkbl9maWxlID0gIi9ldGMvbmV0d29yay9pbnRlcmZhY2VzLmQvc2RuIjsKKwor ICAgIGRpZSAibm8gbmV0d29yayBjb25maWcgc3VwcGxpZWQiIGlmICFkZWZpbmVkICRyYXdfY29u ZmlnOworCisgICAgZXZhbCB7CisgICAgICAgIG15ICRuZXRfY2ZnID0gUFZFOjpJTm90aWZ5Ojpy ZWFkX2ZpbGUoJ2ludGVyZmFjZXMnLCAxKTsKKyAgICAgICAgbXkgJG9wdHMgPSAkbmV0X2NmZy0+ e2RhdGF9LT57b3B0aW9uc307CisgICAgICAgIGxvZ193YXJuKCJtaXNzaW5nICdzb3VyY2UgL2V0 Yy9uZXR3b3JrL2ludGVyZmFjZXMuZC9zZG4nIGRpcmVjdGl2ZSBmb3IgU0ROIHN1cHBvcnQhXG4i KQorICAgICAgICAgICAgaWYgIWdyZXAgeyAkXy0+WzFdID1+IG0hXnNvdXJjZSAvZXRjL25ldHdv cmsvaW50ZXJmYWNlcy5kLyg6P3NkbnxcKikhIH0gQCRvcHRzOworICAgIH07CisKKyAgICBsb2df d2FybigiRmFpbGVkIHRvIHJlYWQgbmV0d29yayBpbnRlcmZhY2VzIGRlZmluaXRpb24gLSAkQCIp IGlmICRAOworCisgICAgbXkgJHdyaXRlZmggPSBJTzo6RmlsZS0+bmV3KCRsb2NhbF9uZXR3b3Jr X3Nkbl9maWxlLCAiPiIpOworICAgIHByaW50ICR3cml0ZWZoICRyYXdfY29uZmlnOworICAgICR3 cml0ZWZoLT5jbG9zZSgpOworfQorCis9aGVhZDMg4ouFZ2VuZXJhdGVfZXRjX25ldHdvcmtfY29u ZmlnKCkKKworR2VuZXJhdGVzIHRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIGFsbCBTRE4g cGx1Z2lucyBhbmQgd3JpdGVzIGl0IHRvIHRoZSBTRE4KK2ludGVyZmFjZXMgZmlsZXMgKC9ldGMv bmV0d29yay9pbnRlcmZhY2VzLmQvc2RuKS4KKworPWN1dAorCitzdWIgZ2VuZXJhdGVfZXRjX25l dHdvcmtfY29uZmlnIHsKKyAgICBteSAkcmF3X2NvbmZpZyA9IFBWRTo6TmV0d29yazo6U0ROOjpn ZW5lcmF0ZV9yYXdfZXRjX25ldHdvcmtfY29uZmlnKCk7CisgICAgUFZFOjpOZXR3b3JrOjpTRE46 OndyaXRlX3Jhd19ldGNfbmV0d29ya19jb25maWcoJHJhd19jb25maWcpOwogfQogCiA9aGVhZDMg Z2VuZXJhdGVfZnJyX3Jhd19jb25maWcoXCVydW5uaW5nX2NvbmZpZywgXCVmYWJyaWNfY29uZmln KQpkaWZmIC0tZ2l0IGEvc3JjL1BWRS9OZXR3b3JrL1NETi9GYWJyaWNzLnBtIGIvc3JjL1BWRS9O ZXR3b3JrL1NETi9GYWJyaWNzLnBtCmluZGV4IDk0ZjRlOTdhMmY0Ni4uNWVmNDYwNjcxMGY4IDEw MDY0NAotLS0gYS9zcmMvUFZFL05ldHdvcmsvU0ROL0ZhYnJpY3MucG0KKysrIGIvc3JjL1BWRS9O ZXR3b3JrL1NETi9GYWJyaWNzLnBtCkBAIC03Miw0ICs3MiwxMSBAQCBzdWIgZ2VuZXJhdGVfZnJy X3Jhd19jb25maWcgewogICAgIHJldHVybiBcQHJhd19jb25maWc7CiB9CiAKK3N1YiBnZW5lcmF0 ZV9ldGNfbmV0d29ya19jb25maWcgeworICAgIG15ICRub2RlbmFtZSA9IFBWRTo6SU5vdGlmeTo6 bm9kZW5hbWUoKTsKKyAgICBteSAkZmFicmljX2NvbmZpZyA9IFBWRTo6TmV0d29yazo6U0ROOjpG YWJyaWNzOjpjb25maWcoMSk7CisKKyAgICByZXR1cm4gJGZhYnJpY19jb25maWctPmdldF9pbnRl cmZhY2VzX2V0Y19uZXR3b3JrX2NvbmZpZygkbm9kZW5hbWUpOworfQorCiAxOwpkaWZmIC0tZ2l0 IGEvc3JjL1BWRS9OZXR3b3JrL1NETi9ab25lcy5wbSBiL3NyYy9QVkUvTmV0d29yay9TRE4vWm9u ZXMucG0KaW5kZXggMDA3ZDc0NmJmNjAxLi41ZjMwZGYzOTZjOTYgMTAwNjQ0Ci0tLSBhL3NyYy9Q VkUvTmV0d29yay9TRE4vWm9uZXMucG0KKysrIGIvc3JjL1BWRS9OZXR3b3JrL1NETi9ab25lcy5w bQpAQCAtMTc5LDE2ICsxNzksNiBAQCBzdWIgZ2VuZXJhdGVfZXRjX25ldHdvcmtfY29uZmlnIHsK ICAgICByZXR1cm4gJHJhd19uZXR3b3JrX2NvbmZpZzsKIH0KIAotc3ViIHdyaXRlX2V0Y19uZXR3 b3JrX2NvbmZpZyB7Ci0gICAgbXkgKCRyYXdjb25maWcpID0gQF87Ci0KLSAgICByZXR1cm4gaWYg ISRyYXdjb25maWc7Ci0KLSAgICBteSAkd3JpdGVmaCA9IElPOjpGaWxlLT5uZXcoJGxvY2FsX25l dHdvcmtfc2RuX2ZpbGUsICI+Iik7Ci0gICAgcHJpbnQgJHdyaXRlZmggJHJhd2NvbmZpZzsKLSAg ICAkd3JpdGVmaC0+Y2xvc2UoKTsKLX0KLQogc3ViIHJlYWRfZXRjX25ldHdvcmtfY29uZmlnX3Zl cnNpb24gewogICAgIG15ICR2ZXJzaW9uc3RyID0gUFZFOjpUb29sczo6ZmlsZV9yZWFkX2ZpcnN0 bGluZSgkbG9jYWxfbmV0d29ya19zZG5fZmlsZSk7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3J1 bl90ZXN0X3pvbmVzLnBsIGIvc3JjL3Rlc3QvcnVuX3Rlc3Rfem9uZXMucGwKaW5kZXggMjY2YmQ5 YjRiOWY5Li45MTdmNDBhOTAwNjkgMTAwNzU1Ci0tLSBhL3NyYy90ZXN0L3J1bl90ZXN0X3pvbmVz LnBsCisrKyBiL3NyYy90ZXN0L3J1bl90ZXN0X3pvbmVzLnBsCkBAIC0xMzQsNyArMTM0LDcgQEAg Zm9yZWFjaCBteSAkdGVzdCAoQHRlc3RzKSB7CiAgICAgbXkgJG5hbWUgPSAkdGVzdDsKICAgICBt eSAkZXhwZWN0ZWQgPSByZWFkX2ZpbGUoIi4vJHRlc3QvZXhwZWN0ZWRfc2RuX2ludGVyZmFjZXMi KTsKIAotICAgIG15ICRyZXN1bHQgPSBldmFsIHsgUFZFOjpOZXR3b3JrOjpTRE46OlpvbmVzOjpn ZW5lcmF0ZV9ldGNfbmV0d29ya19jb25maWcoKSB9OworICAgIG15ICRyZXN1bHQgPSBldmFsIHsg UFZFOjpOZXR3b3JrOjpTRE46OmdlbmVyYXRlX3Jhd19ldGNfbmV0d29ya19jb25maWcoKSB9Owog CiAgICAgaWYgKG15ICRlcnIgPSAkQCkgewogICAgICAgICBkaWFnKCJnb3QgdW5leHBlY3RlZCBl cnJvciAtICRlcnIiKTsKLS0gCjIuMzkuNQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0 cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9s aXN0aW5mby9wdmUtZGV2ZWwK