[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ns] new rtmodule
Hi,
I'm really a beginner in ns world: it's my first message...so hello to all
of you
I'd like to have a new rtmodule for a node of my network (for the moment
doing the same thing of Base one).
I did the following changes:
in ns-rtmodule.tcl...
RtModule/My instproc register { node } {
$self next $node
# Create classifier
$self instvar classifier_
set classifier_ [new Classifier/Hash/Dest 32]
$classifier_ set mask_ [AddrParams NodeMask 1]
$classifier_ set shift_ [AddrParams NodeShift 1]
$node install-entry $self $classifier_
}
in rtmodule.cc...
static class MyRoutingModuleClass : public TclClass {
public:
MyRoutingModuleClass() : TclClass("RtModule/My") {}
TclObject* create(int, const char*const*) {
return (new MyRoutingModule);
}
} class_my_routing_module;
in rtmodule.h...
class MyRoutingModule : public RoutingModule {
public:
MyRoutingModule() : RoutingModule() {}
virtual const char* module_name() const { return "My"; }
};
then I did
make depend
make
but calling in my script
$n(7) register-module [new RtModule/My]
I gathered the following result:
invalid command name "RtModule/My"
while executing
"RtModule/My create _o50 "
invoked from within
"catch "$className create $o $args" msg"
(procedure "new" line 3)
invoked from within
"new RtModule/My"
invoked from within
"$n(7) register-module [new RtModule/My]"
(file "myclassifier.tcl" line 73)
I use ns 2.1b7a on Solaris
Have you any idea about my mistakes or misses ? Do I have to register the
class somewhere as for packets in tutorial example?
I can't find out anything in the documentation.
Thanks a lot
F