{% block bgp_peer %} neighbor {{ neighbor_addr }} remote-as {{ bgp_session['asn'] }} neighbor {{ neighbor_addr }} description {{ bgp_session['name'] }} {# set the bgp neighbor timers if they have not default values #} {% if (bgp_session['keepalive'] is defined and bgp_session['keepalive'] | int != 60) or (bgp_session['holdtime'] is defined and bgp_session['holdtime'] | int != 180) %} neighbor {{ neighbor_addr }} timers {{ bgp_session['keepalive'] }} {{ bgp_session['holdtime'] }} {% endif %} {% if bgp_session.has_key('admin_status') and bgp_session['admin_status'] == 'down' or not bgp_session.has_key('admin_status') and DEVICE_METADATA['localhost'].has_key('default_bgp_status') and DEVICE_METADATA['localhost']['default_bgp_status'] == 'down' %} neighbor {{ neighbor_addr }} shutdown {% endif %} {% if neighbor_addr | ipv4 %} address-family ipv4 neighbor {{ neighbor_addr }} peer-group PEER_V4 {% elif neighbor_addr | ipv6 %} address-family ipv6 {% if bgp_session['asn'] != DEVICE_METADATA['localhost']['bgp_asn'] %} neighbor {{ neighbor_addr }} route-map set-next-hop-global-v6 in {% endif %} neighbor {{ neighbor_addr }} peer-group PEER_V6 {% endif %} {% if bgp_session['rrclient'] | int != 0 %} neighbor {{ neighbor_addr }} route-reflector-client {% endif %} {% if bgp_session['nhopself'] | int != 0 %} neighbor {{ neighbor_addr }} next-hop-self {% endif %} {% if bgp_session["asn"] == DEVICE_METADATA['localhost']['bgp_asn'] and DEVICE_METADATA['localhost']['type'] == "SpineChassisFrontendRouter" and (not bgp_session.has_key("local_addr") or bgp_session["local_addr"] not in interfaces_in_vnets) %} address-family l2vpn evpn neighbor {{ neighbor_addr }} activate advertise-all-vni exit-address-family {% endif %} neighbor {{ neighbor_addr }} activate exit-address-family {% endblock bgp_peer %}