49 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| frr defaults datacenter
 | |
| service integrated-vtysh-config
 | |
| log syslog
 | |
| 
 | |
| # Without this frr and kernel ECMP routes sometimes get desynced when a link is
 | |
| # lost and found. Maybe related to https://github.com/FRRouting/frr/issues/12239.
 | |
| zebra nexthop-group keep 1
 | |
| 
 | |
| # we only have the default route, so allow talking to BGP peers over it
 | |
| ip nht resolve-via-default
 | |
| 
 | |
| router bgp {{ asn.asn }}
 | |
|   bgp bestpath as-path multipath-relax
 | |
| 
 | |
|   neighbor fabric peer-group
 | |
|   neighbor fabric remote-as external
 | |
|   neighbor fabric capability extended-nexthop
 | |
| 
 | |
| {% for iface in interfaces | selectattr('enabled') | selectattr('name', 'match', '^lan') %}
 | |
|   neighbor {{ iface.name }} interface peer-group fabric
 | |
| {% endfor %}
 | |
| 
 | |
|   address-family ipv4 unicast
 | |
|     redistribute connected route-map loopback
 | |
|     neighbor fabric activate
 | |
|     neighbor fabric route-map local out
 | |
|   exit-address-family
 | |
| 
 | |
|   address-family ipv6 unicast
 | |
|     redistribute connected route-map loopback
 | |
|     neighbor fabric activate
 | |
|     neighbor fabric route-map local out
 | |
|   exit-address-family
 | |
| 
 | |
| {% if cluster is defined and cluster.custom_fields and cluster.custom_fields.vlans %}
 | |
|   address-family l2vpn evpn
 | |
|     neighbor fabric activate
 | |
|     neighbor fabric route-map local out
 | |
|     advertise-all-vni
 | |
|   exit-address-family
 | |
| {% endif %}
 | |
| 
 | |
| bgp as-path access-list local permit ^$
 | |
| 
 | |
| route-map loopback permit 1
 | |
|   match interface lo
 | |
| 
 | |
| route-map local permit 1
 | |
|   match as-path local
 |