#
-# Cookbook Name:: networking
+# Cookbook:: networking
# Recipe:: default
#
-# Copyright 2010, OpenStreetMap Foundation.
-# Copyright 2009, Opscode, Inc.
+# Copyright:: 2010, OpenStreetMap Foundation.
+# Copyright:: 2009, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
deviceplan["addresses"].push("#{interface[:address]}/#{prefix}")
+ if interface[:mtu]
+ deviceplan["mtu"] = interface[:mtu]
+ end
+
if interface[:bond]
deviceplan["interfaces"] = interface[:bond][:slaves].to_a
notifies :restart, "service[systemd-resolved]"
end
+if node[:networking][:tcp_fastopen_key]
+ fastopen_keys = data_bag_item("networking", "fastopen")
+
+ node.normal[:sysctl][:tcp_fastopen] = {
+ :comment => "Set shared key for TCP fast open",
+ :parameters => {
+ "net.ipv4.tcp_fastopen_key" => fastopen_keys[node[:networking][:tcp_fastopen_key]]
+ }
+ }
+end
+
node.interfaces(:role => :internal) do |interface|
if interface[:gateway] && interface[:gateway] != interface[:address]
search(:node, "networking_interfaces*address:#{interface[:gateway]}") do |gateway|
next unless gateway[:openvpn]
gateway[:openvpn][:tunnels].each_value do |tunnel|
- if tunnel[:peer][:address] # ~FC023
+ if tunnel[:peer][:address]
route tunnel[:peer][:address] do
netmask "255.255.255.255"
gateway interface[:gateway]