• J
    tipc: drop tunneled packet duplicates at reception · 2da71425
    Jon Paul Maloy 提交于
    In commit 8b4ed863
    ("tipc: eliminate race condition at dual link establishment")
    we introduced a parallel link synchronization mechanism that
    guarentees sequential delivery even for users switching from
    an old to a newly established link. The new mechanism makes it
    unnecessary to deliver the tunneled duplicate packets back to
    the old link, as we are currently doing. It is now sufficient
    to use the last tunneled packet's inner sequence number as
    synchronization point between the two parallel links, whereafter
    it can be dropped.
    
    In this commit, we drop the duplicate packets arriving on the new
    link, after updating the synchronization point at each new arrival.
    
    Although it would now have been sufficient for the other endpoint
    to only tunnel the last packet in its send queue, and not the
    entire queue, we must still do this to maintain compatibility
    with older nodes.
    
    This commit makes it possible to get rid if some complex
    interaction between the two parallel links.
    Reviewed-by: NYing Xue <ying.xue@windriver.com>
    Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    2da71425
link.c 62.5 KB