Add cleanup of SA cache after handover
PATCH 1/1 Add cleanup of SA cache after handover
From: Alex Netes <alexne-VPRAkNaXOzVWk0Htik3J/[email protected]>
Date: Sun, 19 Aug 2012 18:39:44 +0300
Previously, when SM becomes STANDBY after being MASTER, it preserved the SA cache. When the SM will become MASTER again, it's SA cache might be inconsistent. The solution is to clean the SA cache each time that the SM becomes STANDBY after a handover.
Also, enhance drop_event_subscriptions option for ServiceRecords
drop_event_subscriptions is supposed to be just drop SA event subscriptions (InformInfos). AGUID and MC subscriptions are always dropped
as client reregister mechanism works there.
As we are aware of potential issues with ServiceRecords (not being reregistered), dropping of those is also controlled by this option.
---
include/opensm/osm_port.h +56 -0
@@ -1611,5 +1611,61 @@ void osm_alias_guid_delete(IN OUT osm_alias_guid_t ** pp_alias_guid);* Port *********/ +/****f* OpenSM: Port/osm_alias_guid_get_alias_guid +* NAME +* osm_alias_guid_get_alias_guid +* +* DESCRIPTION +* This function retrieves alias guid from alias guid object. +* +* SYNOPSIS +*/ +static inline ib_net64_t osm_alias_guid_get_alias_guid(IN osm_alias_guid_t *p_alias_guid) +{ +CL_ASSERT (p_alias_guid); +return p_alias_guid->alias_guid; +} +/* +* PARAMETERS +* p_alias_guid +* [in] Pointer to a pointer to an alias guid object. +* +* RETURN VALUE +* This function returns the alias guid or NULL if fails. +* +* NOTES +* +* SEE ALSO +* Port +*********/ + +/****f* OpenSM: Port/osm_alias_guid_get_base_guid +* NAME +* osm_alias_guid_get_base_guid +* +* DESCRIPTION +* This function retrieves base guid from alias guid object. +* +* SYNOPSIS +*/ +static inline ib_net64_t osm_alias_guid_get_base_guid(IN osm_alias_guid_t *p_alias_guid) +{ +CL_ASSERT (p_alias_guid); +return osm_port_get_guid (p_alias_guid->p_base_port); +} +/* +* PARAMETERS +* p_alias_guid +* [in] Pointer to a pointer to an alias guid object. +* +* RETURN VALUE +* This function returns the base guid or NULL if fails. +* +* NOTES +* +* SEE ALSO +* Port +*********/ + END_C_DECLS#endif /* _OSM_PORT_H_ */
opensm/osm_state_mgr.c +108 -0
132 lines not on this page · raw message
opensm/osm_subnet.c +1 -1
@@ -2613,7 +2613,7 @@ void osm_subn_output_conf(FILE *out, IN osm_subn_opt_t * p_opts)"sm_inactive %s\n\n" "# Babbling Port Policy\n" "babbling_port_policy %s\n\n" -"# Drop event subscriptions (InformInfo) if the port goes away\n" +"# Drop event subscriptions (InformInfo and ServiceRecord) on port removal and SM coming out of STANDBY\n" "drop_event_subscriptions %s\n\n" "# Use Optimized SLtoVLMapping programming if supported by device\n" "use_optimized_slvl %s\n\n"
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html