From 61c3a1d3a3950466d4e523b4b69a29a142ed8a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=E4kinen?= Date: Sun, 16 May 2010 14:54:52 +0300 Subject: [PATCH] Added IPv6 support for network module. --- network/manifests/init.pp | 7 ++++++- network/templates/hostname.if.erb | 5 +++++ network/templates/ifcfg-if.erb | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/network/manifests/init.pp b/network/manifests/init.pp index 072dd4c..412935f 100644 --- a/network/manifests/init.pp +++ b/network/manifests/init.pp @@ -34,6 +34,11 @@ class network::helper::restart { # if interface just needs to be brought up. Defaults to none. # $netmask: # Netmask for interface. Required only when $ipaddr is used. +# $ip6addr: +# IPv6 address for interface. Use auto for autoconfigured address. +# Defaults to none. +# $ip6netmask: +# IPv6 netmask length. Defaults to 64. # $options: # Custom options for interface (used only on OpenBSD). # @@ -44,7 +49,7 @@ class network::helper::restart { # netmask => "255.255.0.0", # } # -define network::interface($options = [], $ipaddr = "none", $netmask = "none") { +define network::interface($options = [], $ipaddr = "none", $netmask = "none", ip6addr = "none", ip6netmask = "64") { include network::helper::restart diff --git a/network/templates/hostname.if.erb b/network/templates/hostname.if.erb index 38c88a3..f5044dd 100644 --- a/network/templates/hostname.if.erb +++ b/network/templates/hostname.if.erb @@ -5,3 +5,8 @@ up <% else -%> inet <%= ipaddr %> <%= netmask %> NONE<% options.each do |val| %> <%= val %><% end %> <% end -%> +<% if ip6addr == 'auto' -%> +rtsol +<% elsif ip6addr != 'none' -%> +inet6 alias <%= ip6addr %> <%= ip6netmask %> +<% end -%> diff --git a/network/templates/ifcfg-if.erb b/network/templates/ifcfg-if.erb index 1767d7e..43ef11f 100644 --- a/network/templates/ifcfg-if.erb +++ b/network/templates/ifcfg-if.erb @@ -18,6 +18,11 @@ DHCPCLASS= PERSISTENT_DHCLIENT=yes NOZEROCONF=yes <% end -%> +<% if ip6addr == 'none' -%> +IPV6INIT=no +<% elsif ip6addr != 'auto' -%> +IPV6ADDR=<%= ip6addr %>/<%= ip6netmask %> +<% end -%> <% options.each do |val| -%> <%= val %> <% end -%>