diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml index 427662d7f..84d3a07f6 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml @@ -31,7 +31,6 @@ routemap.match2 select_multiple - true Allows for matching based on prefix lists, multiple selections enabled. diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml index 41387c7c2..32c5017e9 100644 --- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml +++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml @@ -194,12 +194,14 @@ - + name,seqnumber + %s:%s + + Y Related item not found. diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf index 66896f7a7..feb5bf446 100644 --- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf +++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf @@ -80,12 +80,16 @@ ipv6 prefix-list {{ prefixlist.name }} seq {{ prefixlist.seqnumber }} {{ prefixl {% for routemap in helpers.sortDictList(OPNsense.quagga.ospf6.routemaps.routemap, 'name', 'id' ) %} {% if routemap.enabled == '1' %} route-map {{ routemap.name }} {{ routemap.action }} {{ routemap.id }} +{# XXX: Multiple prefix lists that have the same name can be selected (intentionally), but each is stored as unique item. #} +{# The relationship is a bit loose, unique solves part of this issue. #} {% if routemap.match2|default("") != "" %} +{% set prefixlist_names = [] %} {% for prefixlist in routemap.match2.split(",") %} {% set prefixlist_data = helpers.getUUID(prefixlist) %} -{% if 'match2' in routemap and routemap.match2 != '' %} - match ipv6 address prefix-list {{ prefixlist_data.name }} -{% endif %} +{% do prefixlist_names.append(prefixlist_data.name) %} +{% endfor %} +{% for prefixlist_name in prefixlist_names | unique %} + match ip address prefix-list {{ prefixlist_name }} {% endfor %} {% endif %} {% if routemap.set|default("") != "" %}