Advertisement
Guest User

Untitled

a guest
Jan 6th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.48 KB | None | 0 0
  1. set ns [new Simulator]
  2.  
  3. # Ouvir le fichier de trace global
  4. set outputfile [open out.tr w]
  5. $ns trace-all $outputfile
  6.  
  7. # Ouvrir le fichier de trace Nam
  8. set nf [open out.nam w]
  9. $ns namtrace-all $nf
  10.  
  11. # Definition de la procédure 'finish'
  12. proc finish {} {
  13.  global ns nf outputfile
  14.  $ns flush-trace
  15.  # fermeture des fichiers de trace
  16.  close $nf
  17.  close $outputfile
  18.  
  19.  # Executer Nam en fonction de la trace
  20.  puts "nam se lance..."
  21.  exec nam -a out.nam &
  22.  exit 0
  23. }
  24.  
  25. # Création de la topologie
  26. set topo [open topo.top r]
  27. set traff [open traff.traf r]
  28. set data [read $traff]
  29. set data [split $data "\n"]
  30. set node_prec 0
  31.  
  32. foreach line $data {
  33.   # Création des noeuds
  34.   set node1 [lindex $line 0]
  35.   if {![info exists n($node1)]} {
  36.   puts "$node1"
  37.  
  38.     set n($node1) [$ns node]
  39.   }
  40.  
  41. }
  42.  
  43. #parse le fichier topo
  44. set fp_topo [open "topo.top" r]
  45. set file_topo [read $fp_topo]
  46. close $fp_topo
  47.  
  48.  
  49. set data [split $file_topo "\n"]
  50.  
  51. foreach line $data {
  52.    # Récupération des noeuds
  53.     set node1 [lindex $line 0]
  54.   set node2 [lindex $line 1]
  55.   # Récupération du debit
  56.   set debit [lindex $line 2]
  57.   # Récupération de la latence
  58.   set latence [lindex $line 3]
  59.  
  60.   puts "[lindex $line 0] [lindex $line 1]"
  61.   # Création des liens
  62.   $ns duplex-link $n([lindex $line 0]) $n([lindex $line 1]) [lindex $line 2]Gb [lindex $line 3]ms DropTail
  63.   $ns queue-limit $n($node1) $n($node2) 10
  64.   $ns queue-limit $n($node2) $n($node1) 10
  65. }
  66.  
  67. $ns at 300.0 "finish"
  68. close $topo
  69. $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement