! {% 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 %} !