From c22470e2041e573ecab69da34ae2868a962f83bb Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <aleksandr.kurbatov@GL1342-AKURBATOV.local> Date: Wed, 28 Aug 2024 21:56:52 +0100 Subject: [PATCH] BGP neighbor template update Added for the use-case of Kentik: - support for the `hold-time` - support for the auth_key - support for the `cluster-id` --- .../routers/nokia/router/bgp_neighbor.j2 | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2 index 12bf86f8..debe6613 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2 +++ b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2 @@ -3,27 +3,44 @@ <ip-address>{{ neighbor.ip }}</ip-address> <description>{{ neighbor.description }}</description> <group>{{ neighbor.group }}</group> - {% if neighbor.families is defined %} + {% if neighbor.auth_key is defined %} + <authentication-key>{{ neighbor.auth_key }</authentication-key> + {% endif %} + {% if neighbor.hold_time is defined %} + <hold-time> + <seconds>{{ neighbor.hold_time }}</seconds> + </hold-time> + {% endif %} + {% if neighbor.families is defined %} <family> {% for family in neighbor.families %} <{{ family }}>true</{{ family }}> {% endfor %} </family> - {% endif %} - {% if neighbor.policies.import is defined %} + {% endif %} + {% if neighbor.policies.import is defined %} <import> {% for imp_pol in neighbor.policies.import %} <policy>{{ imp_pol }}</policy> {% endfor %} </import> - {% endif %} - {% if neighbor.policies.export is defined %} + {% endif %} + {% if neighbor.policies.export is defined %} <export> {% for exp_pol in neighbor.policies.export %} <policy>{{ exp_pol }}</policy> {% endfor %} </export> - {% endif %} + {% endif %} + {% if neighbor.cluster_id is defined %} + <cluster> + {% if neighbor.cluster_id == 'system' %} + <cluster-id>{{ lo_ipv4_address }}</cluster-id> + {% else %} + <cluster-id>{{ neighbor.cluster_id }}</cluster-id> + {% endif %} + </cluster> + {% endif %} </neighbor> {% endfor %} -- GitLab