diff options
-rw-r--r-- | data/templates/frr/ldpd.frr.tmpl | 8 | ||||
-rw-r--r-- | interface-definitions/protocols-mpls.xml.in | 12 | ||||
-rwxr-xr-x | src/conf_mode/protocols_mpls.py | 4 |
3 files changed, 22 insertions, 2 deletions
diff --git a/data/templates/frr/ldpd.frr.tmpl b/data/templates/frr/ldpd.frr.tmpl index 3cdce8c70..4736adeb0 100644 --- a/data/templates/frr/ldpd.frr.tmpl +++ b/data/templates/frr/ldpd.frr.tmpl @@ -16,6 +16,9 @@ no neighbor {{neighbor_id}} ttl-security disable no neighbor {{neighbor_id}} ttl-security hops {{old_ldp.neighbors[neighbor_id].ttl_security}} {% endif -%} {% endif -%} +{% if 'session_holdtime' is defined -%} +no neighbor {{neighbor_id}} session holdtime {{old_ldp.neighbors[neighbor_id].session_holdtime}} +{% endif -%} {% endfor -%} {% for neighbor_id in ldp.neighbors -%} neighbor {{neighbor_id}} password {{ldp.neighbors[neighbor_id].password}} @@ -26,6 +29,9 @@ neighbor {{neighbor_id}} ttl-security disable neighbor {{neighbor_id}} ttl-security hops {{ldp.neighbors[neighbor_id].ttl_security}} {% endif -%} {% endif -%} +{% if 'session_holdtime' is defined -%} +neighbor {{neighbor_id}} session holdtime {{ldp.neighbors[neighbor_id].session_holdtime}} +{% endif -%} {% endfor -%} ! address-family ipv4 @@ -118,4 +124,4 @@ no address-family ipv6 {% else -%} no mpls ldp {% endif -%} -! +!
\ No newline at end of file diff --git a/interface-definitions/protocols-mpls.xml.in b/interface-definitions/protocols-mpls.xml.in index 38c553489..0255b1275 100644 --- a/interface-definitions/protocols-mpls.xml.in +++ b/interface-definitions/protocols-mpls.xml.in @@ -59,6 +59,18 @@ </valueHelp> </properties> </leafNode> + <leafNode name="session-holdtime"> + <properties> + <help>Session ipv4 holdtime</help> + <valueHelp> + <format>15-65535</format> + <description>Time in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 15-65535"/> + </constraint> + </properties> + </leafNode> </children> </tagNode> <node name="discovery"> diff --git a/src/conf_mode/protocols_mpls.py b/src/conf_mode/protocols_mpls.py index d90c208ad..177fd265c 100755 --- a/src/conf_mode/protocols_mpls.py +++ b/src/conf_mode/protocols_mpls.py @@ -163,6 +163,7 @@ def get_config(config=None): neighbor : { 'password' : conf.return_effective_value('neighbor {0} password'.format(neighbor), default=''), 'ttl_security' : conf.return_effective_value('neighbor {0} ttl-security'.format(neighbor), default=''), + 'session_holdtime' : conf.return_effective_value('neighbor {0} session-holdtime'.format(neighbor), default='') } }) @@ -171,6 +172,7 @@ def get_config(config=None): neighbor : { 'password' : conf.return_value('neighbor {0} password'.format(neighbor), default=''), 'ttl_security' : conf.return_value('neighbor {0} ttl-security'.format(neighbor), default=''), + 'session_holdtime' : conf.return_value('neighbor {0} session-holdtime'.format(neighbor), default='') } }) @@ -243,4 +245,4 @@ if __name__ == '__main__': apply(c) except ConfigError as e: print(e) - exit(1) + exit(1)
\ No newline at end of file |