• Allan Stephens's avatar
    tipc: Optimizations & corrections to message rejection · 7dd1bf28
    Allan Stephens authored
    Optimizes the creation of a returned payload message by duplicating
    the original message and then updating the small number of fields
    that need to be adjusted, rather than building the new message header
    from scratch. In addition, certain operations that are not always
    required are relocated so that they are only done if needed.
    
    These optimizations also have the effect of addressing other issues
    that were present previously:
    
    1) Fixes a bug that caused the socket send routines to return the
    size of the returned message, rather than the size of the sent
    message, when a returnable payload message was sent to a non-existent
    destination port.
    
    2) The message header of the returned message now matches that of
    the original message more closely. The header is now always the same
    size as the original header, and some message header fields that
    weren't being initialized in the returned message header are now
    populated correctly -- namely the "d" and "s" bits, and the upper
    bound of a multicast name instance (where present).
    Signed-off-by: default avatarAllan Stephens <allan.stephens@windriver.com>
    Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
    7dd1bf28
port.c 32.3 KB