diff options
author | Cheeze_It <none@none.com> | 2020-12-06 00:06:10 -0700 |
---|---|---|
committer | Cheeze_It <none@none.com> | 2020-12-06 00:06:10 -0700 |
commit | cd0597f04e29e17fe76013ba19581d9eaeea611c (patch) | |
tree | f2c7f84419f322bcb9871a65b520399bf72f73cd | |
parent | e46def834483ebd76282965a86e875c4cfacebca (diff) | |
download | vyos-1x-cd0597f04e29e17fe76013ba19581d9eaeea611c.tar.gz vyos-1x-cd0597f04e29e17fe76013ba19581d9eaeea611c.zip |
mpls-conf: T915: Add LDP local label allocation control.
In this commit we added the ability to control the local label allocation
control for FECs. It allows for the router to not allocate a label for every
interface, just the interfaces that are desired by the operator.
-rw-r--r-- | data/templates/frr/ldpd.frr.tmpl | 20 | ||||
-rw-r--r-- | interface-definitions/protocols-mpls.xml.in | 45 |
2 files changed, 65 insertions, 0 deletions
diff --git a/data/templates/frr/ldpd.frr.tmpl b/data/templates/frr/ldpd.frr.tmpl index 280df41eb..86342b3eb 100644 --- a/data/templates/frr/ldpd.frr.tmpl +++ b/data/templates/frr/ldpd.frr.tmpl @@ -33,7 +33,17 @@ neighbor {{neighbors}} session holdtime {{ldp.neighbor[neighbors].session_holdti {% if ldp.discovery is defined %} {% if ldp.discovery.transport_ipv4_address is defined %} address-family ipv4 +{% if ldp.allocation is defined %} +{% if ldp.allocation.ipv4 is defined %} +{% if ldp.allocation.ipv4.access_list is defined %} +label local allocate for {{ ldp.allocation.ipv4.access_list }} +{% endif %} +label local allocate host-routes +{% endif %} label local allocate host-routes +{% else %} +label local allocate host-routes +{% endif %} {% if ldp.discovery.transport_ipv4_address is defined %} discovery transport-address {{ ldp.discovery.transport_ipv4_address }} {% endif %} @@ -77,7 +87,17 @@ no address-family ipv4 {% if ldp.discovery is defined %} {% if ldp.discovery.transport_ipv6_address is defined %} address-family ipv6 +{% if ldp.allocation is defined %} +{% if ldp.allocation.ipv6 is defined %} +{% if ldp.allocation.ipv6.access_list6 is defined %} +label local allocate for {{ ldp.allocation.ipv6.access_list6 }} +{% endif %} +label local allocate host-routes +{% endif %} label local allocate host-routes +{% else %} +label local allocate host-routes +{% endif %} {% if ldp.discovery.transport_ipv6_address is defined %} discovery transport-address {{ ldp.discovery.transport_ipv6_address }} {% endif %} diff --git a/interface-definitions/protocols-mpls.xml.in b/interface-definitions/protocols-mpls.xml.in index 16286f2c4..e91db12de 100644 --- a/interface-definitions/protocols-mpls.xml.in +++ b/interface-definitions/protocols-mpls.xml.in @@ -26,6 +26,51 @@ </constraint> </properties> </leafNode> + <node name="allocation"> + <properties> + <help>Forwarding equivalence class (FEC) allocation from local routes</help> + </properties> + <children> + <node name="ipv4"> + <properties> + <help>IPv4 routes</help> + </properties> + <children> + <leafNode name="access-list"> + <properties> + <help>Access-list number</help> + <valueHelp> + <format>1-2699</format> + <description>Access list number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-2699"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + <node name="ipv6"> + <properties> + <help>IPv6 routes</help> + </properties> + <children> + <leafNode name="access-list6"> + <properties> + <help>Access-list6 number</help> + <valueHelp> + <format>1-2699</format> + <description>Access list number</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-2699"/> + </constraint> + </properties> + </leafNode> + </children> + </node> + </children> + </node> <tagNode name="neighbor"> <properties> <help>LDP neighbor parameters</help> |