diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/BgpController.php b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/BgpController.php
index 3d7e0567e..554f61bab 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/BgpController.php
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/BgpController.php
@@ -137,7 +137,7 @@ class BgpController extends ApiMutableModelControllerBase
{
return $this->searchBase(
'routemaps.routemap',
- array("enabled", "name", "action", "id", "match", "set")
+ array("enabled", "name", "action", "id", "match", "match2", "set")
);
}
diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml
index 22b8eac93..bd4e8380f 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml
@@ -29,12 +29,20 @@
select_multipletrue
- Select the AS-Path list
+ Select the AS-Path List.
+
+
+ routemap.match2
+
+ select_multiple
+
+ true
+ Select the Prefix List.routemap.settext
- Free text field for your set, please be careful! You can set e.g. "local-prefernce 300" or "community 1:1" (http://www.nongnu.org/quagga/docs/docs-multi/Route-Map-Set-Command.html#Route-Map-Set-Command)
+ Free text field for your set, please be careful! You can set e.g. "local-preference 300" or "community 1:1" (http://www.nongnu.org/quagga/docs/docs-multi/Route-Map-Set-Command.html#Route-Map-Set-Command)
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 3f7b30962..cb361fa7d 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
@@ -1,7 +1,7 @@
//OPNsense/quagga/bgpBGP Routing configuration
- 1.0.1
+ 1.0.20
@@ -219,6 +219,18 @@
YN
+
+
+
+ OPNsense.quagga.bgp
+ prefixlists.prefixlist
+ name
+
+
+ Related item not found
+ N
+ N
+ Y
diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt
index e5818125a..0661e48ae 100644
--- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt
+++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt
@@ -139,6 +139,7 @@ POSSIBILITY OF SUCH DAMAGE.
{{ lang._('Action') }}
{{ lang._('ID') }}
{{ lang._('AS Path List') }}
+
{{ lang._('Prefix List') }}
{{ lang._('Set') }}
{{ lang._('ID') }}
{{ lang._('Commands') }}
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 e971062be..45d9e4fdd 100644
--- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
+++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
@@ -191,6 +191,17 @@ route-map {{ routemap.name }} {{ routemap.action }} {{ routemap.id }}
{% if routemap.set != '' %}
set {{ routemap.set }}
{% endif %}
+{% if routemap.match2|default("") != "" %}
+{% for prefixlist in routemap.match2.split(",") %}
+{% set prefixlist_data = helpers.getUUID(prefixlist) %}
+{% if 'match2' in routemap and routemap.match2 != '' %}
+ match ip address prefix-list {{ prefixlist_data.name }}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if routemap.set != '' %}
+ set {{ routemap.set }}
+{% endif %}
{% endif %}
{% endfor %}
{% endif %}