OpenSM: Support C14-24-2.1 in terms of valid components when PortState
is DOWN

Signed-off-by: Hal Rosenstock <[EMAIL PROTECTED]>

Index: include/opensm/osm_port.h
===================================================================
--- include/opensm/osm_port.h   (revision 7396)
+++ include/opensm/osm_port.h   (working copy)
@@ -427,7 +427,8 @@ osm_physp_set_health(
 *      osm_physp_set_port_info
 *
 * DESCRIPTION
-*      Copies the PortInfo attribute into the Physical Port object.
+*      Copies the PortInfo attribute into the Physical Port object
+*      based on the PortState.
 *
 * SYNOPSIS
 */
@@ -438,7 +439,19 @@ osm_physp_set_port_info(
 {
        CL_ASSERT( p_pi );
        CL_ASSERT( osm_physp_is_valid( p_physp ) );
-       p_physp->port_info = *p_pi;
+
+       if (ib_port_info_get_port_state(p_pi) == IB_LINK_DOWN)
+       {
+         /* If PortState is down, only copy PortState */
+         /* PortPhysicalState per C14-24-2.1 */
+         ib_port_info_set_port_state(&p_physp->port_info, IB_LINK_DOWN);
+         ib_port_info_set_port_phys_state(
+               ib_port_info_get_port_phys_state(p_pi), &p_physp->port_info);
+       }
+       else
+       {
+         p_physp->port_info = *p_pi;
+       }
 }
 /*
 * PARAMETERS



_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to