OcNOS-SP : Ansible Guide : Ansible User Guide : BGP Configuration
BGP Configuration
Template File for BGP
ocnos_bgp.j2
{%if bgp is defined%}
router bgp {{ bgp.asn }}
{% if bgp.router is defined %}
{%else%}
no bgp default ipv4-unicast
bgp log-neighbor-changes
no bgp inbound-route-filter
{% endif %}
{% for network in bgp.networks -%}
network {{ network.network_id }}
{%if network.network_id =='36.0.0.3/32'%}
max-paths ibgp 2
{%endif%}
{% endfor -%}
{% for neighbor in bgp.neighbors -%}
neighbor {{ neighbor.neighbor_id }} remote-as {{ neighbor.remoteas }}
neighbor {{ neighbor.neighbor_id }} {{ neighbor.detection }} bfd multihop
neighbor {{ neighbor.neighbor_id }} update-source {{ neighbor.updatesource }}
{% endfor %}
allocate-label all
!
{% for address_family in bgp.address_family -%}
{% if address_family.address_family_type == 'vpnv4' -%}
address-family {{ address_family.address_family_type }} unicast
{% endif %}
{% if address_family.address_family_type == 'labeled-unicast' -%}
address-family ipv4 {{ address_family.address_family_type }}
{% endif %}
{% if address_family.address_family_type == 'vrf' -%}
{% for vrf in address_family.vrfs -%}
address-family ipv4 {{address_family.address_family_type }} {{ vrf.vrf_name }}
{% if vrf.protocol is defined %}
redistribute {{vrf.protocol}}
{% endif %}
redistribute connected
exit-address-family
{% endfor %}
{% endif %}
{% if address_family.neighbors is defined %}
{% for neighbor in address_family.neighbors -%}
neighbor {{neighbor.neighbor_id}} activate
{% if neighbor.route_reflector_type is defined %}
neighbor {{neighbor.neighbor_id}} {{ neighbor.route_reflector_type }}
{% endif %}
{% if neighbor.next_hop_type is defined %}
neighbor {{ neighbor.neighbor_id}} {{ neighbor.next_hop_type }}
{% endif %}
{% endfor %}
exit-address-family
!
{% endif %}
{% endfor %}
{%endif%}
 
Parameter File for BGP
sw2.yml
 
bgp:
Router BGP configurations
asn: 65001
Autonomous system number
networks:
Network command
-network_id: 36.0.0.2/32
Configures the network IPv4 address as <36.0.0.2> under router BGP 65001
 
 
neighbors:
Neighbor command
- neighbor_id: 10.0.1.14
Identifies the neighbor
remoteas: 65001
configure remote-as 65001 for neighbor 10.0.1.14 command under router bgp
detection: fall-over
Configure detection type as <fall-over bfd multihop>
command under router bgp
 
updatesource: lo
Configure update-source lo> for <neighbor 36.0.0.1 > under router bgp
address_family:
Address-family configuration
- address_family_type: labeled-unicast
Address family type label-unicast will be configured under router bgp
neighbors:
Neighbor configuration under address family
- neighbor_id: 10.0.1.14
Activate neighbor 10.0.1.14 for address family label-unicast under bgp
next_hop_type: next-hop-self
If next_hop_type is defined then it will configure the neighbor 10.0.1.14 next-hop-self command will be configured for address-family label-unicast
route_reflector_type: route-
reflector-client
If route_reflector_type is defined then neighbor 10.0.1.14 will be configured as route reflector client for address-family label-unicast
- address_family_type: vpnv4
Adress family type vpnv4 will be configured under router bgp
neighbors:
Neighbor configuration under address family
- neighbor_id: 10.0.1.14
Activate neighbor 10.0.1.14 for address family vpnv4 under bgp
route_reflector_type:route
 
-reflector-client
If route_reflector_type is defined then neighbor 10.0.1.14 will be configured as route reflector client for address-family vpnv4
- address_family_type: vrf
Adress family type vrf will be configured under router bgp
vrfs:
Multiple Vrf 's name will be define under this
- vrf_name: 1001
Address family type vrf with name <1001> will be configured under router bgp
Last modified date: 06/08/2023