make it possible to also overwrite the address that is exported

This commit is contained in:
mh 2016-02-25 16:23:02 +01:00
parent f42cfb8453
commit 849c4dba1f
2 changed files with 17 additions and 9 deletions

View file

@ -4,6 +4,7 @@ define tinc::instance(
$connect_on_boot = true, $connect_on_boot = true,
$tinc_interface = 'eth0', $tinc_interface = 'eth0',
$tinc_address = undef, $tinc_address = undef,
$tinc_address_to_export = undef,
$port = '655', $port = '655',
$port_to_export = '655', $port_to_export = '655',
$compression = '10', $compression = '10',
@ -95,6 +96,11 @@ define tinc::instance(
$int_name_escaped = regsubst($tinc_interface,'\.','_','G') $int_name_escaped = regsubst($tinc_interface,'\.','_','G')
$host_address = getvar("::ipaddress_${int_name_escaped}") $host_address = getvar("::ipaddress_${int_name_escaped}")
} }
if $tinc_address_to_export {
$export_addr = $tinc_address_to_export
} else {
$export_addr = $host_address
}
# get the keys # get the keys
# [ priv, pub ] # [ priv, pub ]
@ -117,7 +123,7 @@ define tinc::instance(
@@tinc::host{"${fqdn_tinc}@${name}": @@tinc::host{"${fqdn_tinc}@${name}":
port => $port_to_export, port => $port_to_export,
compression => $compression, compression => $compression,
address => $host_address, address => $export_addr,
public_key => $tinc_keys[1], public_key => $tinc_keys[1],
tag => "tinc::host_for_${name}", tag => "tinc::host_for_${name}",
} }

View file

@ -5,6 +5,7 @@ define tinc::switch(
$tinc_interface = 'eth0', $tinc_interface = 'eth0',
$tinc_address = undef, $tinc_address = undef,
$port = '655', $port = '655',
$tinc_address_to_export = undef,
$port_to_export = '655', $port_to_export = '655',
$tinc_internal_interface = 'eth1', $tinc_internal_interface = 'eth1',
$tinc_internal_ip = 'absent', $tinc_internal_ip = 'absent',
@ -15,14 +16,15 @@ define tinc::switch(
){ ){
tinc::instance{$name: tinc::instance{$name:
ensure => $ensure, ensure => $ensure,
connect_on_boot => $connect_on_boot, connect_on_boot => $connect_on_boot,
tinc_interface => $tinc_interface, tinc_interface => $tinc_interface,
tinc_address => $tinc_address, tinc_address => $tinc_address,
port => $port, tinc_address_to_export => $tinc_address_to_export,
port_to_export => $port_to_export, port => $port,
compression => $compression, port_to_export => $port_to_export,
mode => 'switch', compression => $compression,
mode => 'switch',
} }
if $ensure == 'present' { if $ensure == 'present' {