diff options
author | Michio Honda <micchie@sfc.wide.ad.jp> | 2011-06-17 11:03:23 +0900 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-08 15:11:29 -0500 |
commit | ddc4bbee6ef1ed20314be3888dd39ceefe233e79 (patch) | |
tree | d52c0d7e64e83dd8f17fd0340c3c62402c7cd7ce /net/sctp/sm_make_chunk.c | |
parent | 8ce120f11898c921329a5f618d01dcc1e8e69cac (diff) | |
download | op-kernel-dev-ddc4bbee6ef1ed20314be3888dd39ceefe233e79.zip op-kernel-dev-ddc4bbee6ef1ed20314be3888dd39ceefe233e79.tar.gz |
sctp: fasthandoff with ASCONF at mobile-node
Fast retransmission after changing the last address
with ASCONF negotiation
Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/sm_make_chunk.c')
-rw-r--r-- | net/sctp/sm_make_chunk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c index 0121e0a..a85eeeb 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c @@ -3400,8 +3400,10 @@ int sctp_process_asconf_ack(struct sctp_association *asoc, asconf_len -= length; } - if (no_err && asoc->src_out_of_asoc_ok) + if (no_err && asoc->src_out_of_asoc_ok) { asoc->src_out_of_asoc_ok = 0; + sctp_transport_immediate_rtx(asoc->peer.primary_path); + } /* Free the cached last sent asconf chunk. */ list_del_init(&asconf->transmitted_list); |