]> git.entuzijast.net Git - imunes.git/commitdiff
izbrisani neki nepotrebni komadi koda, popravljena indentacija i neke manje sintaktic...
authorKosta Pribić <kosta.pribic@gmail.com>
Sat, 17 Oct 2009 11:03:57 +0000 (13:03 +0200)
committerKosta Pribić <kosta.pribic@gmail.com>
Sat, 17 Oct 2009 11:03:57 +0000 (13:03 +0200)
linux/exec.tcl
linux/quagga.tcl

index 14e8057e8f43f131c0846cfe9d7fe3103b13f845..c0634229661cf9e2822ea4f6e3a54af8a62072fd 100755 (executable)
@@ -253,13 +253,6 @@ proc statline {line} {
 #****
 proc createIfc { eid type hook } {
     puts "usli u createIfc $eid $type $hook"
-
-# FreeBSD-specific:
-#    puts "    izvrsili bismo exec printf mkpeer $type $hook $hook \n show .$hook | vimage $eid ngctl -f -"
-#    puts "    izvadili bi drugi element iz toga"
-#    return fake_if_id
-#    catch { exec printf "mkpeer $type $hook $hook \n show .$hook" | vimage $eid ngctl -f - } nglist
-#    return [lindex $nglist 1]
 }
 
 
@@ -305,8 +298,6 @@ proc l3node.instantiate { eid node } {
 #    puts "    nexec vimage $node_id hostname [getNodeName $node]      "
     nexec vzctl set $node_id --hostname [getNodeName $node] --save
 
-# feature FreeBSD-a only (expandanje @ u symlinkovima kao node id)
-#    puts "    nexec vimage $node_id sysctl vfs.morphing_symlinks=1    "
 
 # TODO: OpenVZ CPU tuning
 #    set cpuconf [getNodeCPUConf $node]
@@ -323,13 +314,6 @@ proc l3node.instantiate { eid node } {
 #      puts "  nexec vimage -m $node_id cpuweight $cpuweight   "
 #    }
 
-# FreeBSD-only
-#      puts "  
-#    nexec vimage $node_id sysctl net.inet.icmp.bmcastecho=1
-#    nexec vimage $node_id sysctl net.inet.icmp.icmplim=0
-#    nexec vimage $node_id ifconfig lo0 inet localhost
-#    nexec vimage $node_id route add 224.0.0.0/4 localhost
-#                                                              "
 }
 
 
@@ -409,11 +393,8 @@ proc l3node.start { eid node } {
     foreach ifc [ifcList $node] {
        switch -exact [string range $ifc 0 2] {
            eth {
-# FreeBSD-specific:
-#              puts "  nexec vimage $eid vimage -i $node $ifid $ifc    "
-# na Linux/OpenVZ ne moramo napraviti nista slicno createIfc/vimage
-# nego sami postavljamo ifid
-               set ifid "e${node_id}_${ifc}"
+        #OpenVZ - jednostavno postavimo ifid
+       set ifid "e${node_id}_${ifc}"
 
                set peer [peerByIfc $node $ifc]
 
@@ -446,14 +427,7 @@ proc l3node.start { eid node } {
        }
     }
 
-# na FreeBSD-u vimagei imaju shared filesystem
-#    set node_dir "/tmp/$eid/$node"
-#    puts "    would recreate node_dir (/tmp/$eid/$node)"
-#    nexec rm -fr $node_dir
-#    nexec mkdir $node_dir
-#    nexec chmod 1777 $node_dir
-
-# na Linuxu VEovi imaju svaki svoj dir
+    # na Linuxu VEovi imaju svaki svoj dir
     set node_dir $ve_dir
 
 # TODO: konfiguriranje MTU-a zasad ne podrzavamo (kao ni ostale L2 parametre)
@@ -489,7 +463,7 @@ proc l3node.start { eid node } {
     set ipsecCfg ""
     if { [getIpsecEnabled $node] == true } {
 # TODO: ipsec zasad ne podrzavamo
-       puts "  would do the ipsecenabled stuff"
+       puts "  Should do the ipsecenabled stuff... but does nothing."
 #
 #      set setkeycfg [ipsecCfggen $node]
 #      set setkeyFileId [open $node_dir/setkey.conf w+]
@@ -550,8 +524,8 @@ proc l3node.start { eid node } {
             }
         }
     } else {
-# quagga i drugi mogu imati svoje custom skripte za bootanje koja se prepoznaje po
-# bootcmdu (interpreteru) koji nije obican shell
+        # quagga i drugi mogu imati svoje custom skripte za bootanje koja se prepoznaje po
+        # bootcmdu (interpreteru) koji nije obican shell
         puts "  placing $bootcmd in $node_dir"
                set bootfile [file tail $bootcmd]
         file copy $bootcmd "$node_dir/$bootfile"
@@ -586,17 +560,7 @@ proc l3node.start { eid node } {
 #****
 proc l3node.shutdown { eid node } {   
        upvar 0 ::cf::[set ::curcfg]::[set node]::node_id node_id
-
-#    puts "nexec vimage $node_id kill -9 -1 2> /dev/null"
-#    foreach ifc [ifcList $node] {
-#      foreach ipv4 [getIfcIPv4addr $node $ifc] {
-#          puts "nexec vimage $node_id ifconfig $ifc $ipv4 -alias"
-#      }
-#      foreach ipv6 [getIfcIPv6addr $node $ifc] {
-#          puts "nexec vimage $node_id ifconfig $ifc inet6 $ipv6 -alias"
-#      }
-#    }
-    
+   
     puts "  Stopping VE $node ($node_id)"
     statline "Stopping VE $node ($node_id)"
     nexec vzctl stop $node_id
@@ -631,14 +595,10 @@ proc l3node.destroy { eid node } {
 #              }
 #    }
 
-#    puts "nexec vimage -d $node_id"
-    puts "  Destroying VE $node ($node_id)"
-    statline "Destroying VE $node ($node_id)"
+    set msg "Destroying VE $node ($node_id)"
+    puts "\n$msg"
+    statline $msg
     nexec vzctl destroy $node_id
-
-# FreeBSD-only:
-#    set node_dir "/tmp/$eid/$node"
-#    nexec rm -fr $node_dir
 }
 
 
@@ -676,18 +636,6 @@ proc deployCfg {} {
 # network peeringe izmedju nodeova
 # na Linuxu to necemo napraviti jer ne mozemo dirati network linkove
 # jednog VEa iz drugog, pa ce to sve biti na parent hostu
-#    puts " nexec vimage -c $eid "
-#    puts " nexec rm -fr /tmp/$eid "
-#    puts " nexec mkdir /tmp/$eid "
-
-#    puts { nexec kldload ng_ether }
-#    puts { nexec kldload ng_iface }
-#    puts { nexec kldload ng_eiface }
-#    puts { nexec kldload ng_cisco }
-#    puts { nexec kldload ng_pipe }
-#    puts { nexec kldload ng_hub }
-#    puts { nexec kldload ng_bridge }
-#    puts { nexec kldload ng_socket }
 
     foreach node $node_list {
                namespace eval ::cf::[set ::curcfg]::[set node] {}
@@ -757,13 +705,6 @@ proc deployCfg {} {
                set ngpeer2 $ngnodemap($peer2)
 
 # FreeBSD-specific:
-#              set nghook1 \
-#                  [lindex [[typemodel $lnode1].nghook $eid $lnode1 $ifname1] 1]
-#              set nghook2 \
-#                  [lindex [[typemodel $lnode2].nghook $eid $lnode2 $ifname2] 1]
-#              puts "  nexec vimage $eid ngctl mkpeer $ngpeer1: pipe $nghook1 upper            "
-#              puts "  nexec vimage $eid ngctl name $ngpeer1:$nghook1 $lname                   "
-#              puts "  nexec vimage $eid ngctl connect $lname: $ngpeer2: lower $nghook2        "
 #              # Ethernet frame has a 14-byte header - this is a temp. hack!!!
 #              puts "  nexec vimage $eid ngctl msg $lname: setcfg { header_offset=14 } "
 #              # Link parameters
@@ -795,7 +736,6 @@ proc deployCfg {} {
                        #jedan od nodeova je sigurno L2, sad provjerava da li se radi o vezi izmedju
                        #dva L2 uredjaja
                        if { [[typemodel $lnode1].layer] == "LINK" && [[typemodel $lnode2].layer] == "LINK" } {
-                               #TODO do something here!!!
                                #slucaj kad su spojena dva huba!!
                                puts "\n\n*********************************************************************"
                                puts "****        Panic! Panic! Spojena su dva huba, nemogu ja to!!        ***\n"   
@@ -829,7 +769,6 @@ proc deployCfg {} {
                            if { $l == 1 || [string length $bridge_line] == 0 } {
                                continue
                            }
-                       #    puts "$l: $bridge_line"
                            set nasli [string range $bridge_line 0 [expr [string length $bridge]-1] ]
                            if { $bridge == $nasli } {
                                set bridgefound true
@@ -844,28 +783,23 @@ proc deployCfg {} {
                                nexec brctl addbr $bridge
                                lappend bridges $bridge
                        }
-               
-               #TODO ovo bas ne radi, ne moze komunicirati sa fizickim interface-om, iako je
-               #uredno pridruzen bridge interface-u
-               #
-               #RJ45 se ponasa kao L2 device, tj. hub, samo u njega treba odmah joinati
-               #odgovarajuci fizicki interface koji je rucno upisan u gui
-
+               #RJ45 se ponasa kao L2 device, tj. hub, samo u njega treba odmah joinati
+               #odgovarajuci fizicki interface koji je rucno upisan u gui
                        if { [nodeType $bridge_node] == "rj45" } {
                                set bridge_name [getNodeName $bridge_node]
                                nexec brctl addif $bridge $bridge_name
                                puts "  RJ45 emulacija, spojen na $bridge_name na hostu."
                        }
                
-               #dodaje interface
+               #dodaje interface
                        nexec brctl addif $bridge $port_if
-               #dize bridge, interesantno ne baca error ako je bridge vec dignut
+               #dize bridge, interesantno ne baca error ako je bridge vec dignut
                        nexec ifconfig $bridge up               
 
                        puts "  L2 device $bridge is up, added interface $port_if"
 
                } else {
-               # Slucaj kad se radi link izmedju dva L3 uredjaja (standardno)
+               # Slucaj kad se radi link izmedju dva L3 uredjaja (standardno)
                        set host_if_a $ngpeer1
                        set host_if_b $ngpeer2
                        set bridge "b$eid$lname"
@@ -882,8 +816,9 @@ proc deployCfg {} {
                }
 
        }
-
-    statline "Network topology instantiated in [expr [clock seconds] - $t_start] seconds ([llength $node_list] nodes and [llength $link_list] links)."
+    set msg "Network topology instantiated in [expr [clock seconds] - $t_start] seconds ([llength $node_list] nodes and [llength $link_list] links)."
+    statline $msg
+    puts "\n$msg"
     
     puts "\n= deployCfg end ="
 }
@@ -906,29 +841,6 @@ proc vimageCleanup { eid } {
 
     set t_start [clock seconds]
 
-## FreeBSD-only bug workaround:
-#    # Wait for TIME_WAIT timeout in all vimages
-
-# FreeBSD vimage only
-#    # Kill all processes in all vimages
-#    foreach vimage $vimages {
-#      set stattxt "Terminating processes in vimage $vimage"
-#      statline $stattxt
-#      puts "nexec vimage $eid.$vimage kill -9 -1 2> /dev/null"
-#    }
-
-
-# FreeBSD netgraph only
-#    # Detach / destroy / reassign interfaces pipe, eiface, iface, bridge
-#      puts "running vimage $eid ngctl l | tail -n +3"
-#    set ngnodes [split [nexec vimage $eid ngctl l | tail -n +3] "
-#"]
-#    foreach ngline $ngnodes {
-#      set node [lindex [eval list $ngline] 1]
-#      statline "Shutting down netgraph node $node"
-#      puts "nexec vimage $eid ngctl msg $node: shutdown"
-#    }
-
        puts "\nBridge cleanup in main host"
        upvar 0 ::cf::[set ::curcfg]::bridges bridges
        if { [ info exists bridges ] && [ llength $bridges ] } {
@@ -938,23 +850,8 @@ proc vimageCleanup { eid } {
                        nexec brctl delbr $bridge
                }
        }
-    puts "  Done.\n"
-    
+    puts "  Done.\n"  
     
-    # Shut down all vimages
-# FreeBSD metoda:
-#    foreach vimage $vimages {
-#      set stattxt "Shutting down vimage $vimage"
-#      statline $stattxt
-#      puts "nexec vimage $eid.$vimage kill -9 -1 2> /dev/null"
-#      while { [catch {nexec vimage -d $eid.$vimage}] } {
-#          set stattxt $stattxt.
-#          statline $stattxt
-#          puts "nexec vimage $eid.$vimage kill -9 -1 2> /dev/null"
-#      }
-#    }
-#    puts " nexec vimage -d $eid "
-
     # OpenVZ - samo nam treba popis nodeova za pogasiti
     upvar 0 ::cf::[set ::curcfg]::node_list node_list
 
@@ -965,17 +862,12 @@ proc vimageCleanup { eid } {
            } else {
                # L2 uredjaji kao hub i switch se u OpenVZ varijanti emuliraju
            # bridge suceljem a ne VEom iako su u $node_list, stoga nema se sto gasiti
-               
-               # puts "  Node $node is a L2 device emulated with a bridge. Stopping pending bridge cleanup."
            }
     }
     puts "  Done.\n"
 
 #    puts " nexec rm -f /usr/local/etc/quagga/Quagga.conf "
 
-# FreeBSD-only ciscenje eid tmp dira
-#    nexec rm -fr "/tmp/$eid"
-
     puts "Destroying VE private enviroments..."
     foreach node $node_list {
            if { [[typemodel $node].layer] != "LINK" } {
@@ -983,13 +875,13 @@ proc vimageCleanup { eid } {
            } else {
                # L2 uredjaji kao hub i switch se u OpenVZ varijanti emuliraju
            # bridge suceljem a ne VEom iako su u $node_list, stoga nema se sto gasiti
-               
-               #puts "  Node $node is a L2 device emulated with a bridge. Stopping pending bridge cleanup."
            }
     }
     puts "  Done.\n"
 
-    statline "Cleanup completed in [expr [clock seconds] - $t_start] seconds."
+    set msg "Cleanup completed in [expr [clock seconds] - $t_start] seconds."
+    statline $msg
+    puts "  $msg"
 
        puts "\n= vimageCleanup $eid end ="
 }
index 3bf8c9f18617a2cc9998dd84f0869f6b0365d0ef..344ff07c1f5c829c5df3d002f725622b6f098de7 100755 (executable)
@@ -83,45 +83,45 @@ proc $MODULE.layer {} {
 #****
 
 proc $MODULE.cfggen { node } {
-     upvar 0 ::cf::[set ::curcfg]::$node $node
+    upvar 0 ::cf::[set ::curcfg]::$node $node
 
     set cfg {}
 
     foreach ifc [ifcList $node] {
-       lappend cfg "interface $ifc"
-       set addr [getIfcIPv4addr $node $ifc]
-       if { $addr != "" } {
-           lappend cfg " ip address $addr"
-       }
-# TODO: IPv6 Quagga support
-#      set addr [getIfcIPv6addr $node $ifc]
-#      if { $addr != "" } {
-#          lappend cfg " ipv6 address $addr"
-#      }
-       if { [getIfcOperState $node $ifc] == "down" } {
-           lappend cfg " shutdown"
-       }
-       lappend cfg "!"
-    }
-
-    foreach proto { rip ripng ospf ospf6 bgp } {
-       set protocfg [netconfFetchSection $node "router $proto"]
-       if { $protocfg != "" } {
-           lappend cfg "router $proto"
-           foreach line $protocfg {
-               lappend cfg "$line"
+       lappend cfg "interface $ifc"
+           set addr [getIfcIPv4addr $node $ifc]
+           if { $addr != "" } {
+               lappend cfg " ip address $addr"
            }
-           lappend cfg "!"
-       }
-    }
-
-    foreach statrte [getStatIPv4routes $node] {
-       lappend cfg "ip route $statrte"
+        # TODO: IPv6 Quagga support
+        #      set addr [getIfcIPv6addr $node $ifc]
+        #      if { $addr != "" } {
+        #          lappend cfg " ipv6 address $addr"
+        #      }
+           if { [getIfcOperState $node $ifc] == "down" } {
+               lappend cfg " shutdown"
+       }
+               lappend cfg "!"
+        }
+
+        foreach proto { rip ripng ospf ospf6 bgp } {
+       set protocfg [netconfFetchSection $node "router $proto"]
+       if { $protocfg != "" } {
+               lappend cfg "router $proto"
+               foreach line $protocfg {
+                       lappend cfg "$line"
+           }
+               lappend cfg "!"
+               }
+        }
+
+        foreach statrte [getStatIPv4routes $node] {
+           lappend cfg "ip route $statrte"
     }
-# TODO: IPv6 Quagga support
-#    foreach statrte [getStatIPv6routes $node] {
-#      lappend cfg "ipv6 route $statrte"
-#    }
+    # TODO: IPv6 Quagga support
+    #    foreach statrte [getStatIPv6routes $node] {
+    #  lappend cfg "ipv6 route $statrte"
+    #    }
 
     return $cfg
 }
@@ -197,10 +197,10 @@ proc $MODULE.instantiate { eid node } {
     #kao destination preda "/boot.conf" sto kasnije ispadne VE root    
     nexec ln -s /boot.conf $ve_dir/etc/quagga/Quagga.conf
 
-##  Probably useless
-#   foreach file { bgpd ospfd ospf6d ripd ripngd vtysh zebra } {
-#      puts "maybe nexec cp /dev/null $ve_dir/etc/quagga/$file.conf"
-#   }
+    ##  Probably useless
+    #   foreach file  bgpd ospfd ospf6d ripd ripngd vtysh zebra  
+    #      puts "maybe nexec cp /dev/null $ve_dir/etc/quagga/$file.conf"
+    #   
 
 }
 
@@ -222,16 +222,16 @@ proc $MODULE.instantiate { eid node } {
 #****
 proc $MODULE.start { eid node } {
 
-# OpenVZ catch: prije startanja bootcmda moramo upaliti capabilities
-# jer bez toga quagga uopće ne radi
+    # OpenVZ catch: prije startanja bootcmda moramo upaliti capabilities
+    # jer bez toga quagga uopće ne radi
     upvar 0 ::cf::[set ::curcfg]::[set node]::node_id node_id
 
-##  Pokusali sa ovim, ali nije pomoglo
-#    foreach capability { chown dac_override dac_read_search fowner
-#           fsetid  kill  setgid  setuid linux_immutable net_bind_service net_broadcast
-#           net_admin net_raw ipc_lock ipc_owner  sys_module  sys_rawio  sys_chroot  sys_ptrace
-#           sys_pacct  sys_admin  sys_boot  sys_nice sys_resource sys_time sys_tty_config mknod
-#           lease setveid ve_admin } {
+    ##  Pokusali sa ovim, ali nije pomoglo
+    #    foreach capability { chown dac_override dac_read_search fowner
+    #           fsetid  kill  setgid  setuid linux_immutable net_bind_service net_broadcast
+    #           net_admin net_raw ipc_lock ipc_owner  sys_module  sys_rawio  sys_chroot  sys_ptrace
+    #           sys_pacct  sys_admin  sys_boot  sys_nice sys_resource sys_time sys_tty_config mknod
+    #           lease setveid ve_admin } 
 
     foreach capability {net_admin net_raw sys_admin} {
         nexec vzctl set $node_id --capability $capability:on --save
@@ -242,8 +242,8 @@ proc $MODULE.start { eid node } {
     upvar 0 ::cf::[set ::curcfg]::[set node]::node_id node_id
     nexec vzctl exec $node_id sysctl -w net/ipv4/ip_forward=1
     
-# TODO: IPv6 Quagga support
-#    nexec vzctl exec $node_id sysctl -w net/ipv6/conf/all/forwarding=1
+    # TODO: IPv6 Quagga support
+    #    nexec vzctl exec $node_id sysctl -w net/ipv6/conf/all/forwarding=1
 
     puts " $eid $node ima aktivan IPv4 forwarding"