• Jon Paul Maloy's avatar
    tipc: clean up neigbor discovery message reception · c82910e2
    Jon Paul Maloy authored
    The function tipc_disc_rcv(), which is handling received neighbor
    discovery messages, is perceived as messy, and it is hard to verify
    its correctness by code inspection. The fact that the task it is set
    to resolve is fairly complex does not make the situation better.
    
    In this commit we try to take a more systematic approach to the
    problem. We define a decision machine which takes three state flags
     as input, and produces three action flags as output. We then walk
    through all permutations of the state flags, and for each of them we
    describe verbally what is going on, plus that we set zero or more of
    the action flags. The action flags indicate what should be done once
    the decision machine has finished its job, while the last part of the
    function deals with performing those actions.
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Reviewed-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c82910e2
discover.c 12.3 KB