6a9c058a92
This reverts commit 90a849ea85
.
#### Why I did it
The interfaces unit test did not cover some of the conditions in interfaces.j2 that was changed in #11204. Therefore reverting the change and add the tests before making the change to interfaces.j2.
#### How I did it
Git revert.
#### How to verify it
#### Which release branch to backport (provide reason below if selected)
- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
#### Description for the changelog
#### Link to config_db schema for YANG module changes
#### A picture of a cute animal (not mandatory but encouraged)
110 lines
4.0 KiB
Django/Jinja
110 lines
4.0 KiB
Django/Jinja
#
|
|
{% block banner %}
|
|
# =============== Managed by SONiC Config Engine DO NOT EDIT! ===============
|
|
# generated from /usr/share/sonic/templates/interfaces.j2 using sonic-cfggen
|
|
# file: /etc/network/interfaces
|
|
#
|
|
{% endblock banner %}
|
|
{% block mgmt_vrf %}
|
|
{% if (MGMT_VRF_CONFIG) and (MGMT_VRF_CONFIG['vrf_global']['mgmtVrfEnabled'] == "true") %}
|
|
auto mgmt
|
|
iface mgmt
|
|
vrf-table 5000
|
|
# The loopback network interface for mgmt VRF that is required for applications like NTP
|
|
up ip link add lo-m type dummy
|
|
up ip link set dev lo-m master mgmt
|
|
up ip addr add 127.0.0.1/16 dev lo-m
|
|
up ip link set lo-m up
|
|
down ip link delete dev lo-m
|
|
{% endif %}
|
|
{% endblock mgmt_vrf %}
|
|
{% block loopback %}
|
|
# The loopback network interface
|
|
auto lo
|
|
iface lo inet loopback
|
|
address 127.0.0.1
|
|
netmask 255.255.0.0
|
|
scope host
|
|
post-up ip addr del 127.0.0.1/8 dev lo
|
|
{% endblock loopback %}
|
|
{% block mgmt_interface %}
|
|
|
|
# The management network interface
|
|
auto eth0
|
|
{% if (ZTP_DHCP_DISABLED is not defined) and (ZTP is defined) and (ZTP['mode'] is defined and ZTP['mode']['profile'] == 'active') %}
|
|
|
|
|
|
# ZTP out-of-band interface
|
|
allow-hotplug eth0
|
|
{% if ZTP['mode']['ipv4'] == 'true' %}
|
|
iface eth0 inet dhcp
|
|
{% endif %}
|
|
{% if ZTP['mode']['ipv6'] == 'true' %}
|
|
iface eth0 inet6 dhcp
|
|
up sysctl net.ipv6.conf.eth0.accept_ra=1
|
|
down sysctl net.ipv6.conf.eth0.accept_ra=0
|
|
{% endif %}
|
|
|
|
{% if ZTP['mode']['inband'] == 'true' %}
|
|
{% for port in PORT %}
|
|
|
|
# ZTP in-band interface {{ port }}
|
|
auto {{ port }}
|
|
allow-hotplug {{ port }}
|
|
{% if PORT_DATA['PORT_TABLE:'+port] is defined and PORT_DATA['PORT_TABLE:'+port]['value']['oper_status'] == 'up' %}
|
|
{% if ZTP['mode']['ipv4'] == 'true' %}
|
|
iface {{ port }} inet dhcp
|
|
{% endif %}
|
|
{% if ZTP['mode']['ipv6'] == 'true' %}
|
|
iface {{ port }} inet6 dhcp
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
{% if MGMT_INTERFACE %}
|
|
{% for (name, prefix) in MGMT_INTERFACE|pfx_filter %}
|
|
iface eth0 {{ 'inet' if prefix | ipv4 else 'inet6' }} static
|
|
address {{ prefix | ip }}
|
|
netmask {{ prefix | netmask if prefix | ipv4 else prefix | prefixlen }}
|
|
network {{ prefix | network }}
|
|
broadcast {{ prefix | broadcast }}
|
|
{% set vrf_table = 'default' %}
|
|
{% if (MGMT_VRF_CONFIG) and (MGMT_VRF_CONFIG['vrf_global']['mgmtVrfEnabled'] == "true") %}
|
|
{% set vrf_table = '5000' %}
|
|
vrf mgmt
|
|
{% endif %}
|
|
########## management network policy routing rules
|
|
# management port up rules
|
|
up ip {{ '-4' if prefix | ipv4 else '-6' }} route add default via {{ MGMT_INTERFACE[(name, prefix)]['gwaddr'] }} dev eth0 table {{ vrf_table }} metric 201
|
|
up ip {{ '-4' if prefix | ipv4 else '-6' }} route add {{ prefix | network }}/{{ prefix | prefixlen }} dev eth0 table {{ vrf_table }}
|
|
up ip {{ '-4' if prefix | ipv4 else '-6' }} rule add pref 32765 from {{ prefix | ip }}/{{ '32' if prefix | ipv4 else '128' }} table {{ vrf_table }}
|
|
{% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %}
|
|
up ip rule add pref 32764 to {{ route }} table {{ vrf_table }}
|
|
{% endfor %}
|
|
# management port down rules
|
|
pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} route delete default via {{ MGMT_INTERFACE[(name, prefix)]['gwaddr'] }} dev eth0 table {{ vrf_table }}
|
|
pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} route delete {{ prefix | network }}/{{ prefix | prefixlen }} dev eth0 table {{ vrf_table }}
|
|
pre-down ip {{ '-4' if prefix | ipv4 else '-6' }} rule delete pref 32765 from {{ prefix | ip }}/{{ '32' if prefix | ipv4 else '128' }} table {{ vrf_table }}
|
|
{% for route in MGMT_INTERFACE[(name, prefix)]['forced_mgmt_routes'] %}
|
|
pre-down ip rule delete pref 32764 to {{ route }} table {{ vrf_table }}
|
|
{% endfor %}
|
|
{# TODO: COPP policy type rules #}
|
|
{% endfor %}
|
|
{% else %}
|
|
iface eth0 inet dhcp
|
|
metric 202
|
|
{% if (MGMT_VRF_CONFIG) and (MGMT_VRF_CONFIG['vrf_global']['mgmtVrfEnabled'] == "true") %}
|
|
vrf mgmt
|
|
{% endif %}
|
|
iface eth0 inet6 dhcp
|
|
up sysctl net.ipv6.conf.eth0.accept_ra=1
|
|
down sysctl net.ipv6.conf.eth0.accept_ra=0
|
|
{% endif %}
|
|
{% endif %}
|
|
#
|
|
source /etc/network/interfaces.d/*
|
|
#
|
|
{% endblock mgmt_interface %}
|