mirror of
https://github.com/Telecominfraproject/ols-ucentral-schema.git
synced 2025-10-29 17:22:23 +00:00
40 lines
1.7 KiB
Ucode
40 lines
1.7 KiB
Ucode
{% let afnames = ethernet.calculate_names(interface) %}
|
|
{% if (length(afnames) >= 2): %}
|
|
set network.{{ netdev }}=interface
|
|
set network.{{ netdev }}.ucentral_name={{ s(interface.name) }}
|
|
set network.{{ netdev }}.ucentral_path={{ s(location) }}
|
|
set network.{{ netdev }}.ifname={{ netdev }}
|
|
set network.{{ netdev }}.metric={{ interface.metric }}
|
|
set network.{{ netdev }}.proto=none
|
|
{% endif %}
|
|
{% for (let afidx, afname in afnames): %}
|
|
set network.{{ afname }}=interface
|
|
set network.{{ afname }}.ucentral_name={{ s(interface.name) }}
|
|
set network.{{ afname }}.ucentral_path={{ s(location) }}
|
|
set network.{{ afname }}.ifname={{ netdev }}
|
|
set network.{{ afname }}.metric={{ interface.metric }}
|
|
set network.{{ afname }}.mtu={{ interface.mtu }}
|
|
set network.{{ afname }}.type={{ interface.type }}
|
|
set network.{{ afname }}.auto={{ interface.auto_start }}
|
|
{% if (ipv4_mode == 'static' || ipv6_mode == 'static'): %}
|
|
set network.{{ afname }}.proto=static
|
|
{% elif ((length(afnames) == 1 || afidx == 0) && ipv4_mode == 'dynamic'): %}
|
|
set network.{{ afname }}.proto=dhcp
|
|
{% elif ((length(afnames) == 1 || afidx == 1) && ipv6_mode == 'dynamic'): %}
|
|
set network.{{ afname }}.proto=dhcpv6
|
|
{% else %}
|
|
set network.{{ afname }}.proto=none
|
|
{% endif %}
|
|
{% if (interface.role == "downstream" && ethernet.has_vlan(interface)): %}
|
|
add network rule
|
|
set network.@rule[-1].in={{ afname }}
|
|
set network.@rule[-1].lookup={{ routing_table.get(interface.vlan.id) }}
|
|
{% endif %}
|
|
{% if ((length(afnames) == 1 && ipv4_mode != 'none') || (afidx == 0 && ipv4_mode != 'none')): %}
|
|
{% include('ipv4.uc', { name: afname }) %}
|
|
{% endif %}
|
|
{% if ((length(afnames) == 1 && ipv6_mode != 'none') || (afidx == 1 && ipv6_mode != 'none')): %}
|
|
{% include('ipv6.uc', { name: afname }) %}
|
|
{% endif %}
|
|
{% endfor %}
|