/[pxelator]/lib/PXElator/network.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/PXElator/network.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 99 by dpavlin, Fri Jul 31 21:42:10 2009 UTC revision 179 by dpavlin, Sun Aug 9 16:37:46 2009 UTC
# Line 14  sub ifconfig { Line 14  sub ifconfig {
14    
15  sub tap {  sub tap {
16    
17            if ( my $dev = $ENV{DEV} ) {
18                    warn "W: running under device $dev, not configuring tap0\n";
19                    return;
20            }
21    
22            if ( $server::ip !~ m{^172} ) {
23                    warn "W: server ip mismetch, not configuring tap0\n";
24                    return;
25            }
26    
27          my $interfaces = read_file '/etc/network/interfaces';          my $interfaces = read_file '/etc/network/interfaces';
28    
29          if ( $interfaces !~ m{tap0.*$server::ip}s ) {          if ( $interfaces !~ m{tap0}s ) {
30    
31                  system "sudo apt-get install vde2";                  system "sudo apt-get install vde2";
32    
# Line 27  iface tap0 inet static Line 37  iface tap0 inet static
37          address $server::ip          address $server::ip
38          netmask $server::netmask          netmask $server::netmask
39          vde2-switch -          vde2-switch -
40            # setup NAT for vde network
41            post-up sysctl -w net.ipv4.ip_forward=1
42            post-up iptables -t nat -A POSTROUTING -s $server::ip/$server::netmask -o wlan0 -j MASQUERADE
43    
44                  };                  };
45    
# Line 40  iface tap0 inet static Line 53  iface tap0 inet static
53                   $ifconfig =~ m{$server::ip}s && return 'up';                   $ifconfig =~ m{$server::ip}s && return 'up';
54                  system("sudo /sbin/ifconfig tap0 $server::ip netmask $server::netmask") == 0 && return "ip changed $server::ip";                  system("sudo /sbin/ifconfig tap0 $server::ip netmask $server::netmask") == 0 && return "ip changed $server::ip";
55                  die "can't change IP address of tap0 to $server::ip";                  die "can't change IP address of tap0 to $server::ip";
56            } else {
57                    die "bring interface up with: sudo ifup tap0\n";
58          }          }
         system("sudo ifup tap0") == 0                           &&      return 'started';  
         die "can't start tap0: $!";  
59  }  }
60    
61  1;  1;

Legend:
Removed from v.99  
changed lines
  Added in v.179

  ViewVC Help
Powered by ViewVC 1.1.26