NS2 Notebook: Multi-channel Multi-interface Simulation in NS2 (2.29)

Back to Index


7. Modifications in tcl/lib/ns-lib.tcl

Simulator instproc create-wireless-node args {

......


switch -exact $routingAgent_ {
DSDV {
set ragent [$self create-dsdv-agent $node]
}
DSR {
$self at 0.0 "$node start-dsr"
}
AODV {
set ragent [$self create-aodv-agent $node]
}
TORA {
Simulator set IMEPFlag_ ON
set ragent [$self create-tora-agent $node]
}
DIFFUSION/RATE {
eval $node addr $args
set ragent [$self create-diffusion-rate-agent $node]
}
DIFFUSION/PROB {
eval $node addr $args
set ragent [$self create-diffusion-probability-agent $node]
}
Directed_Diffusion {
eval $node addr $args
set ragent [$self create-core-diffusion-rtg-agent $node]
}
FLOODING {
eval $node addr $args
set ragent [$self create-flooding-agent $node]
}
OMNIMCAST {
eval $node addr $args
set ragent [$self create-omnimcast-agent $node]
}
DumbAgent {
set ragent [$self create-dumb-agent $node]
}
ManualRtg {
set ragent [$self create-manual-rtg-agent $node]
}
MANUAL {
#Manual Routing
set ragent [$self create-manual-routing-agent $node]
}

default {
eval $node addr $args
puts "Wrong node routing agent!"
exit
}

......

}

......

Simulator instproc create-tora-agent { node } {
set ragent [new Agent/TORA [$node id]]
$node set ragent_ $ragent
return $ragent
}


# Manual Routing
Simulator instproc create-manual-routing-agent { node } {
# Create a manual routing agent for this node
set ragent [new Agent/ManualRouting]
# Setup address (supports hier-addr) for dsdv agent
# and mobilenode
set addr [$node node-addr]
$ragent addr $addr
$ragent node $node
$node addr $addr
$node set ragent_ $ragent
$self at 0.0 "$ragent start-manual-routing" ;# start updates
return $ragent
}

......

 

 

 
© Copyright 2008. All rights reserved. Powered by Free Site Templates