From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id AF8111FF15C for ; Fri, 5 Sep 2025 13:45:46 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 50DF8134E1; Fri, 5 Sep 2025 13:45:43 +0200 (CEST) From: Gabriel Goller To: pve-devel@lists.proxmox.com Date: Fri, 5 Sep 2025 13:44:55 +0200 Message-ID: <20250905114504.195110-1-g.goller@proxmox.com> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1757072690478 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.005 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_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches 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. [proxmox.com, status.rs, vnets.pm, evpn.rs, main.rs, mod.rs, zones.pm, config.rs, fabrics.rs] Subject: [pve-devel] [PATCH network/proxmox{-ve-rs, -perl-rs} 0/6] Add status endpoints for EVPN statistics 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="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" This series adds endpoints to get status information about EVPN FRR deployments. This is intended to be used mainly in PDM, but could also be included in the PVE UI in the future. Put very simply, in EVPN we have two types of Routes: Layer2 routes (with mac addresses) and Layer3 routes (with ip addresses). In PVE they are separated nicely when using a Vnet (Layer2) and a Zone (Layer3). This means we can just add an endpoint for Vnets and Zones and get Layer2 and Layer3 statistics about the EVPN deployment. Getting Zone (Layer3) routes is very simple, we just need to find the VRF of the Zone (which is always named "vrf_{zone}", then get all the routes in the VRF using frr (`vtysh -c 'show ip route vrf ...'`). Getting VNet (Layer2) routes is a bit more complicated, we could use `bridge fdb` to get the mac addresses for the hosts but in order to get more information (like nexthops, etc.) we again query frr: `vtysh -c 'show bgp l2vpn evpn route vni {vni}'`. The VNI is the tag of a VNet -- which means we need to read the `.running-config` beforehand and get all the VNet tags. This series is based on the fabrics status view series: https://lore.proxmox.com/pve-devel/20250904114206.193052-1-g.goller@proxmox.com/ proxmox-ve-rs: Gabriel Goller (3): ve-config: add optional tag property to vnet frr: fix some route deserialization types frr: add deserialization types for EVPN proxmox-frr/Cargo.toml | 1 + proxmox-frr/debian/control | 2 + proxmox-frr/src/de/evpn.rs | 165 ++++++++++++++++++ proxmox-frr/src/de/mod.rs | 13 +- proxmox-ve-config/src/sdn/config.rs | 27 ++- proxmox-ve-config/tests/sdn/main.rs | 5 +- .../tests/sdn/resources/running-config.json | 1 + 7 files changed, 205 insertions(+), 9 deletions(-) create mode 100644 proxmox-frr/src/de/evpn.rs proxmox-perl-rs: Gabriel Goller (2): pve-rs: sdn: fabrics: update openfabric/ospf route filtering pve-rs: sdn: add functions to retrieve the Zone/Vnet routes pve-rs/src/bindings/sdn/fabrics.rs | 57 +++++++++++++++ pve-rs/src/sdn/status.rs | 114 ++++++++++++++++++++++++++--- 2 files changed, 162 insertions(+), 9 deletions(-) pve-network: Gabriel Goller (1): sdn: add vnet and zone status endpoints src/PVE/API2/Network/SDN/Vnets.pm | 36 +++++++++++++++++++++++++++++++ src/PVE/API2/Network/SDN/Zones.pm | 26 ++++++++++++++++++++++ 2 files changed, 62 insertions(+) Summary over all repositories: 11 files changed, 429 insertions(+), 18 deletions(-) -- Generated by git-murpp 0.8.0 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel