Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions rdma/discovery.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Copyright 2011 Obsidian Research Corp. GPLv2, see COPYING.
import rdma;
import logging;
import collections;
import rdma.path;
import rdma.satransactor;
Expand Down Expand Up @@ -293,7 +294,12 @@ def do_todo(self,old_ctx,bucket,depth):
def do_port(self,path,node,aport,portIdx,depth):
"""Coroutine to get a :class:`~rdma.IBA.SMPPortInfo` and schedule
scanning the attached node, if applicable."""
pinf = yield self.sched.SubnGet(IBA.SMPPortInfo,path,portIdx);
try:
pinf = yield self.sched.SubnGet(IBA.SMPPortInfo,path,portIdx)
except rdma.RDMAError as e:
logging.error(e)
pinf = IBA.SMPPortInfo()
pinf.portState = IBA.PORT_STATE_DOWN
aport = self.sbn.get_port_pinf(pinf,path=path,portIdx=portIdx);

if self.lid_route and isinstance(path,rdma.path.IBDRPath):
Expand All @@ -319,7 +325,12 @@ def do_port(self,path,node,aport,portIdx,depth):
def do_node(self,path,depth=0,peer=None):
"""Coroutine to get the :class:`~rdma.IBA.SMPNodeInfo` and scan all the
port infos."""
ninf = yield self.sched.SubnGet(IBA.SMPNodeInfo,path);
try:
ninf = yield self.sched.SubnGet(IBA.SMPNodeInfo,path);
except rdma.RDMAError as err:
logging.error(err)
return

node,port = self.sbn.get_node_ninf(ninf,path);

if isinstance(node,rdma.subnet.Switch):
Expand Down