Message ID | a9f65034deb5ffa57ea704f99102fcefb9bff539.1619812899.git.lucien.xin@gmail.com |
---|---|
State | New |
Headers | show |
Series | sctp: always send a chunk with the asoc that it belongs to | expand |
On Fri, 30 Apr 2021, Xin Long wrote: > This can be reverted as shutdown and cookie_ack chunk are using the > same asoc since the last patch. > > This reverts commit 145cb2f7177d94bc54563ed26027e952ee0ae03c. I think this should not be reverted. Without it, SHUTDOWN would get its transport from sctp_assoc_choose_alter_transport(), which could be different from the COOKIE-ACK transport, which would prevent bundling. > > Signed-off-by: Xin Long <lucien.xin@gmail.com> > Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> > --- > net/sctp/sm_statefuns.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c > index 30cb946..e8ccc4e 100644 > --- a/net/sctp/sm_statefuns.c > +++ b/net/sctp/sm_statefuns.c > @@ -1892,7 +1892,7 @@ static enum sctp_disposition sctp_sf_do_dupcook_a( > */ > sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(repl)); > return sctp_sf_do_9_2_start_shutdown(net, ep, asoc, > - SCTP_ST_CHUNK(0), repl, > + SCTP_ST_CHUNK(0), NULL, > commands); > } else { > sctp_add_cmd_sf(commands, SCTP_CMD_NEW_STATE, > @@ -5536,7 +5536,7 @@ enum sctp_disposition sctp_sf_do_9_2_start_shutdown( > * in the Cumulative TSN Ack field the last sequential TSN it > * has received from the peer. > */ > - reply = sctp_make_shutdown(asoc, arg); > + reply = sctp_make_shutdown(asoc, NULL); > if (!reply) > goto nomem; > > @@ -6134,7 +6134,7 @@ enum sctp_disposition sctp_sf_autoclose_timer_expire( > disposition = SCTP_DISPOSITION_CONSUME; > if (sctp_outq_is_empty(&asoc->outqueue)) { > disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type, > - NULL, commands); > + arg, commands); > } > > return disposition; > -- > 2.1.0
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index 30cb946..e8ccc4e 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c @@ -1892,7 +1892,7 @@ static enum sctp_disposition sctp_sf_do_dupcook_a( */ sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(repl)); return sctp_sf_do_9_2_start_shutdown(net, ep, asoc, - SCTP_ST_CHUNK(0), repl, + SCTP_ST_CHUNK(0), NULL, commands); } else { sctp_add_cmd_sf(commands, SCTP_CMD_NEW_STATE, @@ -5536,7 +5536,7 @@ enum sctp_disposition sctp_sf_do_9_2_start_shutdown( * in the Cumulative TSN Ack field the last sequential TSN it * has received from the peer. */ - reply = sctp_make_shutdown(asoc, arg); + reply = sctp_make_shutdown(asoc, NULL); if (!reply) goto nomem; @@ -6134,7 +6134,7 @@ enum sctp_disposition sctp_sf_autoclose_timer_expire( disposition = SCTP_DISPOSITION_CONSUME; if (sctp_outq_is_empty(&asoc->outqueue)) { disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type, - NULL, commands); + arg, commands); } return disposition;