From: Dobrica Pavlinusic Date: Tue, 25 Aug 2009 17:09:52 +0000 (+0000) Subject: server::setup_from_dev will take configuration from existing device X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=fb44217dac26bfecdd251d266e041a59f2843e6a;p=pxelator server::setup_from_dev will take configuration from existing device --- diff --git a/lib/PXElator/network.pm b/lib/PXElator/network.pm index 40fa69f..b8faed9 100644 --- a/lib/PXElator/network.pm +++ b/lib/PXElator/network.pm @@ -26,7 +26,7 @@ sub setup { system "brctl setfd virtual 0"; system("/sbin/ifconfig virtual $server::ip netmask $server::netmask") == 0 || warn "W: $!"; } else { - warn "OK $ifconfig\n"; + server::setup_from_dev( 'virtual' ); } if ( my $dev = ip::default_route_dev() ) { system "sudo sysctl -w net.ipv4.ip_forward=1"; diff --git a/lib/PXElator/server.pm b/lib/PXElator/server.pm index 5b66227..ca57c60 100644 --- a/lib/PXElator/server.pm +++ b/lib/PXElator/server.pm @@ -8,12 +8,15 @@ our $ip = '172.16.10.1'; our $netmask = '255.255.255.0'; our $bcast = '172.16.10.255'; -if ( my $dev = $ENV{DEV} ) { - my $ifconfig = `ifconfig $dev`; +sub setup_from_dev { + my $dev = shift || return; + my $ifconfig = `/sbin/ifconfig $dev`; ( $ip, $bcast, $netmask ) = ( $1, $2, $3 ) if $ifconfig =~ m{inet addr:(\S+)\s+Bcast:(\S+)\s+Mask:(\S+)}s; warn "DEV $dev $ip $bcast $netmask"; } +setup_from_dev( $ENV{DEV} || 'virtual' ); + our ( $ip_from, $ip_to ) = ( 10, 100 ); our $domain_name = 'pxelator.lan';