Add inside and outside roles for VLANs
Will probably rename inside/outside and office/server to int/ext.
This commit is contained in:
		
							parent
							
								
									0802dc8637
								
							
						
					
					
						commit
						aeb124e346
					
				
					 6 changed files with 65 additions and 22 deletions
				
			
		| 
						 | 
				
			
			@ -4,7 +4,8 @@
 | 
			
		|||
    | map(attribute='address') %}
 | 
			
		||||
{% set my_index = inventory_hostname.split('-')[1]|int %}
 | 
			
		||||
{% set bridge = interfaces | selectattr('type') | selectattr('type.value', '==', 'bridge') | first %}
 | 
			
		||||
{% set my_vlans = bridge.tagged_vlans | sort(attribute='vid') -%}
 | 
			
		||||
{% set bridge_vlans = vlans | selectattr('vid', 'in', bridge.tagged_vlans | map(attribute='vid')) -%}
 | 
			
		||||
{% set inside_vlans = bridge_vlans | selectattr('role.slug', '==', 'inside') -%}
 | 
			
		||||
 | 
			
		||||
frr defaults datacenter
 | 
			
		||||
log syslog informational
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +163,7 @@ router bgp {{ asn.asn }} vrf inside
 | 
			
		|||
{% endfor %}
 | 
			
		||||
 | 
			
		||||
    redistribute connected route-map loopback-inside
 | 
			
		||||
{% for vlan in my_vlans %}
 | 
			
		||||
{% for vlan in inside_vlans %}
 | 
			
		||||
    import vrf {{ vlan.name }}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
    import vrf default
 | 
			
		||||
| 
						 | 
				
			
			@ -184,7 +185,7 @@ router bgp {{ asn.asn }} vrf inside
 | 
			
		|||
{% endfor %}
 | 
			
		||||
 | 
			
		||||
    redistribute connected route-map loopback-inside
 | 
			
		||||
{% for vlan in my_vlans %}
 | 
			
		||||
{% for vlan in inside_vlans %}
 | 
			
		||||
    import vrf {{ vlan.name }}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
    import vrf default
 | 
			
		||||
| 
						 | 
				
			
			@ -192,7 +193,7 @@ router bgp {{ asn.asn }} vrf inside
 | 
			
		|||
  exit-address-family
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{% for vlan in my_vlans %}
 | 
			
		||||
{% for vlan in inside_vlans %}
 | 
			
		||||
# VRF for L2 network {{ vlan.name }}. Imports gateway from inside VRF.
 | 
			
		||||
router bgp {{ asn.asn }} vrf {{ vlan.name }}
 | 
			
		||||
  bgp bestpath as-path multipath-relax
 | 
			
		||||
| 
						 | 
				
			
			@ -218,7 +219,7 @@ ipv6 prefix-list default permit ::/0
 | 
			
		|||
ip prefix-list fabric permit 10.34.0.0/24 ge 32
 | 
			
		||||
ipv6 prefix-list fabric permit 2001:1470:fffd:3400::/64 ge 128
 | 
			
		||||
 | 
			
		||||
{% for vlan in my_vlans %}
 | 
			
		||||
{% for vlan in inside_vlans %}
 | 
			
		||||
{% set prefixes = query('netbox.netbox.nb_lookup', 'prefixes', api_filter='vlan_id='~vlan.id, raw_data=true) %}
 | 
			
		||||
{% for prefix in prefixes %}
 | 
			
		||||
{% if prefix.family.value == 4 %}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue