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