提交 40187886 编写于 作者: V Vlad Yasevich

sctp: release cached route when the transport goes down.

When the sctp transport is marked down, we can release the
cached route and force a new lookup when attempting to use
this transport for anything.  This way, if a better route
or source address is available, we'll try to use it.
Signed-off-by: NVlad Yasevich <vladislav.yasevich@hp.com>
上级 3cd9749c
...@@ -810,11 +810,16 @@ void sctp_assoc_control_transport(struct sctp_association *asoc, ...@@ -810,11 +810,16 @@ void sctp_assoc_control_transport(struct sctp_association *asoc,
break; break;
case SCTP_TRANSPORT_DOWN: case SCTP_TRANSPORT_DOWN:
/* if the transort was never confirmed, do not transition it /* If the transport was never confirmed, do not transition it
* to inactive state. * to inactive state. Also, release the cached route since
* there may be a better route next time.
*/ */
if (transport->state != SCTP_UNCONFIRMED) if (transport->state != SCTP_UNCONFIRMED)
transport->state = SCTP_INACTIVE; transport->state = SCTP_INACTIVE;
else {
dst_release(transport->dst);
transport->dst = NULL;
}
spc_state = SCTP_ADDR_UNREACHABLE; spc_state = SCTP_ADDR_UNREACHABLE;
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册