Thank you for your patience and your answers Tom.
I believe you are right, I have not explain the whole picture.....
In a few words. The application is set to send packets to the mobile node, but first the packets must be gathered and buffered in a cluster.
The packets must follow specific routes to these specific clusters. Since the packets have a header marked to go to the mobile node and the nodes only contain routes to the clusters attempting to send from the node with the header destination will always fail. Therefore, packets must be forwarded first to the clusters and then attempt to send to the header destination from there.
I manage to make the packets go to the correct assigned clusters by adding a tag with the correct cluster ip address to each packet and use this Address.
My only question is... how good is to use packet tags to accomplish this?
According to the description of Packet in the ns-3 docs : (
https://www.nsnam.org/docs/models/html/packets.html?highlight=packet)
"developers often want to store data in
packet objects that is not found
in the real packets (such as timestamps or flow-ids). The Packet class
deals with this requirement by storing a set of tags (class Tag)."
Does this mean that real life packets do not support adding information to packets via tags? and tags are meant to be use in ns-3 to merely to monitor ,flow control,debugging purposes?
If this is true, how come AODV and DSDV use in their core functionality a deferredRouteTags to distinguish between packets that were loopbacked requiring to be buffered and packets that need to be sent? Would the use of tags this way in AODV and DSDV make the code not implementable in real life?
Maybe its a dumb question, I just want to make sure my approach could be as implementable in real life as possible ,and I base some of my decision with the code of these two well known examples.
Thank you again!