Hi, I have never done anything with TCP layer, so I'm not sure. But a general rule I summarized is that 1) If the two layers you want to cross-access are adjacent, you can use uptarget_/downtarget_ 2) If they are not, it is a bit of difficult to make the pointer clear. My method is to use tcl to get the pointer. You must have seen the usage of TclObject::lookup() many times. My case is to let my SensorAgent to access Mac802_11, thus in my sensor-agent.cc (can be others such as aodv.cc) implement a command if (strcmp(argv[1], "access-mac") == 0) { mac_pt_ = (Mac802_11*)TclObject::lookup(argv[2]); if (mac_pt_ == 0) return TCL_ERROR; return TCL_OK; } here mac_pt_ is defined in sensor-agent.h Mac802_11 *mac_pt_ you may also need to declare Mac802_11 as friend class. Once you execute the following command in your tcl file, mac_pt_ gets the right pointer and you can use it now. $sensoragent_($i) access-mac [$node_($i) set mac_(0)] vice versa set mac_ [$node_($i) set mac_(0)] $mac_ access-agent [$node_($i) agent 255] you implement "access-agent" command in mac layer so the point is that you need to know how to get TCP set tcp_ ??? Best, Pei
Basim Javed <[EMAIL PROTECTED]> wrote: I just read, and you are correct. Could u plz also tell me how to access the TCP layer from the node pointers in C++, and how does we know that this is the current node (some thing like self)? So I want each node to access the TCP and PHY layers from within itself, and also the reverse of it: i.e. within TCP I want to access the MAC functions of the concerned node, if possible? thanks many. basim Pei Huang, Ph.D. student Dept. of Computer Science and Engineering Michigan State University http://dekst.awardspace.com __________________________________________________ 赶快注册雅虎超大容量免费邮箱? http://cn.mail.yahoo.com