2 Name=<%= @interface[:interface] %>
5 <% if @interface.dig(:inet6, :dhcp) -%>
8 <% if @interface[:inet] -%>
9 Address=<%= @interface[:inet][:address] %>/<%== @interface[:inet][:prefix] %>
11 <% if @interface[:inet6] -%>
12 Address=<%= @interface[:inet6][:address] %>/<%== @interface[:inet6][:prefix] %>
15 <% Array(@interface[:vlans]).sort.uniq.each do |vlan| -%>
16 VLAN=<%= @interface[:interface] %>.<%= vlan %>
18 <% if @interface[:interface] =~ /^bond\d+$/ && node[:packages][:systemd][:version].to_i < 254 -%>
21 RequiredFamilyForOnline=ipv4
22 RequiredForOnline=degraded-carrier
24 <% if @interface.dig(:inet6, :dhcp) -%>
27 <% if @interface[:inet6][:dhcp][:duidtype] -%>
28 DUIDType=<%= @interface[:inet6][:dhcp][:duidtype] %>
30 <% if @interface[:inet6][:dhcp][:duidrawdata] -%>
31 DUIDRawData=<%= @interface[:inet6][:dhcp][:duidrawdata] %>
35 <% if @interface.dig(:inet, :gateway) && @interface[:inet][:gateway] != @interface[:inet][:address] -%>
38 Gateway=<%= @interface[:inet][:gateway] %>
40 <% if @interface[:metric] -%>
41 Metric=<%= @interface[:metric] %>
43 <% if @interface[:source_route_table] -%>
46 Gateway=<%= @interface[:inet][:gateway] %>
48 <% if @interface[:metric] -%>
49 Metric=<%= @interface[:metric] %>
51 Table=<%= @interface[:source_route_table] %>
54 From=<%= @interface[:inet][:address] %>
55 Table=<%= @interface[:source_route_table] %>
59 <% if @interface.dig(:inet6, :gateway) && @interface[:inet6][:gateway] != @interface[:inet6][:address] -%>
62 Gateway=<%= @interface[:inet6][:gateway] %>
64 <% if @interface[:metric] -%>
65 Metric=<%= @interface[:metric] %>
67 <% if @interface[:source_route_table] -%>
70 Gateway=<%= @interface[:inet6][:gateway] %>
72 <% if @interface[:metric] -%>
73 Metric=<%= @interface[:metric] %>
75 Table=<%= @interface[:source_route_table] %>
78 From=<%= @interface[:inet6][:address] %>
79 Table=<%= @interface[:source_route_table] %>
83 <% Hash(@interface.dig(:inet, :routes)).sort.each do |destination, details| -%>
84 <% unless details[:via] == @interface[:inet][:address] -%>
87 <% if details[:via] -%>
88 Gateway=<%= details[:via] %>
90 Destination=<%= destination %>
91 <% if details[:metric] -%>
92 Metric=<%= details[:metric] %>
94 <% if details[:type] -%>
95 Type=<%= details[:type] %>
99 <% Hash(@interface.dig(:inet6, :routes)).sort.each do |destination, details| -%>
100 <% unless details[:via] == @interface[:inet6][:address] -%>
103 <% if details[:via] -%>
104 Gateway=<%= details[:via] %>
106 Destination=<%= destination %>
107 <% if details[:metric] -%>
108 Metric=<%= details[:metric] %>
110 <% if details[:type] -%>
111 Type=<%= details[:type] %>
115 <% Array(@interface.dig(:inet, :rules)).each do |rule| -%>
118 <% if rule[:from] -%>
119 From=<%= rule[:from] %>
124 <% if rule[:table] -%>
125 Table=<%= rule[:table] %>
127 <% if rule[:priority] -%>
128 Priority=<%= rule[:priority] %>
131 <% Array(@interface.dig(:inet6, :rules)).each do |rule| -%>
134 <% if rule[:from] -%>
135 From=<%= rule[:from] %>
140 <% if rule[:table] -%>
141 Table=<%= rule[:table] %>
143 <% if rule[:priority] -%>
144 Priority=<%= rule[:priority] %>