From d669ba6e4331bde8c802a86ff667c200c9be3a53 Mon Sep 17 00:00:00 2001 From: Daniel Ankers Date: Thu, 4 Jul 2024 13:46:17 +0100 Subject: [PATCH] WIP changes for VPLS Core --- juniper-macros.j2 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/juniper-macros.j2 b/juniper-macros.j2 index 2229180..39b78ef 100644 --- a/juniper-macros.j2 +++ b/juniper-macros.j2 @@ -120,7 +120,7 @@ chassis { {% if interface.mtu and not interface.lag %} mtu {{ interface.mtu }}; {% 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; native-vlan-id 1; encapsulation flexible-ethernet-services; @@ -152,7 +152,7 @@ chassis { {% endif %} {% if interface.ip_addresses.count() > 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; {% endif %} family inet { @@ -183,8 +183,8 @@ chassis { storm-control default; } } -{% elif interface.device.role.name in ['Provider Core'] %} -{% if interface.tags.filter(name__in=['role:vpls-edge']).count() %} +{% elif interface.device.role.name in ['Provider Core'] && interface.link_peers %} +{% if interface.link_peers[0].device.role.name in ['Provider Edge'] %} {% for vlan in interface.tagged_vlans %} unit {{ vlan.vid }} { encapsulation vlan-vpls; @@ -201,8 +201,10 @@ chassis { interfaces { {% if device.role.name in ['Provider Core'] %} 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 }}; +{% endif %} {% endfor %} unit 0 { family inet;