netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: pravin b shelar <pravins@calsoftinc.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev@oss.sgi.com, "David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH] : bug fix in multipath drr code.
Date: Tue, 24 May 2005 12:16:38 +0530	[thread overview]
Message-ID: <4292CDCE.2090600@calsoftinc.com> (raw)
In-Reply-To: <20050523232224.GA25349@gondor.apana.org.au>

Herbert Xu wrote:

>On Mon, May 23, 2005 at 05:56:39PM +0530, pravin wrote:
>  
>
>>        	/* if necessary and possible utilize the old alternative */
>>-	if ((flp->flags & FLOWI_FLAG_MULTIPATHOLDROUTE) != 0 &&
>>-	    last_selection != NULL) {
>>-		result = last_selection;
>>-		*rp = result;
>>-		return;
>>+	if ((flp->flags & FLOWI_FLAG_MULTIPATHOLDROUTE) != 0 ) {
>>+		struct rtable *last_result = last_selection;
>>+		if(last_result != NULL &&
>>+		   multipath_comparekeys(&last_result->fl, flp)) {
>>+			*rp = last_result;
>>+			return;
>>+		}
>> 	}
>>    
>>
>
>You don't need all this code.  All you need to do is do
>result = last_selection before the if condition and then
>check result in the if condition instead of last_selection.
>
>The multipath_comparekeys isn't necessary either.
>
>  
>
In concurrent invocations of drr_select_route() last_selection will
change to different route.
So in that case we can not  use last_selection route on basis of
FLOWI_FLAG_MULTIPATHOLDROUTE flag only, since old
route might be totally different due another invocation of same function.
So, I think multipath_comparekeys is necessary.

Please correct me if I am wrong.

Regards,
Pravin.

  reply	other threads:[~2005-05-24  6:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-23 12:26 [PATCH] : bug fix in multipath drr code pravin
2005-05-23 23:22 ` Herbert Xu
2005-05-24  6:46   ` pravin b shelar [this message]
2005-05-24  7:11     ` Herbert Xu
2005-05-24  9:57       ` pravin b shelar
2005-05-26 22:13         ` David S. 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=4292CDCE.2090600@calsoftinc.com \
    --to=pravins@calsoftinc.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=netdev@oss.sgi.com \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).