]> git.openstreetmap.org Git - chef.git/blob - cookbooks/networking/templates/default/network.erb
Add support for using fullstaq ruby
[chef.git] / cookbooks / networking / templates / default / network.erb
1 [Match]
2 Name=<%= @interface[:interface] %>
3
4 [Network]
5 <% if @interface.dig(:inet6, :dhcp) -%>
6 DHCP=ipv6
7 <% end -%>
8 <% if @interface[:inet] -%>
9 Address=<%= @interface[:inet][:address] %>/<%== @interface[:inet][:prefix] %>
10 <% end -%>
11 <% if @interface[:inet6] -%>
12 Address=<%= @interface[:inet6][:address] %>/<%== @interface[:inet6][:prefix] %>
13 <% end -%>
14 IPv6AcceptRA=no
15 <% Array(@interface[:vlans]).sort.uniq.each do |vlan| -%>
16 VLAN=<%= @interface[:interface] %>.<%= vlan %>
17 <% end -%>
18 <% if @interface[:interface] =~ /^bond\d+$/ && node[:packages][:systemd][:version].to_i < 254 -%>
19
20 [Link]
21 RequiredFamilyForOnline=ipv4
22 RequiredForOnline=degraded-carrier
23 <% end -%>
24 <% if @interface.dig(:inet6, :dhcp) -%>
25
26 [DHCPv6]
27 <% if @interface[:inet6][:dhcp][:duidtype] -%>
28 DUIDType=<%= @interface[:inet6][:dhcp][:duidtype] %>
29 <% end -%>
30 <% if @interface[:inet6][:dhcp][:duidrawdata] -%>
31 DUIDRawData=<%= @interface[:inet6][:dhcp][:duidrawdata] %>
32 <% end -%>
33 WithoutRA=solicit
34 <% end -%>
35 <% if @interface.dig(:inet, :gateway) && @interface[:inet][:gateway] != @interface[:inet][:address] -%>
36
37 [Route]
38 Gateway=<%= @interface[:inet][:gateway] %>
39 GatewayOnLink=true
40 <% if @interface[:metric] -%>
41 Metric=<%= @interface[:metric] %>
42 <% end -%>
43 <% if @interface[:source_route_table] -%>
44
45 [Route]
46 Gateway=<%= @interface[:inet][:gateway] %>
47 GatewayOnLink=true
48 <% if @interface[:metric] -%>
49 Metric=<%= @interface[:metric] %>
50 <% end -%>
51 Table=<%= @interface[:source_route_table] %>
52
53 [RoutingPolicyRule]
54 From=<%= @interface[:inet][:address] %>
55 Table=<%= @interface[:source_route_table] %>
56 Priority=1000
57 <% end -%>
58 <% end -%>
59 <% if @interface.dig(:inet6, :gateway) && @interface[:inet6][:gateway] != @interface[:inet6][:address] -%>
60
61 [Route]
62 Gateway=<%= @interface[:inet6][:gateway] %>
63 GatewayOnLink=true
64 <% if @interface[:metric] -%>
65 Metric=<%= @interface[:metric] %>
66 <% end -%>
67 <% if @interface[:source_route_table] -%>
68
69 [Route]
70 Gateway=<%= @interface[:inet6][:gateway] %>
71 GatewayOnLink=true
72 <% if @interface[:metric] -%>
73 Metric=<%= @interface[:metric] %>
74 <% end -%>
75 Table=<%= @interface[:source_route_table] %>
76
77 [RoutingPolicyRule]
78 From=<%= @interface[:inet6][:address] %>
79 Table=<%= @interface[:source_route_table] %>
80 Priority=1000
81 <% end -%>
82 <% end -%>
83 <% Hash(@interface.dig(:inet, :routes)).sort.each do |destination, details| -%>
84 <% unless details[:via] == @interface[:inet][:address] -%>
85
86 [Route]
87 <% if details[:via] -%>
88 Gateway=<%= details[:via] %>
89 <% end -%>
90 Destination=<%= destination %>
91 <% if details[:metric] -%>
92 Metric=<%= details[:metric] %>
93 <% end -%>
94 <% if details[:type] -%>
95 Type=<%= details[:type] %>
96 <% end -%>
97 <% end -%>
98 <% end -%>
99 <% Hash(@interface.dig(:inet6, :routes)).sort.each do |destination, details| -%>
100 <% unless details[:via] == @interface[:inet6][:address] -%>
101
102 [Route]
103 <% if details[:via] -%>
104 Gateway=<%= details[:via] %>
105 <% end -%>
106 Destination=<%= destination %>
107 <% if details[:metric] -%>
108 Metric=<%= details[:metric] %>
109 <% end -%>
110 <% if details[:type] -%>
111 Type=<%= details[:type] %>
112 <% end -%>
113 <% end -%>
114 <% end -%>
115 <% Array(@interface.dig(:inet, :rules)).each do |rule| -%>
116
117 [RoutingPolicyRule]
118 <% if rule[:from] -%>
119 From=<%= rule[:from] %>
120 <% end -%>
121 <% if rule[:to] -%>
122 To=<%= rule[:to] %>
123 <% end -%>
124 <% if rule[:table] -%>
125 Table=<%= rule[:table] %>
126 <% end -%>
127 <% if rule[:priority] -%>
128 Priority=<%= rule[:priority] %>
129 <% end -%>
130 <% end -%>
131 <% Array(@interface.dig(:inet6, :rules)).each do |rule| -%>
132
133 [RoutingPolicyRule]
134 <% if rule[:from] -%>
135 From=<%= rule[:from] %>
136 <% end -%>
137 <% if rule[:to] -%>
138 To=<%= rule[:to] %>
139 <% end -%>
140 <% if rule[:table] -%>
141 Table=<%= rule[:table] %>
142 <% end -%>
143 <% if rule[:priority] -%>
144 Priority=<%= rule[:priority] %>
145 <% end -%>
146 <% end -%>