• Allan Stephens's avatar
    tipc: Enhance re-initialization of network topology service · eb3865a9
    Allan Stephens authored
    Streamlines the job of re-initializing TIPC's network topology service
    when a node's network address is first assigned. Rather than destroying
    the topology server port and breaking its connections to existing
    subscribers, TIPC now simply lets the service continue running (since
    the change to the port identifier of each port used by the topology
    service no longer impacts the flow of messages between the service and
    its subscribers).
    
    This enhancement means that applications that utilize the topology
    service prior to the assignment of TIPC's network address no longer need
    to re-establish their subscriptions when the address is finally assigned.
    
    However, it is worth noting that any subsequent events for existing
    subscriptions report the new port identifier of the publishing port,
    rather than the original port identifier. (For example, a name that was
    previously reported as being published by <0.0.0:ref> may be subsequently
    withdrawn by <Z.C.N:ref>.)
    
    This doesn't impact any of the existing known userspace in tipc-utils,
    since (a) TIPC continues to treat references to the original port ID
    correctly and (b) normal use cases assign an address before active use.
    
    However if there does happen to be some rare/custom application out
    there that was relying on this, they can simply bypass the enhancement
    by issuing a subscription to {0,0} and break its connection to the
    topology service, if an associated withdrawal event occurs.
    Signed-off-by: default avatarAllan Stephens <allan.stephens@windriver.com>
    Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
    eb3865a9
net.c 7.56 KB