]> git.llucax.com Git - z.facultad/75.43/tp2.git/blobdiff - makeroute
agrego padrones
[z.facultad/75.43/tp2.git] / makeroute
index 1cd184ba71026d88326e54ce2a63d072da5d92b8..0c0040219c6911953bbacc3a14d21fe7e88d9c4d 100755 (executable)
--- a/makeroute
+++ b/makeroute
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # vim: set et sw=4 sts=4 :
 
-import sys
+import sys, os
 
 def get_campos(line):
     r = []
@@ -50,20 +50,33 @@ def up(host):
     hosts = parse(sys.stdin)
     for iface in hosts[host]['ifaces']:
         if not iface['iface'].startswith('ppp'):
-            print 'ifconfig %(iface)s %(ip)s broadcast %(broadcast)s netmask %(mascara)s' % iface
+            print 'UP: ifconfig %(iface)s %(ip)s broadcast %(broadcast)s netmask %(mascara)s' % iface
+            os.system('ifconfig %(iface)s %(ip)s broadcast %(broadcast)s netmask %(mascara)s' % iface)
     for ruta in hosts[host]['rutas']:
         if ruta['metrica'] <> "0":
-            print 'route add -net %(ip)s gw %(gateway)s netmask %(mascara)s dev %(iface)s metric %(metrica)s' % ruta
+            print 'UP: route add -net %(ip)s gw %(gateway)s netmask %(mascara)s dev %(iface)s metric %(metrica)s' % ruta
+            os.system('route add -net %(ip)s gw %(gateway)s netmask %(mascara)s dev %(iface)s metric %(metrica)s' % ruta)
 
 def down(host):
     hosts = parse(sys.stdin)
     for iface in hosts[host]['ifaces']:
         if not iface['iface'].startswith('ppp'):
-            print 'ifconfig %(iface)s down' % iface
+            print 'DOWN: ifconfig %(iface)s down' % iface
+            os.system('ifconfig %(iface)s down' % iface)
+
+def list():
+    hosts = parse(sys.stdin)
+    for host in hosts.keys():
+        print host
 
 if __name__ == '__main__':
+    if len(sys.argv) < 2:
+        print >>sys.stderr, 'Uso: %s [up|down] host' % sys.argv[0]
+        sys.exit(1)
     if sys.argv[1] == 'up':
         up(sys.argv[2])
     elif sys.argv[1] == 'down':
         down(sys.argv[2])
+    elif sys.argv[1] == 'list':
+        list()