📄 test-suite-mpls.tcl
字号:
$ns_ at 2.1 "$LSR3 pft-dump" $ns_ at 2.1 "$LSR3 erb-dump" $ns_ at 2.1 "$LSR3 lib-dump" $ns_ at 2.1 "$LSR4 pft-dump" $ns_ at 2.1 "$LSR4 erb-dump" $ns_ at 2.1 "$LSR4 lib-dump" $ns_ at 2.1 "$LSR5 pft-dump" $ns_ at 2.1 "$LSR5 erb-dump" $ns_ at 2.1 "$LSR5 lib-dump" $ns_ at 2.1 "$LSR6 pft-dump" $ns_ at 2.1 "$LSR6 erb-dump" $ns_ at 2.1 "$LSR6 lib-dump" $ns_ at 2.1 "$LSR7 pft-dump" $ns_ at 2.1 "$LSR7 erb-dump" $ns_ at 2.1 "$LSR7 lib-dump" $ns_ at 2.1 "$LSR8 pft-dump" $ns_ at 2.1 "$LSR8 erb-dump" $ns_ at 2.1 "$LSR8 lib-dump"}Class Test/control-driven -superclass TestSuiteTest/control-driven instproc init args { Classifier/Addr/MPLS set control_driven_ 1 Agent/LDP set trace_ldp_ 1 Classifier/Addr/MPLS set trace_mpls_ 1 eval $self next $args $self instvar ns_ $ns_ use-scheduler List $self openTrace 0.7 $ns_ rtproto DV set node0 [$ns_ node] $ns_ node-config -MPLS ON set LSR1 [$ns_ node] set LSR2 [$ns_ node] set LSR3 [$ns_ node] set LSR4 [$ns_ node] set LSR5 [$ns_ node] set LSR6 [$ns_ node] set LSR7 [$ns_ node] $ns_ node-config -MPLS OFF set node8 [$ns_ node] $ns_ duplex-link $node0 $LSR1 1Mb 10ms DropTail $ns_ duplex-link $LSR1 $LSR2 1Mb 10ms DropTail $ns_ duplex-link $LSR1 $LSR3 1Mb 10ms DropTail $ns_ duplex-link $LSR2 $LSR4 1Mb 10ms DropTail $ns_ duplex-link $LSR4 $LSR6 1Mb 10ms DropTail $ns_ duplex-link $LSR6 $LSR7 1Mb 10ms DropTail $ns_ duplex-link $LSR3 $LSR5 1Mb 10ms DropTail $ns_ duplex-link $LSR3 $LSR4 1Mb 10ms DropTail $ns_ duplex-link $LSR5 $LSR7 1Mb 10ms DropTail $ns_ duplex-link $LSR5 $LSR6 1Mb 10ms DropTail $ns_ duplex-link $LSR7 $node8 1Mb 10ms DropTail $ns_ duplex-link-op $node0 $LSR1 orient right $ns_ duplex-link-op $LSR1 $LSR2 orient down $ns_ duplex-link-op $LSR1 $LSR3 orient right $ns_ duplex-link-op $LSR2 $LSR4 orient right $ns_ duplex-link-op $LSR4 $LSR6 orient right $ns_ duplex-link-op $LSR6 $LSR7 orient right-up $ns_ duplex-link-op $LSR3 $LSR5 orient right $ns_ duplex-link-op $LSR3 $LSR4 orient down $ns_ duplex-link-op $LSR5 $LSR7 orient right $ns_ duplex-link-op $LSR5 $LSR6 orient down $ns_ duplex-link-op $LSR7 $node8 orient right # # configure ldp agents on all mpls nodes # for {set i 1} {$i < 8} {incr i} { set a LSR$i for {set j [expr $i+1]} {$j < 8} {incr j} { set b LSR$j eval $ns_ LDP-peer $$a $$b } set m [eval $$a get-module "MPLS"] $m enable-reroute "drop" } # # set ldp-message clolr # $ns_ ldp-request-color blue $ns_ ldp-mapping-color red $ns_ ldp-withdraw-color magenta $ns_ ldp-release-color orange $ns_ ldp-notification-color yellow #Create a traffic sink and attach it to the node node8 $self instvar sink0_ set sink0_ [new Agent/LossMonitor] $ns_ attach-agent $node8 $sink0_ # Create a traffic source set src0 [$self attach-expoo-traffic $node0 $sink0_ 200 0 0 400k] $ns_ at 0.0 "$self record" $ns_ at 0.1 "$src0 start" $ns_ rtmodel-at 0.3 down $LSR3 $LSR5 $ns_ rtmodel-at 0.5 up $LSR3 $LSR5 $ns_ at 0.6 "$src0 stop"}Class Test/data-driven -superclass TestSuiteTest/data-driven instproc init args { eval $self next $args $self instvar ns_ Agent/LDP set trace_ldp_ 1 Classifier/Addr/MPLS set trace_mpls_ 1 $ns_ use-scheduler List $self openTrace 0.7 $ns_ rtproto DV set node0 [$ns_ node] $ns_ node-config -MPLS ON set LSR1 [$ns_ node] set LSR2 [$ns_ node] set LSR3 [$ns_ node] set LSR4 [$ns_ node] set LSR5 [$ns_ node] set LSR6 [$ns_ node] set LSR7 [$ns_ node] $ns_ node-config -MPLS OFF set node8 [$ns_ node] $ns_ duplex-link $node0 $LSR1 1Mb 10ms DropTail $ns_ duplex-link $LSR1 $LSR2 1Mb 10ms DropTail $ns_ duplex-link $LSR2 $LSR4 1Mb 10ms DropTail $ns_ duplex-link $LSR4 $LSR6 1Mb 10ms DropTail $ns_ duplex-link $LSR6 $LSR7 1Mb 10ms DropTail $ns_ duplex-link $LSR1 $LSR3 1Mb 10ms DropTail $ns_ duplex-link $LSR3 $LSR5 1Mb 10ms DropTail $ns_ duplex-link $LSR5 $LSR7 1Mb 10ms DropTail $ns_ duplex-link $LSR3 $LSR4 1Mb 10ms DropTail $ns_ duplex-link $LSR5 $LSR6 1Mb 10ms DropTail $ns_ duplex-link $LSR7 $node8 1Mb 10ms DropTail # # configure ldp agents on all mpls nodes # for {set i 1} {$i < 8} {incr i} { set a LSR$i for {set j [expr $i+1]} {$j < 8} {incr j} { set b LSR$j eval $ns_ LDP-peer $$a $$b } set m [eval $$a get-module "MPLS"] $m enable-reroute "new" } # # set ldp-message clolr # $ns_ ldp-request-color blue $ns_ ldp-mapping-color red $ns_ ldp-withdraw-color magenta $ns_ ldp-release-color orange $ns_ ldp-notification-color yellow # # set ldp events # Classifier/Addr/MPLS enable-on-demand Classifier/Addr/MPLS enable-ordered-control [$LSR1 get-module "MPLS"] enable-data-driven [$LSR3 get-module "MPLS"] enable-data-driven # Create a traffic sink and attach it to the node node8 $self instvar sink0_ set sink0_ [new Agent/LossMonitor] $ns_ attach-agent $node8 $sink0_ # Create a traffic source set src0 [$self attach-expoo-traffic $node0 $sink0_ 200 0 0 400k] $ns_ at 0.0 "$self record" $ns_ at 0.1 "$src0 start" $ns_ rtmodel-at 0.3 down $LSR3 $LSR5 $ns_ rtmodel-at 0.5 up $LSR3 $LSR5 $ns_ at 0.6 "$src0 stop"}Class Test/reroute -superclass TestSuiteTest/reroute instproc init args { eval $self next $args $self instvar ns_ Agent/LDP set trace_ldp_ 1 Classifier/Addr/MPLS set trace_mpls_ 1 $ns_ use-scheduler List $self openTrace 0.7 $ns_ rtproto DV set node0 [$ns_ node] $ns_ node-config -MPLS ON set LSR1 [$ns_ node] set LSR2 [$ns_ node] set LSR3 [$ns_ node] set LSR4 [$ns_ node] set LSR5 [$ns_ node] set LSR6 [$ns_ node] set LSR7 [$ns_ node] $ns_ node-config -MPLS OFF set node8 [$ns_ node] $ns_ duplex-link $node0 $LSR1 1Mb 10ms DropTail $ns_ duplex-link $LSR1 $LSR2 1Mb 10ms DropTail $ns_ duplex-link $LSR2 $LSR4 1Mb 10ms DropTail $ns_ duplex-link $LSR4 $LSR6 1Mb 10ms DropTail $ns_ duplex-link $LSR6 $LSR7 1Mb 10ms DropTail $ns_ duplex-link $LSR1 $LSR3 1Mb 10ms DropTail $ns_ duplex-link $LSR3 $LSR5 1Mb 10ms DropTail $ns_ duplex-link $LSR5 $LSR7 1Mb 10ms DropTail $ns_ duplex-link $LSR3 $LSR4 1Mb 10ms DropTail $ns_ duplex-link $LSR5 $LSR6 1Mb 10ms DropTail $ns_ duplex-link $LSR7 $node8 1Mb 10ms DropTail # # configure ldp agents on all mpls nodes # for {set i 1} {$i < 8} {incr i} { set a LSR$i for {set j [expr $i+1]} {$j < 8} {incr j} { set b LSR$j eval $ns_ LDP-peer $$a $$b } set m [eval $$a get-module "MPLS"] $m enable-reroute "new" } # # set ldp-message clolr # $ns_ ldp-request-color blue $ns_ ldp-mapping-color red $ns_ ldp-withdraw-color magenta $ns_ ldp-release-color orange $ns_ ldp-notification-color yellow Classifier/Addr/MPLS enable-on-demand Classifier/Addr/MPLS enable-ordered-control [$LSR1 get-module "MPLS"] enable-data-driven [$LSR3 get-module "MPLS"] enable-data-driven # Create a traffic sink and attach it to the node node8 $self instvar sink0_ set sink0_ [new Agent/LossMonitor] $ns_ attach-agent $node8 $sink0_ # Create a traffic source set src0 [$self attach-expoo-traffic $node0 $sink0_ 200 0 0 400k] $ns_ at 00 "$self record" $ns_ at 0.1 "$src0 start" $ns_ at 0.1 "[$LSR1 get-module MPLS] make-explicit-route 7 2_4_6_7 1000 -1" $ns_ at 0.2 "[$LSR7 get-module MPLS] make-explicit-route 7 5_3_1_1000 1005 -1" $ns_ at 0.3 "[$LSR1 get-module MPLS] reroute-binding 8 -1 1005" $ns_ at 0.3 "[$LSR3 get-module MPLS] reroute-binding 8 -1 1005" $ns_ at 0.3 "[$LSR5 get-module MPLS] reroute-binding 8 -1 1005" $ns_ rtmodel-at 0.3 down $LSR3 $LSR5 $ns_ rtmodel-at 0.5 up $LSR3 $LSR5 $ns_ at 0.6 "$src0 stop"}TestSuite runTest### Local Variables:### mode: tcl### tcl-indent-level: 8### tcl-default-application: ns### End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -