From dcb531625b1b8313a5e7788427ba93b4f5ec7863 Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <aleksandr.kurbatov@GL1342-AKURBATOV.local> Date: Mon, 2 Sep 2024 16:23:49 +0100 Subject: [PATCH] BGP base config in a separate template Common BGP base config into a separate template (bgp_base). This allows to re-use it in both router Base and VPRN contexts. --- .../routers/nokia/router/base_bgp.j2 | 58 ------------------- .../templates/routers/nokia/router/bgp.j2 | 13 +++++ .../routers/nokia/router/bgp_base.j2 | 0 .../routers/nokia/router/router_base.j2 | 2 +- .../templates/routers/nokia/router/vprn.j2 | 39 +------------ 5 files changed, 17 insertions(+), 95 deletions(-) delete mode 100644 geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/base_bgp.j2 create mode 100644 geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp.j2 create mode 100644 geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_base.j2 diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/base_bgp.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/base_bgp.j2 deleted file mode 100644 index 0b911be7..00000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/base_bgp.j2 +++ /dev/null @@ -1,58 +0,0 @@ - <bgp xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% if pe_bgp_base.best_path_selection is defined %} - <best-path-selection> - {% for bps in pe_bgp_base.best_path_selection %} - <{{ bps }}>true</{{ bps }}> - {% endfor %} - </best-path-selection> - {% endif %} - {% if pe_bgp_base.error_handling is defined %} - <error-handling> - <{{ pe_bgp_base.error_handling }}>true</{{ pe_bgp_base.error_handling }}> - </error-handling> - {% endif %} - {% if pe_bgp_base.next_hop_resolution.shortcut_tunnel is defined %} - <next-hop-resolution> - <shortcut-tunnel> - {% for nhr in pe_bgp_base.next_hop_resolution.shortcut_tunnel %} - <family> - <family-type>{{ nhr.type }}</family-type> - <resolution-filter> - <{{ nhr.resolution_filter }}>true</{{ nhr.resolution_filter }}> - </resolution-filter> - </family> - {% endfor %} - </shortcut-tunnel> - </next-hop-resolution> - {% endif %} - {% if pe_bgp_base.multipath is defined %} - <multipath alu:operation="replace"> - {% if pe_bgp_base.multipath.ibgp is defined %} - <ibgp>{{ pe_bgp_base.multipath.ibgp }}</ibgp> - {% endif %} - {% if pe_bgp_base.multipath.ebgp is defined %} - <ebgp>{{ pe_bgp_base.multipath.ebgp }}</ebgp> - {% endif %} - {% if pe_bgp_base.multipath.ipv4 is defined %} - <family> - <family-type>ipv4</family-type> - <max-paths>{{ pe_bgp_base.multipath.ipv4 }}</max-paths> - </family> - {% endif %} - {% if pe_bgp_base.multipath.ipv6 is defined %} - <family> - <family-type>ipv6</family-type> - <max-paths>{{ pe_bgp_base.multipath.ipv6 }}</max-paths> - </family> - {% endif %} - </multipath> - {% endif %} -{% with bgp_obj=pe_bgp_tools %} - {% include "router/bgp_group.j2" %} - {% include "router/bgp_neighbor.j2" %} -{% endwith %} -{% with bgp_obj=pe_bgp_internal %} - {% include "router/bgp_group.j2" %} -{% endwith %} - </bgp> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp.j2 new file mode 100644 index 00000000..b5af67ba --- /dev/null +++ b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp.j2 @@ -0,0 +1,13 @@ + <bgp xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> +{% with bgp_base_obj=pe_bgp_base, bgp_context='bgp_base' %} + {% include 'router/bgp_base.j2' %} +{% endwith %} +{% with bgp_obj=pe_bgp_tools %} + {% include "router/bgp_group.j2" %} + {% include "router/bgp_neighbor.j2" %} +{% endwith %} +{% with bgp_obj=pe_bgp_internal %} + {% include "router/bgp_group.j2" %} +{% endwith %} + </bgp> + diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_base.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_base.j2 new file mode 100644 index 00000000..e69de29b diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/router_base.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/router_base.j2 index ce792e85..621d8348 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/router_base.j2 +++ b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/router_base.j2 @@ -4,7 +4,7 @@ {% include 'router/static_routes.j2' %} {% endwith %} {% with bgp_group_context='bgp_base' %} - {% include 'router/base_bgp.j2' %} + {% include 'router/bgp.j2' %} {% endwith %} {% include 'router/flowspec.j2' %} {% include 'router/ldp.j2' %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/vprn.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/vprn.j2 index fa8b9362..23185e59 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/vprn.j2 +++ b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/vprn.j2 @@ -24,42 +24,9 @@ </mpls> </bgp-ipvpn> <bgp> - {% if vprn.bgp.families is defined %} - <family> - {% for fam in vprn.bgp.families %} - <{{ fam }}>true</{{ fam }}> - {% endfor %} - </family> - {% endif %} - {% if vprn.bgp.best_path_selection is defined %} - <best-path-selection> - {% for bps in vprn.bgp.best_path_selection %} - <{{ bps }}>true</{{ bps }}> - {% endfor %} - </best-path-selection> - {% endif %} - {% if vprn.bgp.multipath is defined %} - <multipath> - {% if vprn.bgp.multipath.ibgp is defined %} - <ibgp>{{ vprn.bgp.multipath.ibgp }}</ibgp> - {% endif %} - {% if vprn.bgp.multipath.ebgp is defined %} - <ebgp>{{ vprn.bgp.multipath.ebgp }}</ebgp> - {% endif %} - {% if vprn.bgp.multipath.ipv4 is defined %} - <family> - <family-type>ipv4</family-type> - <max-paths>{{ vprn.bgp.multipath.ipv4 }}</max-paths> - </family> - {% endif %} - {% if vprn.bgp.multipath.ipv6 is defined %} - <family> - <family-type>ipv6</family-type> - <max-paths>{{ vprn.bgp.multipath.ipv6 }}</max-paths> - </family> - {% endif %} - </multipath> - {% endif %} + {% with bgp_base_obj=vprn.bgp, bgp_context='vprn' %} + {% include 'router/bgp_base.j2' %} + {% endwith %} {% with bgp_obj=vprn.bgp, bgp_group_context='vprn' %} {% include 'router/bgp_group.j2' %} {% endwith %} -- GitLab