[ns] Multi-interface support howto, by Ramon Aguero
nguyentienlan at gmail.com
Mon Jan 29 17:11:43 PST 2007
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
- 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
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
> - 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.
> At 10:53 18/01/2007, Shahatha wrote:
>> did any one implement the extension of ns-2 for multi-channel
>> from Ramon Aguero at:
>> "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.!!!!
>> NEU: Fragen stellen - Wissen, Meinungen und Erfahrungen teilen. Jetzt auf
>> Yahoo! Clever.
More information about the Ns-users