bebb7a0fa2
* [zebra.conf] Fix template issue with multiple lo addresses * Add unitest for Loopback1
77 lines
1.8 KiB
Django/Jinja
77 lines
1.8 KiB
Django/Jinja
!
|
|
{% block banner %}
|
|
! =========== Managed by sonic-cfggen DO NOT edit manually! ====================
|
|
! generated by templates/quagga/zebra.conf.j2 using config DB data
|
|
! file: zebra.conf
|
|
!
|
|
{% endblock banner %}
|
|
!
|
|
{% block sys_init %}
|
|
hostname {{ DEVICE_METADATA['localhost']['hostname'] }}
|
|
password zebra
|
|
enable password zebra
|
|
{% endblock sys_init %}
|
|
!
|
|
{% block interfaces %}
|
|
! Enable link-detect (default disabled)
|
|
{% for (name, prefix) in INTERFACE %}
|
|
interface {{ name }}
|
|
link-detect
|
|
!
|
|
{% endfor %}
|
|
{% for pc in PORTCHANNEL %}
|
|
interface {{ pc }}
|
|
link-detect
|
|
!
|
|
{% endfor %}
|
|
{% endblock interfaces %}
|
|
!
|
|
{% block default_route %}
|
|
! set static default route to mgmt gateway as a backup to learned default
|
|
{% for (name, prefix) in MGMT_INTERFACE %}
|
|
{% if prefix | ipv4 %}
|
|
ip route 0.0.0.0/0 {{ MGMT_INTERFACE[(name, prefix)]['gwaddr'] }} 200
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endblock default_route %}
|
|
!
|
|
{% block source_loopback %}
|
|
{% set lo_ipv4_addrs = [] %}
|
|
{% set lo_ipv6_addrs = [] %}
|
|
{% if LOOPBACK_INTERFACE %}
|
|
{% for (name, prefix) in LOOPBACK_INTERFACE %}
|
|
{% if name == 'Loopback0' %}
|
|
{% if prefix | ipv6 %}
|
|
{% if lo_ipv6_addrs.append(prefix) %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if lo_ipv4_addrs.append(prefix) %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
! Set ip source to loopback for bgp learned routes
|
|
route-map RM_SET_SRC permit 10
|
|
set src {{ lo_ipv4_addrs[0] | ip }}
|
|
!
|
|
{% if lo_ipv6_addrs|length > 0 %}
|
|
route-map RM_SET_SRC6 permit 10
|
|
set src {{ lo_ipv6_addrs[0] | ip }}
|
|
!
|
|
{% endif %}
|
|
ip protocol bgp route-map RM_SET_SRC
|
|
!
|
|
{% if lo_ipv6_addrs|length > 0 %}
|
|
ipv6 protocol bgp route-map RM_SET_SRC6
|
|
!
|
|
{% endif %}
|
|
{% endblock source_loopback %}
|
|
!
|
|
{% block logging %}
|
|
log syslog informational
|
|
log facility local4
|
|
{% endblock logging %}
|
|
!
|
|
|