<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: [openib-general] SM Bad Port Handling</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> When the SM sends a direct route MAD it saves the port guid (and port</FONT>
<BR><FONT SIZE=2>> num) in the madw context, so that when there is a reply or timeout you</FONT>
<BR><FONT SIZE=2>> can easily find the port. That means you dont have to walk the entire DR</FONT>
<BR><FONT SIZE=2>> path to find the unhealthy port. That means that the peer port (from</FONT>
<BR><FONT SIZE=2>> which we arrived to the bad port) is unhealthy. Does this address your</FONT>
<BR><FONT SIZE=2>> concern ?</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>[EZ] Not at all. Although the target port is known. The flaky link that fails the mad might be anywhere along the path to the port. So, if you mark the target port as bad you might be marking the wrong port!</FONT></P>

<P><FONT SIZE=2> [EZ] Let me clarify with an example:</FONT>
<BR><FONT SIZE=2>SM=HCA1/P1 -> SW1/P1....SW1/P2->SW2/P1..SW2/P2->SW3/P1....SW3/P3->HCA2/P1</FONT>
<BR><FONT SIZE=2>                                            \..SW4/P4->SW3/P4..SW3/P5->SW3/P2../</FONT>
<BR><FONT SIZE=2>                           </FONT>
<BR><FONT SIZE=2>If the flaky link is between SW2/P2 and SW3/P1 then the packet sent to HCA2 using DR : [0][1][1][2][3] might fail . If you mark HCA2/P1 as bad then you actually will loose that HCA for no good reason since another path from SM to HCA2 exists.</FONT></P>

<P><FONT SIZE=2>EZ</FONT>
</P>

</BODY>
</HTML>