On Monday 10 August 2009 15:20:28 Yang Su wrote:
For the echo cancellation example: the problem happens
with the interaction
between A and B. Because of the asym link, A chooses B as its next neighbor
towards F. Because the asym path is short, B always receives F's OGM from A
first (before B receives the OGM with the same seqno from C). As a result,
from A's point of view, F's OGMs rebroadcasted by B are always echoes and A
will never update the TQ information towards F via B.
When the quality of any links on the path B to F drops down, B might choose
A as its next neighbor towards F and a loop forms between A and B.
Ah, here we have the misunderstanding. Let me briefly outline how the echo
cancellation works (I refer to your PDF-example):
1. Node C emits a packet.
2. Node B receives it and writes the address of Node C in the previous sender
field because it received that packet via C. Now, B rebroadcasts the OGM.
3. Node C receives the packet it sent before and discards it as the packet
contains its own address in the previous sender field.
4. Node A happily receives the packet (and goes back to step 2).
The echo cancellation will not kill the packets coming via the longer path.
Does this help ?
Regards,
Marek