From: Vlad Yasevich <vyasevich@gmail.com> To: Daniel Borkmann <dborkman@redhat.com>, davem@davemloft.net Cc: netdev@vger.kernel.org, linux-sctp@vger.kernel.org Subject: Re: [PATCH net 2/2] net: sctp: fix suboptimal edge-case on non-active active/retrans path selection Date: Fri, 22 Aug 2014 10:39:36 -0400 [thread overview] Message-ID: <53F75628.8050109@gmail.com> (raw) In-Reply-To: <1408705410-28558-3-git-send-email-dborkman@redhat.com> On 08/22/2014 07:03 AM, Daniel Borkmann wrote: > In SCTP, selection of active (T.ACT) and retransmission (T.RET) > transports is being done whenever transport control operations > (UP, DOWN, PF, ...) are engaged through sctp_assoc_control_transport(). > > Commits 4c47af4d5eb2 ("net: sctp: rework multihoming retransmission > path selection to rfc4960") and a7288c4dd509 ("net: sctp: improve > sctp_select_active_and_retran_path selection") have both improved > it towards a more fine-grained and optimal path selection. > .. snip excellent changelog description ... > T2 S(ACTIVE) T.RET > > Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Acked-by: Vlad Yasevich <vyasevich@gmail.com> > --- > net/sctp/associola.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/net/sctp/associola.c b/net/sctp/associola.c > index 104fae4..a88b852 100644 > --- a/net/sctp/associola.c > +++ b/net/sctp/associola.c > @@ -1356,14 +1356,11 @@ static void sctp_select_active_and_retran_path(struct sctp_association *asoc) > trans_sec = trans_pri; > > /* If we failed to find a usable transport, just camp on the > - * primary or retran, even if they are inactive, if possible > - * pick a PF iff it's the better choice. > + * active or pick a PF iff it's the better choice. > */ > if (trans_pri == NULL) { > - trans_pri = sctp_trans_elect_best(asoc->peer.primary_path, > - asoc->peer.retran_path); > - trans_pri = sctp_trans_elect_best(trans_pri, trans_pf); > - trans_sec = asoc->peer.primary_path; > + trans_pri = sctp_trans_elect_best(asoc->peer.active_path, trans_pf); > + trans_sec = trans_pri; > } > > /* Set the active and retran transports. */ >
WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevich@gmail.com> To: Daniel Borkmann <dborkman@redhat.com>, davem@davemloft.net Cc: netdev@vger.kernel.org, linux-sctp@vger.kernel.org Subject: Re: [PATCH net 2/2] net: sctp: fix suboptimal edge-case on non-active active/retrans path selection Date: Fri, 22 Aug 2014 14:39:36 +0000 [thread overview] Message-ID: <53F75628.8050109@gmail.com> (raw) In-Reply-To: <1408705410-28558-3-git-send-email-dborkman@redhat.com> On 08/22/2014 07:03 AM, Daniel Borkmann wrote: > In SCTP, selection of active (T.ACT) and retransmission (T.RET) > transports is being done whenever transport control operations > (UP, DOWN, PF, ...) are engaged through sctp_assoc_control_transport(). > > Commits 4c47af4d5eb2 ("net: sctp: rework multihoming retransmission > path selection to rfc4960") and a7288c4dd509 ("net: sctp: improve > sctp_select_active_and_retran_path selection") have both improved > it towards a more fine-grained and optimal path selection. > .. snip excellent changelog description ... > T2 S(ACTIVE) T.RET > > Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Acked-by: Vlad Yasevich <vyasevich@gmail.com> > --- > net/sctp/associola.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/net/sctp/associola.c b/net/sctp/associola.c > index 104fae4..a88b852 100644 > --- a/net/sctp/associola.c > +++ b/net/sctp/associola.c > @@ -1356,14 +1356,11 @@ static void sctp_select_active_and_retran_path(struct sctp_association *asoc) > trans_sec = trans_pri; > > /* If we failed to find a usable transport, just camp on the > - * primary or retran, even if they are inactive, if possible > - * pick a PF iff it's the better choice. > + * active or pick a PF iff it's the better choice. > */ > if (trans_pri = NULL) { > - trans_pri = sctp_trans_elect_best(asoc->peer.primary_path, > - asoc->peer.retran_path); > - trans_pri = sctp_trans_elect_best(trans_pri, trans_pf); > - trans_sec = asoc->peer.primary_path; > + trans_pri = sctp_trans_elect_best(asoc->peer.active_path, trans_pf); > + trans_sec = trans_pri; > } > > /* Set the active and retran transports. */ >
next prev parent reply other threads:[~2014-08-22 14:39 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-08-22 11:03 [PATCH net 0/2] SCTP fix Daniel Borkmann 2014-08-22 11:03 ` Daniel Borkmann 2014-08-22 11:03 ` [PATCH net 1/2] net: sctp: spare unnecessary comparison in sctp_trans_elect_best Daniel Borkmann 2014-08-22 11:03 ` Daniel Borkmann 2014-08-22 12:13 ` Neil Horman 2014-08-22 12:13 ` Neil Horman 2014-08-22 14:38 ` Vlad Yasevich 2014-08-22 14:38 ` Vlad Yasevich 2014-08-22 11:03 ` [PATCH net 2/2] net: sctp: fix suboptimal edge-case on non-active active/retrans path selection Daniel Borkmann 2014-08-22 11:03 ` Daniel Borkmann 2014-08-22 12:30 ` Neil Horman 2014-08-22 12:30 ` Neil Horman 2014-08-22 14:39 ` Vlad Yasevich [this message] 2014-08-22 14:39 ` Vlad Yasevich 2014-08-22 18:31 ` [PATCH net 0/2] SCTP fix David Miller 2014-08-22 18:31 ` David Miller
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=53F75628.8050109@gmail.com \ --to=vyasevich@gmail.com \ --cc=davem@davemloft.net \ --cc=dborkman@redhat.com \ --cc=linux-sctp@vger.kernel.org \ --cc=netdev@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.