WIP changes for VPLS Core

netbox
Daniel Ankers 2024-07-04 13:46:17 +01:00
parent 561e4edf38
commit d669ba6e43
1 changed files with 7 additions and 5 deletions

View File

@ -120,7 +120,7 @@ chassis {
{% if interface.mtu and not interface.lag %} {% if interface.mtu and not interface.lag %}
mtu {{ interface.mtu }}; mtu {{ interface.mtu }};
{% endif %} {% endif %}
{% if interface.tags.filter(name__in=['role:vpls-core','role:vpls-edge']).count() %} {% if interface.device.role.name in ['Provide Core'] %}
flexible-vlan-tagging; flexible-vlan-tagging;
native-vlan-id 1; native-vlan-id 1;
encapsulation flexible-ethernet-services; encapsulation flexible-ethernet-services;
@ -152,7 +152,7 @@ chassis {
{% endif %} {% endif %}
{% if interface.ip_addresses.count() > 0 %} {% if interface.ip_addresses.count() > 0 %}
unit 0 { unit 0 {
{% if interface.tags.filter(name__in=['role:vpls-core']).count() %} {% if interface.link_peers && interface.link_peers[0].device.role.name = 'Provider Core' %}
vlan-id 1; vlan-id 1;
{% endif %} {% endif %}
family inet { family inet {
@ -183,8 +183,8 @@ chassis {
storm-control default; storm-control default;
} }
} }
{% elif interface.device.role.name in ['Provider Core'] %} {% elif interface.device.role.name in ['Provider Core'] && interface.link_peers %}
{% if interface.tags.filter(name__in=['role:vpls-edge']).count() %} {% if interface.link_peers[0].device.role.name in ['Provider Edge'] %}
{% for vlan in interface.tagged_vlans %} {% for vlan in interface.tagged_vlans %}
unit {{ vlan.vid }} { unit {{ vlan.vid }} {
encapsulation vlan-vpls; encapsulation vlan-vpls;
@ -201,8 +201,10 @@ chassis {
interfaces { interfaces {
{% if device.role.name in ['Provider Core'] %} {% if device.role.name in ['Provider Core'] %}
interface-range core-mpls { interface-range core-mpls {
{% for interface in device.interfaces.filter(tags__name='role:vpls-core') %} {% for interface in device.interfaces.filter(cable__isnull=False) %}
{% if interface.link_peers && interface.link_peers[0].device.role.name in ['Provider Core'] %}
member {{ interface }}; member {{ interface }};
{% endif %}
{% endfor %} {% endfor %}
unit 0 { unit 0 {
family inet; family inet;