tripleo-ansible/tripleo_ansible/roles/tripleo_frr/templates/frr.conf.j2

58 lines
1.6 KiB
Django/Jinja

! {{ ansible_managed }}
hostname {{ tripleo_frr_hostname }}
log file /var/log/frr/frr.log {{ tripleo_frr_log_level }}
service integrated-vtysh-config
line vty
router bgp {{ tripleo_frr_bgp_asn }}
bgp log-neighbor-changes
bgp graceful-shutdown
neighbor uplink peer-group
neighbor uplink remote-as {{ tripleo_frr_bgp_uplinks_scope }}
! neighbor uplink capability extended-nexthop
{% if tripleo_frr_bfd %}
neighbor uplink bfd
{% endif %}
{% for iface in tripleo_frr_bgp_uplinks_mapped %}
neighbor {{ iface }} interface peer-group uplink
{% endfor %}
{% if tripleo_frr_bgp_ipv4 %}
address-family ipv4 unicast
redistribute connected
{% if tripleo_frr_bgp_ipv4_allowas_in %}
neighbor uplink allowas-in origin
{% endif %}
neighbor uplink prefix-list only-host-prefixes out
exit-address-family
{% endif %}
{% if tripleo_frr_bgp_ipv6 %}
address-family ipv6 unicast
redistribute connected
neighbor uplink activate
{% if tripleo_frr_bgp_ipv6_allowas_in %}
neighbor uplink allowas-in origin
{% endif %}
neighbor uplink prefix-list only-host-prefixes out
exit-address-family
{% endif %}
{% if tripleo_frr_bgp_ipv4 %}
ip prefix-list only-default permit 0.0.0.0/0
ip prefix-list only-host-prefixes permit 0.0.0.0/0 ge 32
route-map rm-only-default permit 10
match ip address prefix-list only-default
set src {{ hostvars[inventory_hostname][tripleo_frr_bgp_ipv4_src_network ~ '_ip'] }}
ip protocol bgp route-map rm-only-default
{% endif %} {# tripleo_frr_bgp_ipv4 #}
{% if tripleo_frr_bgp_ipv6 %}
ipv6 prefix-list only-default permit ::/0
ipv6 prefix-list only-host-prefixes permit ::/0 ge 128
{% endif %}