From: SourceForge.net <no...@so...> - 2006-08-25 19:28:57
|
Feature Requests item #1533344, was opened at 2006-08-02 13:48 Message generated for change (Settings changed) made by renierm You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=532254&aid=1533344&group_id=71730 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: OpenHPI base library >Group: 2.7.0 Status: Open Resolution: None Priority: 5 Submitted By: Renier Morales (renierm) Assigned to: Renier Morales (renierm) Summary: Event/Resource processing enhancements Initial Comment: I'm proposing to do these changes to oh_event which affect the way plugins report events. There are two main problems with the way we do it now: 1. We allow changes to the RDR repository once the resource has been added to the RPT. This is not spec compliant. 2. We allow removal of Non-FRU resource from the RPT. This also is not spec compliant Following, the proposed changes to fix this: struct oh_event { SaHpiDomainIdT did; /* domain id for the event */ unsigned int hid; /* handler id for the event */ SaHpiEventT event; /* If no resource, ResourceCapabilities must be 0 */ SaHpiRptEntry resource; GSList *rdrs; }; /*** * Instructions for using oh_event * oh_event is primarily used by the plugins to report HPI events. * * Required Fields: * .did, .event * * Optional Fields: * .resource, .rdrs * * FRU Resource oh_events: * If reporting a resource, the plugin sets the appropiate event in .event. * For example, if reporting an new FRU resource , then the event should be * a hotswap type showing the correct hotswap state (any except NOT_PRESENT) * indicating the library that it should add it to the RPT. * If its just updating the FRU RPT entry, then it should come with a hotswap * event with appropiate transition (current and previous hotswap states equal * or as appropiate). The library will update the RPT entry accordingly. * If the plugin needs to report an extracted FRU, then the hotswap * event has to show the NOT_PRESENT current state, indicating to the library * that it should remove it from the RPT. * In all of this cases, there should be a valid resource with a non-zero * ResoruceId set in .resource. * Hotswap events must have their accompaining resource set its capability bit * for FRU to 1 or it will be dropped by the infrastructure. * * Non-FRU Resource oh_events: * For adding or updating Non-FRU resources, the .event should be a resource * type HPI event and the ResourceEventType should be RESOURCE_ADDED or * RESOURCE_RESTORED. The resource itself should have its capability bit for * FRU set to zero or the event will be dropped by the infrastructure. * Removing Non-FRU resource from the RPT is not supported anymore as this is * not spec compliant. The Non-FRU resources are always there, but they are either * working or failed. If a resource is failed, then the oh_event should have a * resource event type with the resource state as RESOURCE_FAILED. The .resource * field should have the resource in question. This is used by the infrastructure * to update the RPT and mark the resource as failed (ResourceFailed == True). * * RDRs: * If the event is for a resource, be it FRU or Non-FRU, and the resource did not * previously exist in the RPT for the domain (indicated by .did), then * the .rdrs field is scanned for valid SaHpiRdrTs (RdrType != SAHPI_NO_RECORD) * objects and each one is added as an rdr for the resource to the RPT. * If the resource is already in the RPT, then the rdrs field will be ignored. * This is to avoid changes to the RDR repository of a resource once the resource * has already been added as this is not spec compliant. **/ ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=532254&aid=1533344&group_id=71730 |