• Jon Paul Maloy's avatar
    tipc: move fragment importance field to new header position · dde4b5ae
    Jon Paul Maloy authored
    In commit e3eea1eb ("tipc: clean up handling of message priorities")
    we introduced a field in the packet header for keeping track of the
    priority of fragments, since this value is not present in the specified
    protocol header. Since the value so far only is used at the transmitting
    end of the link, we have not yet officially defined it as part of the
    protocol.
    
    Unfortunately, the field we use for keeping this value, bits 13-15 in
    in word 5, has turned out to be a poor choice; it is already used by the
    broadcast protocol for carrying the 'network id' field of the sending
    node. Since packet fragments also need to be transported across the
    broadcast protocol, the risk of conflict is obvious, and we see this
    happen when we use network identities larger than 2^13-1. This has
    escaped our testing because we have so far only been using small network
    id values.
    
    We now move this field to bits 0-2 in word 9, a field that is guaranteed
    to be unused by all involved protocols.
    
    Fixes: e3eea1eb ("tipc: clean up handling of message priorities")
    Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Acked-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    dde4b5ae
msg.h 20.3 KB