Hi ns_user: I encounter some troubles when I simulate rsvp/ns module under micromobility environment in NS2. Because micromobility(CIMS) module uses hierarchical address to identify nodes, but rsvp uses flat format address. Every time I run the tcl script, NS2 gives me an error message "no target for slot 1". I checked inside NS2's C++ code, and found this error is raised in function: Classifier::find(...). NsObject* Classifier::find(Packet* p) { NsObject* node = NULL; int cl = classify(p); if (cl < 0 || cl >= nslot_ || (node = slot_[cl]) == 0) {
if (default_target_) return default_target_; /* * Sigh. Can't pass the pkt out to tcl because it's * not an object. */ Tcl::instance().evalf("%s no-slot %ld", name(), cl); if (cl == TWICE) { /* * Try again. Maybe callback patched up the table. */ cl = classify(p); if (cl < 0 || cl >= nslot_ || (node = slot_[cl]) == 0) return (NULL); } } return (node); } In the conditional statement of "if (cl < 0 || cl >= nslot_ || (node = slot_[cl]) == 0)", node was assigned a NULL value, so the next segment "Tcl::instance().evalf("%s no-slot %ld", name(), cl);" was executed because the member variable "default_target_" was initialized to NULL. What should I do in order to make rsvp/ns module compatible with hierarchical format address? Make some modification about NS2's C++ code such as the classifier, route, etc?? Please help me! Best regards! Andy