Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set ns [new Simulator]
- # Ouvir le fichier de trace global
- set outputfile [open out.tr w]
- $ns trace-all $outputfile
- # Ouvrir le fichier de trace Nam
- set nf [open out.nam w]
- $ns namtrace-all $nf
- # Definition de la procédure 'finish'
- proc finish {} {
- global ns nf outputfile
- $ns flush-trace
- # fermeture des fichiers de trace
- close $nf
- close $outputfile
- # Executer Nam en fonction de la trace
- puts "nam se lance..."
- exec nam -a out.nam &
- exit 0
- }
- # Création de la topologie
- set topo [open topo.top r]
- set traff [open traff.traf r]
- set data [read $traff]
- set data [split $data "\n"]
- set node_prec 0
- foreach line $data {
- # Création des noeuds
- set node1 [lindex $line 0]
- if {![info exists n($node1)]} {
- puts "$node1"
- set n($node1) [$ns node]
- }
- }
- set data [read $topo]
- set data [split $data "\n"]
- foreach line $data {
- # Récupération des noeuds
- set node1 [lindex $line 0]
- set node2 [lindex $line 1]
- # Récupération du debit
- set debit [lindex $line 2]
- # Récupération de la latence
- set latence [lindex $line 3]
- puts "$node1 $node2"
- # Création des liens
- $ns duplex-link $n([lindex $line 0]) $n([lindex $line 1]) [lindex $line 2]Gb [lindex $line 3]ms DropTail
- $ns queue-limit $n($node1) $n($node2) 10
- $ns queue-limit $n($node2) $n($node1) 10
- }
- $ns at 300.0 "finish"
- close $topo
- $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement