Hi,
However, in this case, that is not the best choice since every second packet send via A-c-D needs to be retransmitted on the link A-c, which would not be necessary if send via A-b-D . Don't know if you agree, ...is that reasonable? Also I don't have any simple approach in mind to solve this but it might be worth to reconsider.
I think you made a good point but I even would go a step further. Consider this: A downloads a file from D thus using D-b-A (with 50% packet loss). But each packet has to be acknowledged and every second acknowledgement is also lost (via A-c-D) . That is why D will resend every second packet and the throughput will suffer even more.
I think we should find a solution here but up to now I don't have a clue how to do it.
Regards, Marek