Hullo Shalom,

You've most probably not gone through all the necessary steps of adding a
new protocol.

Most importantly, you need to modify the "Makefile.in" file in the ns-2.34
(or your version of ns-2) directory and add all the necessary inclusions,
then run "make" again to create the right executables for your protocol.

I have also attached a pdf (it was sent by someone on this email thread a
while ago) on the steps involved in implementing a new protocol.

I hope that will help.

Kind regards,

Nicholas Mbonimpa


On Tue, Nov 6, 2012 at 4:13 PM, Shalom <maximekab...@gmail.com> wrote:

>
>
> Good afternoon Ns-users!
>
>  I am trying to implement ETX (Expected Transmission Count) and IBETX
> (Interference Bandwidth adjusted ETX) as routing metric into the AODV
> routing protocol and DSDV routing protocol respectively in NS-2.34.  I
> created another identical AODV and DSVD  ad hoc routing protocols file and
> I
> made some changes into AODV and DSDV file in order to incorporate ETX  and
> IBETX as routing metric respectively. After that i renamed all AODV and
> DSDV
> files (.cc & .h) to AODVETX and DSDVIBETX files (.cc & .h). I have changed
> all the words where the aodv  and dsdv words appear by aodvetx and
> dsdvibetx
> words (c++ Classes, Packets headers, variables, TCL bindings,..). After run
> "Make clean and "Make" it compiles fine. But during execution of tcl file
> with new protocol code I am getting following errors. I have carefully
> implemented code step by step by thoroughly reading ns material on internet
> and ebooks. I shall be highly thankful to you
>
>
>
>
> (_o14 cmd line 1)
>     invoked from within
> "_o14 cmd addr"
>     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 "_o14" line 2)
>     (SplitObject unknown line 2)
>     invoked from within
> "_o14 addr"
>     ("eval" body line 1)
>     invoked from within
> "eval $node addr $args"
>     ("default" arm line 2)
>     invoked from within
> "switch -exact $routingAgent_ {
> DSDV {
> set ragent [$self create-dsdv-agent $node]
> }
> DSR {
> $self at 0.0 "$node start-dsr"
> }
> AODV {
> set ragent [$self cre..."
>     (procedure "_o3" line 14)
>     (Simulator create-wireless-node line 14)
>     invoked from within
> "_o3 create-wireless-node"
>     ("eval" body line 1)
>     invoked from within
> "eval $self create-wireless-node $args"
>     (procedure "_o3" line 23)
>     (Simulator node line 23)
>     invoked from within
> "$ns node"
>     ("for" body line 2)
>     invoked from within
> "for {set i 1} {$i <= $val(nn) } { incr i } {
> set node_($i) [$ns node]
> }"
>
> --
> View this message in context:
> http://old.nabble.com/Getting-error-when-running-a-tcl-script-after-adding-a-new-routing-protocol-tp34647085p34647085.html
> Sent from the ns-users mailing list archive at Nabble.com.
>
>

Reply via email to