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[:table] -%>
95 Table=<%= details[:table] %>
97 <% if details[:type] -%>
98 Type=<%= details[:type] %>
102 <% Hash(@interface.dig(:inet6, :routes)).sort.each do |destination, details| -%>
103 <% unless details[:via] == @interface[:inet6][:address] -%>
106 <% if details[:via] -%>
107 Gateway=<%= details[:via] %>
109 Destination=<%= destination %>
110 <% if details[:metric] -%>
111 Metric=<%= details[:metric] %>
113 <% if details[:table] -%>
114 Table=<%= details[:table] %>
116 <% if details[:type] -%>
117 Type=<%= details[:type] %>
121 <% Array(@interface.dig(:inet, :rules)).each do |rule| -%>
124 <% if rule[:from] -%>
125 From=<%= rule[:from] %>
130 <% if rule[:table] -%>
131 Table=<%= rule[:table] %>
133 <% if rule[:priority] -%>
134 Priority=<%= rule[:priority] %>
137 <% Array(@interface.dig(:inet6, :rules)).each do |rule| -%>
140 <% if rule[:from] -%>
141 From=<%= rule[:from] %>
146 <% if rule[:table] -%>
147 Table=<%= rule[:table] %>
149 <% if rule[:priority] -%>
150 Priority=<%= rule[:priority] %>