From 674f0a6fa5680dc6dad3761e8aed370d0cad29a2 Mon Sep 17 00:00:00 2001 From: Monviech <79600909+Monviech@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:07:52 +0100 Subject: [PATCH] net/frr: BGP add bestpath route selection options (#5002) --- .../mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml | 7 +++++++ .../opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml | 11 +++++++++++ .../service/templates/OPNsense/Quagga/bgpd.conf | 5 +++++ 3 files changed, 23 insertions(+) diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml index f515a7b71..09288f285 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml @@ -40,6 +40,13 @@ true Defines connected networks to be advertised over BGP. Disable Network Import-Check to announce all networks. + + bgp.bestpath + + select_multiple + true + Route selection modifiers that influence the best path. + bgp.networkimportcheck diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml index 2a7c33da9..a8df4dd41 100644 --- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml +++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml @@ -33,6 +33,17 @@ Y + + + as-path confed + as-path multipath-relax + compare-routerid + peer-type multipath-relax + aigp + med missing-as-worst + + Y + diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf index 5f64a9bc3..2f30ec1b6 100644 --- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf +++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf @@ -42,6 +42,11 @@ router bgp {{ OPNsense.quagga.bgp.asnumber }} {% if helpers.exists('OPNsense.quagga.bgp.graceful') and OPNsense.quagga.bgp.graceful == '1' %} bgp graceful-restart {% endif %} +{% if OPNsense.quagga.bgp.bestpath %} +{% for option in OPNsense.quagga.bgp.bestpath.split(',') %} + bgp bestpath {{ option }} +{% endfor %} +{% endif %} {% if helpers.exists('OPNsense.quagga.bgp.routerid') and OPNsense.quagga.bgp.routerid != '' %} bgp router-id {{ OPNsense.quagga.bgp.routerid }} {% endif %}