summaryrefslogtreecommitdiff
path: root/src/PVE/Network/SDN/Controllers/EvpnPlugin.pm
AgeCommit message (Collapse)Author
2025-04-09frr: enable and start frr on reloading the controller configStefan Hanreich
Since we now ship frr with Proxmox VE, the frr service is available on the nodes but disabled on install. Prior to that, users had to manually install frr, which automatically enabled the service. When first applying a SDN configuration with an EVPN controller, we always fell back to restarting the frr service, because reloading fails when the daemon isn't running. This fallback to restarting leads to the service running but still being in the disabled state. This means that the EVPN setup is working until the next reboot. To avoid the situation where users configure an EVPN controller and everything seems to be working, until a restart breaks the EVPN setup, additionally enable and start the frr service before trying to reload the configuration. We enable the service after checking for the existence of frr-pythontools in order to avoid the situation where users apply an SDN configuration with an EVPN controller, but reloading fails due to a missing frr-pythontools package. Since we do an early return there, we never fell back to restarting the service in case frr-pythontools was not available. If we enabled the service before the check, the configuration would apply after a reboot since it already got written to the frr configuration file. Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2025-04-09frr: remove erroneous outfunc from frr-reload commandStefan Hanreich
Prior to the upgrade to frr-pythontools 10.2.1, frr-reload.py did not print any output to STDOUT, which masked the erroneous outfunc provided in run_command. With 10.2.1 frr-reload.py now prints to STDOUT, which triggers the codepath for invoking the outfunc, leading to an error when invoking frr-reload.py. By removing the outfunc the invocation works again. In addition to fixing the regression introduced, we also now print the frr-reload.py informational output to the tasklog, which can be helpful in debugging any issues when reloading the frr configuration. Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2024-04-22fix #5364: bgp|evpn: derivated router-id from mac address for ipv6 underlayAlexandre Derumier via pve-devel
for ipv4, we use the iface ipv4 router-id as router-id need to 32bit. That's doesn't work for pure ipv6 underlay network. since https://www.rfc-editor.org/rfc/rfc6286, we can use any 32bit id, it's just need to be unique in the ASN. Simply use the last 4 bytes of iface mac address as unique id changelog V2: add missing test Signed-off-by: Alexandre Derumier <alexandre.derumier@groupe-cyllene.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-22fix #5361: evpn: fix ipv6 route-mapAlexandre Derumier via pve-devel
Signed-off-by: Alexandre Derumier <alexandre.derumier@groupe-cyllene.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-22fix #5319: frr.local: add support for bgp-communityAlexandre Derumier via pve-devel
Need to be inserted after ip prefix-list and before route map Signed-off-by: Alexandre Derumier <alexandre.derumier@groupe-cyllene.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-04evpn: extract read_local_frr_configStefan Lendl
to allow mocking local fs access Signed-off-by: Stefan Lendl <s.lendl@proxmox.com> Reviewed-by: Max Carrara <m.carrara@proxmox.com> Tested-by: Max Carrara <m.carrara@proxmox.com> Tested-By: Stefan Hanreich <s.hanreich@proxmox.com>
2024-01-22controllers: evpn: fix null routes order && ipv6Alexandre Derumier
- don't duplicate ip - ipv6 use "ipv6 route" - order correctly Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2024-01-22controllers: evpn: frr config cleanupAlexandre Derumier
Some values have been reordered in last version - bump version to 8.5.2 - move no bgp graceful-restart notification - move neighbor VTEP activate Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2024-01-22controllers: evpn: bugfix: use prefix-list in route-map instead evpn matchAlexandre Derumier
"match evpn" in route-map is broken since 8.5.0 https://github.com/FRRouting/frr/issues/14419 the patch https://github.com/FRRouting/frr/commit/272c6d5db128ff7450fe9fcd16c046160594deb3 is converting type-2 && type-5 evpn routes to prefix-prefix. (fixing prefix-list not working previously, but breaking "match evpn") So, simply use prefix-list now, as "match epvn" was a workaround anyway. reported on the forum, where user have routing loop between the 2 exit-nodes: https://forum.proxmox.com/threads/sdn-with-evpn-controller-routing-loop-when-using-multiple-exit-nodes.137362/ Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2024-01-22controllers: evpn: add ipv6 prefix-list supportAlexandre Derumier
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2023-11-22controller: evpn reload: use log_warn to cause a task-warningThomas Lamprecht
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-10-25controllers: add isis router pluginAlexandre Derumier
2023-10-25controllers: frr: add parsing of "interfaces" sectionAlexandre Derumier
2023-10-25controller: evpn: fix find_bgp_controllerAlexandre Derumier
2023-06-06evpn: update config to frr 8.5.1Alexandre Derumier
add default values: "no bgp hard-administrative-reset" "no bgp graceful-restart notification" to avoid frr-reload warning Signed-off-by: Alexandre Derumier <aderumier@odiso.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06fix #4389: evpn: exit nodes: null routes subnets from other zonesAlexandre Derumier
We don't want to routes subnets between different zones when same exit node is used. Signed-off-by: Alexandre Derumier <aderumier@odiso.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06fix #4662: frr: fix config generation orderingAlexandre Derumier
vrf and router bgp vrf need to be ordered by vrf name ip protocol need to be at the end Signed-off-by: Alexandre Derumier <aderumier@odiso.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06fix #4657: evpn: fix exit-node with multiple vrfAlexandre Derumier
Currently, if a node is primary exit-node for 1 vrf, and secondary exit-node for another vrf, The deny route-map is filtering routes imports for both vrf. This patch adds filtering only for the vrf's where the node is secondary. Signed-off-by: Alexandre Derumier <aderumier@odiso.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25separate packaging and source build systemThomas Lamprecht
like almost all of our repos do nowadays, modern git can detect such things on rebase so in development stuff should be hopefully not too much affected by this. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>