1 # DO NOT EDIT - This file is being maintained by Chef
4 <% node[:networking][:interfaces].each do |name,interface| -%>
6 iface <%= interface[:interface] %> <%= interface[:family] %> <%= interface[:method] %>
7 <% if interface[:address] -%>
8 address <%= interface[:address] %>
10 <% if interface[:family] == "inet" -%>
11 netmask <%= interface[:netmask] %>
12 <% elsif interface[:family] == "inet6" -%>
13 netmask <%= interface[:prefix] %>
15 <% if interface[:hwaddress] -%>
16 hwaddress <%= interface[:hwaddress] %>
18 <% if interface[:gateway] -%>
19 <% if interface[:network].include?(interface[:gateway]) or IPAddr.new("fe80::/64").include?(interface[:gateway]) -%>
20 gateway <%= interface[:gateway] %>
21 metric <%= interface[:metric] %>
23 post-up /sbin/ip -f <%= interface[:family] %> route add <%= interface[:gateway] %> dev <%= interface[:interface] %>
24 post-up /sbin/ip -f <%= interface[:family] %> route add default metric <%= interface[:metric] %> via <%= interface[:gateway] %>
25 pre-down /sbin/ip -f <%= interface[:family] %> route del default metric <%= interface[:metric] %> via <%= interface[:gateway] %>
26 pre-down /sbin/ip -f <%= interface[:family] %> route del <%= interface[:gateway] %> dev <%= interface[:interface] %>
29 <% if interface[:mtu] -%>
30 mtu <%= interface[:mtu] %>
32 <% if interface[:family] == "inet6" -%>
37 auto lo <%= node[:networking][:interfaces].collect { |n,i| i[:interface] }.sort.uniq.join(" ") %>