Skip to content

Commit 04769b5

Browse files
committed
Direct AWS IPv6 traffic in Dublin via Equinix
1 parent 44166d0 commit 04769b5

File tree

3 files changed

+39
-3
lines changed

3 files changed

+39
-3
lines changed

cookbooks/networking/recipes/default.rb

+2
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,14 @@
7878
node.default_unless[:networking][:interfaces][name][:inet][:prefix] = role[:inet][:prefix]
7979
node.default_unless[:networking][:interfaces][name][:inet][:gateway] = role[:inet][:gateway]
8080
node.default_unless[:networking][:interfaces][name][:inet][:routes] = role[:inet][:routes]
81+
node.default_unless[:networking][:interfaces][name][:inet][:rules] = role[:inet][:rules]
8182
end
8283

8384
if interface[:inet6] && role[:inet6]
8485
node.default_unless[:networking][:interfaces][name][:inet6][:prefix] = role[:inet6][:prefix]
8586
node.default_unless[:networking][:interfaces][name][:inet6][:gateway] = role[:inet6][:gateway]
8687
node.default_unless[:networking][:interfaces][name][:inet6][:routes] = role[:inet6][:routes]
88+
node.default_unless[:networking][:interfaces][name][:inet6][:rules] = role[:inet6][:rules]
8789
end
8890

8991
node.default_unless[:networking][:interfaces][name][:metric] = role[:metric]

cookbooks/networking/templates/default/network.erb

+34
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ Table=<%= @interface[:source_route_table] %>
5353
[RoutingPolicyRule]
5454
From=<%= @interface[:inet][:address] %>
5555
Table=<%= @interface[:source_route_table] %>
56+
Priority=1000
5657
<% end -%>
5758
<% end -%>
5859
<% if @interface.dig(:inet6, :gateway) && @interface[:inet6][:gateway] != @interface[:inet6][:address] -%>
@@ -76,6 +77,7 @@ Table=<%= @interface[:source_route_table] %>
7677
[RoutingPolicyRule]
7778
From=<%= @interface[:inet6][:address] %>
7879
Table=<%= @interface[:source_route_table] %>
80+
Priority=1000
7981
<% end -%>
8082
<% end -%>
8183
<% Hash(@interface.dig(:inet, :routes)).sort.each do |destination, details| -%>
@@ -110,3 +112,35 @@ Type=<%= details[:type] %>
110112
<% end -%>
111113
<% end -%>
112114
<% end -%>
115+
<% Array(@interface.dig(:inet, :rules)).each do |rule| -%>
116+
117+
[RoutingPolicyRule]
118+
<% if details[:from] -%>
119+
From=<%= details[:from] %>
120+
<% end -%>
121+
<% if details[:to] -%>
122+
To=<%= details[:to] %>
123+
<% end -%>
124+
<% if details[:table] -%>
125+
Table=<%= details[:table] %>
126+
<% end -%>
127+
<% if details[:priority] -%>
128+
Priority=<%= details[:priority] %>
129+
<% end -%>
130+
<% end -%>
131+
<% Array(@interface.dig(:inet6, :rules)).each do |rule| -%>
132+
133+
[RoutingPolicyRule]
134+
<% if details[:from] -%>
135+
From=<%= details[:from] %>
136+
<% end -%>
137+
<% if details[:to] -%>
138+
To=<%= details[:to] %>
139+
<% end -%>
140+
<% if details[:table] -%>
141+
Table=<%= details[:table] %>
142+
<% end -%>
143+
<% if details[:priority] -%>
144+
Priority=<%= details[:priority] %>
145+
<% end -%>
146+
<% end -%>

roles/equinix-dub.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
:external => {
2626
:zone => "dub",
2727
:inet6 => {
28-
:routes => {
29-
"2600:9000::/28" => { :type => "unreachable" }
30-
}
28+
:rules => [
29+
{ :to => "2600:9000::/28", :table => 150, :priority => 100 }
30+
]
3131
}
3232
}
3333
}

0 commit comments

Comments
 (0)