sctp: update the route for non-active transports after addresses are added
Update the route and saddr entries for the non-active transports as some of the added addresses can be used as better source addresses, or may be there is a better route. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
This commit is contained in:
parent
44e65c1ef1
commit
3cd9749c0b
1 changed files with 8 additions and 0 deletions
|
@ -3134,6 +3134,14 @@ static void sctp_asconf_param_success(struct sctp_association *asoc,
|
||||||
saddr->state = SCTP_ADDR_SRC;
|
saddr->state = SCTP_ADDR_SRC;
|
||||||
}
|
}
|
||||||
local_bh_enable();
|
local_bh_enable();
|
||||||
|
list_for_each_entry(transport, &asoc->peer.transport_addr_list,
|
||||||
|
transports) {
|
||||||
|
if (transport->state == SCTP_ACTIVE)
|
||||||
|
continue;
|
||||||
|
dst_release(transport->dst);
|
||||||
|
sctp_transport_route(transport, NULL,
|
||||||
|
sctp_sk(asoc->base.sk));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SCTP_PARAM_DEL_IP:
|
case SCTP_PARAM_DEL_IP:
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
|
|
Loading…
Add table
Reference in a new issue