Hello folks,
On 11/18/2015 3:00 AM, Victoria Mercieca wrote:
Hi all,
Regarding the comments on buffering from Thomas Clausen's email...specifically:/
"
Also on buffering, I am wondering if the "start delivering buffered packets" conditions (penultimate paragraph in 6.6, and of course through the processing sections) is sufficient; I suspect that the condition "When a valid route is installed" is not sufficient - that there are situations where a routing table entry is installed, but the complete route is not available or is not bidirectional?This obviously is related to RREP_Ack being hop-by-hop and not end-to-end..../
/"
/
The route not being bidirectional (ie a complete route existing in both directions between OrigAddr and TargAddr) doesnt matter. Once we install a valid route (either to OrigAddr or to TargAddr) we will start using it, it doesnt matter if there is a route back... it can be requested if necessary.
A link in the route being bidirectional or not, does matter... Thomas is right about RREP_Ack. Because it is hop-by-hop, then even when a valid route is installed we cant guarantee that the complete route is available. But we would start sending anyway. The issue occurs if data packets are forwarded to intermediate routers before the intermediate router installed a valid route (in fact they might never install a valid route if a link is not bidirectional). If this happened, there would be packet drops and RERRs, and the route to OrigAddr would be removed at routers that were trying to use it. A new RREQ would then have to go out on behalf of the source of the traffic. So this problem would sort of fix itself....but not without lost packets, RERRs, and a new RREQ/RREP cycle. But this issue might be seen so infrequently in practise that the effort required to avoid this issue is not worth it.