public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Or Gerlitz <ogerlitz-smomgflXvOZWk0Htik3J/w@public.gmane.org>
To: Sumeet Lahorani
	<Sumeet.Lahorani-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Richard Frank
	<richard.frank-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>,
	Sumanta Chatterjee
	<sumanta.chatterjee-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Subject: Re: switching the active interface for bonding
Date: Wed, 14 Oct 2009 13:15:23 +0200	[thread overview]
Message-ID: <4AD5B2CB.8070706@voltaire.com> (raw)
In-Reply-To: <4AD35909.9020006-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>

Sumeet Lahorani wrote:
> We are [...] trying to simulate the effect of a bonding failover 
> initiated by a switch failure using echo commands in parallel to the 
> /sys/class/net/bond0/bonding/active_slave file on a few of the nodes 
> attached to the switch. Is this an acceptable technique?
yes

> We are trying to avoid actually resetting the switch to avoid 
> affecting other nodes connected to the same switch, since the other 
> nodes are being used for other purposes
There's no need to reboot a switch in order to cause an IB link down 
event on an HCA port across the wire connected to one of the switch 
ports. You can administratively disable the switch port you want and 
later administratively enable it. This is simple as

    $ ibportstate disable/query/enable $LID $PORT

using the switch one and the switch port the hca port is connected to.

> Would there be any difference in terms of the code path which the 
> bonding driver/ofed stack follows when we do this as opposed to 
> resetting the switch?
yes and yes.

Bonding wise, when setting the active slave through sysfs, the bonding 
driver doesn't go through the link monitoring code, wheres if you do 
cause a link down it does.

As for the IB stack (there's nothing like "ofed stack", ofed is just a 
bunch of rpms installed over your distro), when a port goes down, things 
happen...  if the software you're using counts/uses IB port down events, 
you may exercise a different flow, e.g IPoIB is using these events, and 
you will not go through the port down flow of it. Next, if some code 
you're working with uses the IB RC transport, then depending on the 
timeout programmed to the RC QP, a transport timeout may happen which in 
turn causes the HW to move the QP into the error state, and so on.

Or
--
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:[~2009-10-14 11:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-12 16:27 switching the active interface for bonding Sumeet Lahorani
     [not found] ` <4AD35909.9020006-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2009-10-14 11:15   ` Or Gerlitz [this message]
2009-10-14 11:20   ` Or Gerlitz

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=4AD5B2CB.8070706@voltaire.com \
    --to=ogerlitz-smomgflxvozwk0htik3j/w@public.gmane.org \
    --cc=Sumeet.Lahorani-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=richard.frank-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=sumanta.chatterjee-QHcLZuEGTsvQT0dZR+AlfA@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