Thursday, February 23, 2012

[ns] MPLS multicasting in Ns2

Hi all,

Iam trying to implement multicasting over MPLS network with PIM-SM(source
based tree)..I modified the classifier-addr-mpls.cc and
classifier-addr-mpls.h files and recompiled using "make depend" , "make"
commands to suppor MPLS multicasting in NS2.35..

But when I run the tcl file Iam getting the following errors:

Error:
while executing
"proc attach-expoo-traffic { node sink size burst idle rate }"
(file "multimpls.tcl" line 16)
karthick@linux:~/ns-allinone-2.35$ ns proj2.tcl
using backward compatible Agent/CBR; use Application/Traffic/CBR instead
ns: _o35 routing-nochange 2 0.05410933552271: can't schedule command in past
(_o5 cmd line 1)
invoked from within
"_o5 cmd at 0.05410933552271 {_o34 ldp-trigger-by-routing-table}"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o5" line 2)
(SplitObject unknown line 2)
invoked from within
"_o5 at 0.05410933552271 {_o34 ldp-trigger-by-routing-table}"
("eval" body line 1)
invoked from within
"eval $scheduler_ at $args"
(procedure "_o3" line 3)
(Simulator at line 3)
invoked from within
"[Simulator instance] at $time "$mpls_mod_ ldp-trigger-by-routing-table""
(procedure "_o35" line 12)
(Classifier/Addr/MPLS routing-nochange line 12)
invoked from within
"_o35 routing-nochange 2 0.05410933552271"

Here is the tcl code I tried to run..

Tcl code:
set ns [new Simulator]

set nf [open MM10.nam w]
$ns namtrace-all $nf
set f0 [open MM10.tr w]
$ns trace-all $f0

proc finish {} {
global ns nf f0
$ns flush-trace
close $nf
close $f0
exec nam MM10.nam &
exit 0
}

$ns rtproto DV

$ns node-config -MPLS ON
set LSR0 [$ns node]
set LSR1 [$ns node]
set LSR2 [$ns node]
set LSR3 [$ns node]
set LSR4 [$ns node]
set LSR5 [$ns node]
$ns node-config -MPLS OFF

$ns duplex-link $LSR0 $LSR3 1Mb 10ms DropTail
$ns duplex-link $LSR1 $LSR3 1Mb 10ms DropTail
$ns duplex-link $LSR2 $LSR3 1Mb 10ms DropTail
$ns duplex-link $LSR3 $LSR4 1Mb 10ms DropTail
$ns duplex-link $LSR4 $LSR5 1Mb 10ms DropTail


for {set i 0} {$i < 6} {incr i} {
set a LSR$i
for {set j [expr $i+1]} {$j < 6} {incr j} {
set b LSR$j
eval $ns LDP-peer $$a $$b
}
set m [eval $$a get-module "MPLS"]
$m enable-reroute "new"
}

$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

[$LSR0 get-module "MPLS"] enable-control-driven
[$LSR1 get-module "MPLS"] enable-control-driven
[$LSR2 get-module "MPLS"] enable-control-driven
[$LSR3 get-module "MPLS"] enable-control-driven
[$LSR4 get-module "MPLS"] enable-control-driven
[$LSR5 get-module "MPLS"] enable-control-driven


set Group 8

set Src [new Agent/CBR]
$ns attach-agent $LSR5 $Src
$Src set packetSize_ 200
$Src set Interval_ 0.08
$Src set dst_addr_ $Group
$Src set dst_port_ 0

$ns at 0.5 "[$LSR0 get-module "MPLS"] join-group $LSR5 $Group"
$ns at 0.5 "[$LSR1 get-module "MPLS"] join-group $LSR5 $Group"

$ns at 1.0 "$Src start"
$ns at 1.2 "[$LSR0 get-module "MPLS"] prune-group $LSR5 $Group"
$ns at 1.3 "[$LSR2 get-module "MPLS"] join-group $LSR5 $Group"
$ns at 1.5 "$Src stop"

$ns at 2.5 "[$LSR0 get-module "MPLS"] pft-dump"
$ns at 2.5 "[$LSR0 get-module "MPLS"] lib-dump"
$ns at 2.5 "[$LSR0 get-module "MPLS"] lsg-dump"

$ns at 2.5 "[$LSR1 get-module "MPLS"] pft-dump"
$ns at 2.5 "[$LSR1 get-module "MPLS"] lib-dump"
$ns at 2.5 "[$LSR1 get-module "MPLS"] lsg-dump"

$ns at 2.5 "[$LSR2 get-module "MPLS"] pft-dump"
$ns at 2.5 "[$LSR2 get-module "MPLS"] lib-dump"
$ns at 2.5 "[$LSR2 get-module "MPLS"] lsg-dump"

$ns at 2.5 "[$LSR3 get-module "MPLS"] pft-dump"
$ns at 2.5 "[$LSR3 get-module "MPLS"] lib-dump"
$ns at 2.5 "[$LSR3 get-module "MPLS"] lsg-dump"

$ns at 2.5 "[$LSR4 get-module "MPLS"] pft-dump"
$ns at 2.5 "[$LSR4 get-module "MPLS"] lib-dump"
$ns at 2.5 "[$LSR4 get-module "MPLS"] lsg-dump"

$ns at 2.5 "[$LSR5 get-module "MPLS"] pft-dump"
$ns at 2.5 "[$LSR5 get-module "MPLS"] lib-dump"
$ns at 2.5 "[$LSR5 get-module "MPLS"] lsg-dump"


$ns at 3.0 "finish"
$ns run


Can anyone knows how to fix this..Plz help me..

Thanks,

- Jagadish

--
View this message in context: http://old.nabble.com/MPLS-multicasting-in-Ns2-tp33380953p33380953.html
Sent from the ns-users mailing list archive at Nabble.com.

No comments:

Post a Comment

Counter

blogger analytics