• J
    tipc: stricter filtering of packets in bearer layer · 5b7066c3
    Jon Paul Maloy 提交于
    Resetting a bearer/interface, with the consequence of resetting all its
    pertaining links, is not an atomic action. This becomes particularly
    evident in very large clusters, where a lot of traffic may happen on the
    remaining links while we are busy shutting them down. In extreme cases,
    we may even see links being re-created and re-established before we are
    finished with the job.
    
    To solve this, we now introduce a solution where we temporarily detach
    the bearer from the interface when the bearer is reset. This inhibits
    all packet reception, while sending still is possible. For the latter,
    we use the fact that the device's user pointer now is zero to filter out
    which packets can be sent during this situation; i.e., outgoing RESET
    messages only.  This filtering serves to speed up the neighbors'
    detection of the loss event, and saves us from unnecessary probing.
    Acked-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>
    5b7066c3
bearer.c 25.5 KB