diff --git a/net/quagga/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt b/net/quagga/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt
index f36fe29c1..2e0abfe6a 100644
--- a/net/quagga/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt
+++ b/net/quagga/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt
@@ -31,7 +31,8 @@ POSSIBILITY OF SUCH DAMAGE.
@@ -45,8 +46,6 @@ POSSIBILITY OF SUCH DAMAGE.
-
-
@@ -57,8 +56,10 @@ POSSIBILITY OF SUCH DAMAGE.
| {{ lang._('Update Source Address') }} |
{{ lang._('Next Hop Self') }} |
{{ lang._('Default Originate') }} |
- {{ lang._('Route-Map Inbound') }} |
- {{ lang._('Route-Map Outbound') }} |
+ {{ lang._('Prefix List inbound') }} |
+ {{ lang._('Prefix List outbound') }} |
+ {{ lang._('Route Map inbound') }} |
+ {{ lang._('Route Map outbound') }} |
{{ lang._('ID') }} |
{{ lang._('Commands') }} |
@@ -76,7 +77,6 @@ POSSIBILITY OF SUCH DAMAGE.
-
@@ -102,7 +102,32 @@ POSSIBILITY OF SUCH DAMAGE.
-
+
+
+
+
+ | {{ lang._('Enabled') }} |
+ {{ lang._('Name') }} |
+ {{ lang._('Secquence Number') }} |
+ {{ lang._('Action') }} |
+ {{ lang._('Network') }} |
+ {{ lang._('ID') }} |
+ {{ lang._('Commands') }} |
+
+
+
+
+
+
+ |
+
+
+
+ |
+
+
+
+
@@ -124,13 +149,11 @@ POSSIBILITY OF SUCH DAMAGE.
|
-
|
-
{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPNeighbor,'id':'DialogEditBGPNeighbor','label':lang._('Edit Neighbor')])}}
-{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPASPaths,'id':'DialogEditBGPASPaths','label':lang._('Edit AS-Paths')])}}
-{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPRouteMaps,'id':'DialogEditBGPRouteMaps','label':lang._('Edit Route-Maps')])}}
+{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPASPaths,'id':'DialogEditBGPASPaths','label':lang._('Edit AS Paths')])}}
+{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPPrefixLists,'id':'DialogEditBGPPrefixLists','label':lang._('Edit Prefix Lists')])}}
+{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPRouteMaps,'id':'DialogEditBGPRouteMaps','label':lang._('Edit Route Maps')])}}
diff --git a/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf b/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
index e32b4f9df..2e958875d 100644
--- a/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
+++ b/net/quagga/src/opnsense/service/templates/OPNsense/Quagga/bgpd.conf
@@ -27,6 +27,22 @@ router bgp {{ OPNsense.quagga.bgp.asnumber }}
{% if 'defaultoriginate' in neighbor and neighbor.defaultoriginate == '1' %}
neighbor {{ neighbor.address }} default-originate
{% endif %}
+{% if neighbor.linkedPrefixlistIn|default("") != "" %}
+{% for prefixlist in neighbor.linkedPrefixlistIn.split(",") %}
+{% set prefixlist2_data = helpers.getUUID(prefixlist) %}
+{% if prefixlist2_data != '' %}
+ neighbor {{ neighbor.address }} prefix-list {{ prefixlist2_data.name }} in
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if neighbor.linkedPrefixlistOut|default("") != "" %}
+{% for prefixlist in neighbor.linkedPrefixlistOut.split(",") %}
+{% set prefixlist_data = helpers.getUUID(prefixlist) %}
+{% if prefixlist_data != '' %}
+ neighbor {{ neighbor.address }} prefix-list {{ prefixlist_data.name }} out
+{% endif %}
+{% endfor %}
+{% endif %}
{% if neighbor.linkedRoutemapIn|default("") != "" %}
{% for aspath in neighbor.linkedRoutemapIn.split(",") %}
{% set routemap2_data = helpers.getUUID(aspath) %}
@@ -47,6 +63,14 @@ router bgp {{ OPNsense.quagga.bgp.asnumber }}
{% endfor %}
{% endif %}
!
+{% if helpers.exists('OPNsense.quagga.bgp.prefixlists.prefixlist') %}
+{% for prefixlist in helpers.sortDictList(OPNsense.quagga.bgp.prefixlists.prefixlist, 'name', 'seqnumber' ) %}
+{% if prefixlist.enabled == '1' %}
+ip prefix-list {{ prefixlist.name }} seq {{ prefixlist.seqnumber }} {{ prefixlist.action }} {{ prefixlist.network }}
+{% endif %}
+{% endfor %}
+{% endif %}
+!
{% if helpers.exists('OPNsense.quagga.bgp.aspaths.aspath') %}
{% for aspath in helpers.sortDictList(OPNsense.quagga.bgp.aspaths.aspath, 'number' ) %}
{% if aspath.enabled == '1' %}