From: Kosta Pribić Date: Sat, 17 Oct 2009 11:03:57 +0000 (+0200) Subject: izbrisani neki nepotrebni komadi koda, popravljena indentacija i neke manje sintaktic... X-Git-Url: https://git.entuzijast.net/?a=commitdiff_plain;h=fbdcf5b70b8ee93bbacd33f609390316d8825b3b;p=imunes.git izbrisani neki nepotrebni komadi koda, popravljena indentacija i neke manje sintakticke greske --- diff --git a/linux/exec.tcl b/linux/exec.tcl index 14e8057..c063422 100755 --- a/linux/exec.tcl +++ b/linux/exec.tcl @@ -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 =" } diff --git a/linux/quagga.tcl b/linux/quagga.tcl index 3bf8c9f..344ff07 100755 --- a/linux/quagga.tcl +++ b/linux/quagga.tcl @@ -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"