]> git.openstreetmap.org Git - chef.git/blob - cookbooks/networking/templates/default/interfaces.erb
Drop redesign.apis.dev.openstreetmap.org
[chef.git] / cookbooks / networking / templates / default / interfaces.erb
1 # DO NOT EDIT - This file is being maintained by Chef
2
3 iface lo inet loopback
4 <% node[:networking][:interfaces].each do |name,interface| -%>
5
6 iface <%= interface[:interface] %> <%= interface[:family] %> static
7       address   <%= interface[:address] %>
8 <% if interface[:family] == "inet" -%>
9       netmask   <%= interface[:netmask] %>
10 <% elsif interface[:family] == "inet6" -%>
11       netmask   <%= interface[:prefix] %>
12 <% end -%>
13 <% if interface[:hwaddress] -%>
14       hwaddress <%= interface[:hwaddress] %>
15 <% end -%>
16 <% if interface[:gateway] -%>
17 <% if interface[:network].include?(interface[:gateway]) or IPAddr.new("fe80::/64").include?(interface[:gateway]) -%>
18       gateway   <%= interface[:gateway] %>
19       metric    <%= interface[:metric] %>
20 <% else -%>
21       post-up   /sbin/ip -f <%= interface[:family] %> route add <%= interface[:gateway] %> dev <%= interface[:interface] %>
22       post-up   /sbin/ip -f <%= interface[:family] %> route add default metric <%= interface[:metric] %> via <%= interface[:gateway] %>
23       pre-down  /sbin/ip -f <%= interface[:family] %> route del default metric <%= interface[:metric] %> via <%= interface[:gateway] %>
24       pre-down  /sbin/ip -f <%= interface[:family] %> route del <%= interface[:gateway] %> dev <%= interface[:interface] %>
25 <% end -%>
26 <% end -%>
27 <% if interface[:mtu] -%>
28       mtu       <%= interface[:mtu] %>
29 <% end -%>
30 <% if interface[:family] == "inet6" -%>
31       autoconf  0
32 <% end -%>
33 <% end -%>
34
35 auto lo <%= node[:networking][:interfaces].collect { |n,i| i[:interface] }.sort.uniq.join(" ") %>