{# SPDX-License-Identifier: Apache-2.0 #} {# Copyright (C) 2025 Marcin Zieba #} {# Lazy-loaded fragment: SVIs / IRBs (L3 VLAN interfaces, M35) — paginated from last-synced state. #}
{% include "netbox_nso_plugin/categories/_adapter_error.html" %}
{% include "netbox_nso_plugin/categories/_cat_search.html" with placeholder=placeholder q=q %} {% if svi_states %}

Edit the VRF inline. Interface, SVI/IRB type, and VLAN form the structural identity; IP addresses remain on the linked interface.

{% for s in svi_states %} {% endfor %}
InterfaceVRFStatusLast Synced
{{ s.interface.name }}
{{ s.svi_type|upper }} · {% if s.vlan %}VID {{ s.vlan.vid }}{% else %}no VLAN{% endif %}
{% url 'plugins:netbox_nso_plugin:overlay_field_edit' key='svi' pk=s.pk as svi_edit_url %} {{ s.vrf|default:"global" }} {% include "netbox_nso_plugin/categories/_state_badge.html" with status=s.status residue=s.residue_survivor residue_job=s.residue_job_id %} {% if s.last_sync_at %}{{ s.last_sync_at|date:"Y-m-d H:i" }}{% else %}—{% endif %} {% url 'plugins:netbox_nso_plugin:svi_accept' pk=s.pk as accept_url %}{% include "netbox_nso_plugin/categories/_accept_cell.html" with accept_url=accept_url status=s.status form_class="nso-row-form" title="Make NetBox the source of truth for this SVI (re-materialised on the device on Apply)" %}
{% include "netbox_nso_plugin/categories/_cat_pager.html" with page=page %} {% else %}

No SVIs / IRBs{% if q %} matching “{{ q }}”{% else %} reported for this device{% endif %}.

{% endif %}