From 19063685455d8b56be46c44e9a7893c9ef049d0b Mon Sep 17 00:00:00 2001 From: Ossi Herrala Date: Mon, 6 Feb 2012 14:24:19 +0000 Subject: [PATCH 1/2] Make it possible to set IPv6 only default route in CentOS/Fedora. --- network/manifests/init.pp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/network/manifests/init.pp b/network/manifests/init.pp index 0ed1f6b..39e3598 100644 --- a/network/manifests/init.pp +++ b/network/manifests/init.pp @@ -230,22 +230,21 @@ define network::interface($ipaddr = "none", $eaddr = "none", $netmask = "none", # $device: # Interface to use for this route. # -define network::route($gateway = "NONE", $device, $ipv6gateway = "") { +define network::route($gateway, $device, $ipv6gateway = "") { case $name { "default": { - if "${gateway}" == "NONE" { - fail("Cannot set empty gateway for default route.") - } case $operatingsystem { centos,fedora: { include network::helper::restart - augeas { "set-default-route": - context => "/files/etc/sysconfig/network", - changes => [ "set GATEWAY ${gateway}", - "set GATEWAYDEV ${device}", ], - notify => Exec["restart-network"], - } + if "${gateway}" != "" { + augeas { "set-default-route": + context => "/files/etc/sysconfig/network", + changes => [ "set GATEWAY ${gateway}", + "set GATEWAYDEV ${device}", ], + notify => Exec["restart-network"], + } + } if "${ipv6gateway}" != "" { augeas { "set-default-ipv6-route": context => "/files/etc/sysconfig/network", From 9b2b56b53b7eeb8f1c796f1404014a97d2e1a888 Mon Sep 17 00:00:00 2001 From: Ossi Herrala Date: Mon, 6 Feb 2012 14:43:21 +0000 Subject: [PATCH 2/2] Change IPv4 gateway to empty string so IPv6 only default routes are possible. Add fail when trying to set custom IPv6 routes. Someone will fix it someday when there's need. --- network/manifests/init.pp | 5 ++++- network/templates/route-if.erb | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/network/manifests/init.pp b/network/manifests/init.pp index 39e3598..a955025 100644 --- a/network/manifests/init.pp +++ b/network/manifests/init.pp @@ -230,7 +230,7 @@ define network::interface($ipaddr = "none", $eaddr = "none", $netmask = "none", # $device: # Interface to use for this route. # -define network::route($gateway, $device, $ipv6gateway = "") { +define network::route($gateway = "", $device, $ipv6gateway = "") { case $name { "default": { @@ -283,6 +283,9 @@ define network::route($gateway, $device, $ipv6gateway = "") { } } default: { + if ipv6gateway != "" { + fail("Custom IPv6 routes not supported yet.") + } case $operatingsystem { "fedora","centos": { include network::helper::restart diff --git a/network/templates/route-if.erb b/network/templates/route-if.erb index 93baca6..0563de4 100644 --- a/network/templates/route-if.erb +++ b/network/templates/route-if.erb @@ -1,3 +1,3 @@ ADDRESS0=<%= name.split('/')[0] %> NETMASK0=<%= name.split('/')[1] %> -<% if gateway != "NONE" %>GATEWAY0=<%= gateway %><% end %> +<% if gateway != "" %>GATEWAY0=<%= gateway %><% end %>