exit: determine uplink gateway address from interface address
So we can actually drop the gateway custom field from NetBox interfaces.
This commit is contained in:
		
							parent
							
								
									a2d7174829
								
							
						
					
					
						commit
						09eb030e32
					
				
					 1 changed files with 10 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -11,8 +11,16 @@ service integrated-vtysh-config
 | 
			
		|||
 | 
			
		||||
# Route to the outside world.
 | 
			
		||||
vrf outside
 | 
			
		||||
  ip route 0.0.0.0/0 {{ (interfaces | selectattr('name', '==', iface_uplink) | first).custom_fields.gateway.address | ipaddr('address') }} {{ iface_uplink }}
 | 
			
		||||
  ipv6 route ::/0 fe80::2 {{ iface_uplink }}
 | 
			
		||||
{# Add default routes for IPv4 and IPv6. Both are over link-local addresses. #}
 | 
			
		||||
{% set uplink = interfaces | selectattr('name', '==', iface_uplink) | first %}
 | 
			
		||||
{% for address in uplink.ip_addresses %}
 | 
			
		||||
{% set gateway = address.address | ipmath(1) %}
 | 
			
		||||
{% if address.family.value == 4 %}
 | 
			
		||||
  ip route 0.0.0.0/0 {{ gateway }} {{ iface_uplink }}
 | 
			
		||||
{% else %}
 | 
			
		||||
  ipv6 route ::/0 {{ gateway }} {{ iface_uplink }}
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
 | 
			
		||||
# Route installation into kernel fails (rarely) without this option.
 | 
			
		||||
# It is not documented anywhere and appears to be a Cumulus extension.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue