Hello Nguyen, (see inline)
At 02:11 30/01/2007, Nguyen Lan wrote: >Hi Razmon, > >I have a question related to the multi-interface support in ns2 >- In Listing 4.4: hdr->iface() = addr(), addr is index of the interface >that received this packet. But how can I get that value (which variant or >function) The addr() method is declared in the Mac class and, since Mac802_11 inherits from this, you can use it. It will return the index_, which is somehow mapped to the mac address. >- And in struct hdr_cmn (packet.h) there is a field name iface_ to store >received interface index. Can I use it in Listing 4.4 like hdr->iface_ = xxx Well, basically the hdr->iface() method, just returns (in-line) the iface_ field (see definition of struct hdr_cmn in packet.h); so you are saying the same thing. >Best regards, >Nguyen Cheers, Ramón >Ramon Aguero wrote: >>Hi Shahatha, >> >>As we say in the report we didn't use aodv, so we really appreciate that >>you work on this, it would be good trying to extend the report with your >>own experience on AODV. >> >>We have been doing a quick overlook of the aodv code (which we have not >>personally used that much) and this is what we can tell for the listings >>of chapter 5: >> >>- Listing 5.3 has to be used whenever the AODV needs to send a broadcast >>packet, which happens, as far as we can tell, in the following methods of >>the aodv.cc file: sendRequest, sendError, sendHello and forward; in this >>latter case only when the destination address is broadcast. In all of >>this, you should have the following command: >>Scheduler::instance().schedule(target_,pkt,*); --- * means either 0 or JITTER >>and you should change it for listing 5.3. >> >>- Listing 5.4 has to be used instead of the unicast transmissions of >>aodv.cc, this time in sendReply and forward methods. In this case, the >>Iface variable has to be the appropriate interface index, which needs to >>be stored within the corresponding route table entry (see section 5.3 of >>the document). >> >>- Listing 5.5 is the one that allows you to get the correct interface. >>When you have to create a route table entry, you need to indicate the >>corresponding index for the output interface, which will be used >>afterwards to send packets (see previous answer). This means that the >>corresponding struct/class for your route table entry needs to be >>updated, so as to be able to keep this index. >>Thanks to the changes of the mac-802_11.cc file (listing 4.6), the >>required value is store on the common header of the packet, that's the >>cmnh variable of the listing. Iface will just hold the index that will be >>used for creating/updating the route table entry. After a quick overlook >>of the code, this seems to be needed in two methods: recvRequest and >>recvReply. >> >>Cheers, >>Ramón >> >>At 10:53 18/01/2007, Shahatha wrote: >> >> >>>Hello, >>> >>> did any one implement the extension of ns-2 for multi-channel >>> from Ramon Aguero at: >>> >>> http://personales.unican.es/aguerocr>http://personales.unican.es/aguerocr >>>"many thanks for Ramon Aguero for his Dokument." >>> >>> >>> i have some problems at Chapter 5, where to add the listing 5.3 >>> Listing 5.5 and Listing 5.6 >>> in routingAgent.cc. (AODV.cc) >>> i choice the AODV ad hoc routing agent to change. >>> >>> i think i can copy the Listing above 1 by 1 to the AODV.cc.!!!! >>> >>> thanks >>> >>> >>> >>> >>>--------------------------------- >>>NEU: Fragen stellen - Wissen, Meinungen und Erfahrungen teilen. Jetzt >>>auf Yahoo! Clever. >>> >> >> >> >>