public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
To: Hal Rosenstock <hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: ibnetdiscover issue with multiported CA (or router) with multiple ports on same subnet
Date: Wed, 1 Sep 2010 16:43:44 +0300	[thread overview]
Message-ID: <20100901134344.GC12172@me> (raw)
In-Reply-To: <AANLkTi=54yw-YcpXNvWmsCFybZhTZX6Hp6=KW6Gz9KLH-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hi Hal,

On 13:27 Wed 25 Aug     , Hal Rosenstock wrote:
> 
> I'm seeing an issue with ibnetdiscover from a CA port where it appears
> to extend a path at a "remote" CA port (it's actually another port on
> the same CA) to query NodeInfo of the next hop beyond it. I get the
> following error message:
> 
> src/query_smp.c:188; umad (DR path slid 0; dlid 0; 0,1,20,2 Attr
> 0x11:0) bad status 110; Connection timed out
> 
> where smpquery -D nodeinfo of 0,1,20 is a CA which can also be seen
> from the topology.
> 
> It appears to stem from the following code snippet from
> libibnetdisc/src/ibnetdisc.c:recv_port_info
> 
>         if (port_num && mad_get_field(port->info, 0, IB_PORT_PHYS_STATE_F)
>             == IB_PORT_PHYS_STATE_LINKUP
>             && ((node->type == IB_NODE_SWITCH && port_num != local_port) ||
>                 (node == fabric->from_node && port_num == local_port))) {
>                 ib_portid_t path = smp->path;
>                 if (extend_dpath(engine, &path, port_num) > 0)
>                         query_node_info(engine, &path, node);
>         }

This makes sense for me.

> 
> that was introduced by:
> commit fcb8d5e7588e38508a8e354c37009d73c0a3889f
> Author: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
> Date:   Sat Apr 10 02:43:24 2010 +0300
> 
>     libibnetdisc: no backward NodeInfo queries
> 
>     Then switch is reached via port N we don't need to query back via this
>     port - source node is discovered already. Finally this saves some amount
>     of unnecessary MADs.
> 
>     Signed-off-by: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
> 
> and subsequently modified by:
> commit 49d149c63a44d99259f516a15af53d8cf3f0e7c9
> Author: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
> Date:   Tue Apr 13 19:54:45 2010 +0300
> 
>     libibnetdisc: don't try to cross discovery over CA
> 
>     When discovery is running from CA node it shouldn't try to cross over
>     all ports, but only via local one (send over non-local ports will fail
>     since CA doesn't route MADs).
> 
>     Signed-off-by: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
> 
> due to the (node == fabric->from_node && port_num == local_port)
> clause being TRUE.

But I don't see how those patches are actually related to the story. An
original (before patches) condition was:

	if (port_num && mad_get_field(port->info, 0, IB_PORT_PHYS_STATE_F)
	    == IB_PORT_PHYS_STATE_LINKUP
	    && (node->type == IB_NODE_SWITCH || node == fabric->from_node))

, which has the described bug as I can understand this.

Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2010-09-01 13:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-25 17:27 ibnetdiscover issue with multiported CA (or router) with multiple ports on same subnet Hal Rosenstock
     [not found] ` <AANLkTi=54yw-YcpXNvWmsCFybZhTZX6Hp6=KW6Gz9KLH-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-01 13:43   ` Sasha Khapyorsky [this message]
2010-09-01 13:47     ` Hal Rosenstock
     [not found]       ` <AANLkTi=RuZukS=kNkZVxax3CP8oZROqYxe71GQfuV2Rx-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-01 17:06         ` Sasha Khapyorsky

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=20100901134344.GC12172@me \
    --to=sashak-smomgflxvozwk0htik3j/w@public.gmane.org \
    --cc=hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.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: 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