From: Jon Maloy <[email protected]> Date: Mon, 14 Aug 2017 18:28:49 +0200
> In the function msg_reverse(), we reverse the header while trying to > reuse the original buffer whenever possible. Those rejected/returned > messages are always transmitted as unicast, but the msg_non_seq field > is not explicitly set to zero as it should be. > > We have seen cases where multicast senders set the message type to > "NOT dest_droppable", meaning that a multicast message shorter than > one MTU will be returned, e.g., during receive buffer overflow, by > reusing the original buffer. This has the effect that even the > 'msg_non_seq' field is inadvertently inherited by the rejected message, > although it is now sent as a unicast message. This again leads the > receiving unicast link endpoint to steer the packet toward the broadcast > link receive function, where it is dropped. The affected unicast link is > thereafter (after 100 failed retransmissions) declared 'stale' and > reset. > > We fix this by unconditionally setting the 'msg_non_seq' flag to zero > for all rejected/returned messages. > > Reported-by: Canh Duc Luu <[email protected]> > Signed-off-by: Jon Maloy <[email protected]> Also applied, thanks again. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ tipc-discussion mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tipc-discussion
