[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170814.112053.618707344690020434.davem@davemloft.net>
Date: Mon, 14 Aug 2017 11:20:53 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: jon.maloy@...csson.com
Cc: netdev@...r.kernel.org, parthasarathy.bhuvaragan@...csson.com,
ying.xue@...driver.com, tipc-discussion@...ts.sourceforge.net
Subject: Re: [net 1/1] tipc: avoid inheriting msg_non_seq flag when message
is returned
From: Jon Maloy <jon.maloy@...csson.com>
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 <canh.d.luu@...tech.com.au>
> Signed-off-by: Jon Maloy <jon.maloy@...csson.com>
Also applied, thanks again.
Powered by blists - more mailing lists