Files
poc-frr-anycast/ansible/roles/frr_anycast/templates/frr.conf.j2
T

40 lines
1.0 KiB
Django/Jinja
Raw Normal View History

frr version 8.5
frr defaults traditional
hostname {{ inventory_hostname }}
log stdout informational
no ipv6 forwarding
!
ip prefix-list PL-ANYCAST-OUT seq 5 permit {{ anycast_prefix }}
!
route-map RM-OUT permit 10
match ip address prefix-list PL-ANYCAST-OUT
!
route-map RM-OUT deny 20
!
{% if bgp_neighbors | selectattr('prepend') | list | length > 0 %}
route-map RM-OUT-PREPEND permit 10
match ip address prefix-list PL-ANYCAST-OUT
set as-path prepend {{ ((local_asn ~ ' ') * (as_path_prepend_count | default(0) | int)) | trim }}
!
route-map RM-OUT-PREPEND deny 20
!
{% endif %}
router bgp {{ local_asn }}
bgp router-id {{ router_id }}
no bgp ebgp-requires-policy
{% for n in bgp_neighbors %}
neighbor {{ n.ip }} remote-as {{ n.asn }}
{% endfor %}
!
address-family ipv4 unicast
network {{ anycast_prefix }}
{% for n in bgp_neighbors %}
neighbor {{ n.ip }} activate
{% endfor %}
{% for n in bgp_neighbors %}
neighbor {{ n.ip }} route-map {{ 'RM-OUT-PREPEND' if n.prepend else 'RM-OUT' }} out
{% endfor %}
exit-address-family
!
line vty
!