1. Introduction 1.1. Project/Component Working Name: New subclass for DR class events 1.2. Name of Document Author/Supplier: Author: Dolpher Du/River Li 1.3. Date of This Document: 1 June, 2007 4. Technical Description: 1) Background ============= The sfx-4500 disk monitor, which is used to monitor the status of disk, requires the mpt HBA driver to generate notification events when sata drives are removed or inserted. The mpt HBA controller hardware provides asynchronous message mechanism to notify HBA driver about target hotplug. When mpt HBA driver receives such messages, it should generate EC_DR events and reports them to upper level consumers. 2) Problem ========== The EC_DR event class was defined in PSARC 2000/189. It contains two subclasses: ESC_DR_AP_STATE_CHANGE and ESC_DR_REQ, both of which are designed to reflect the status change of dynamic attachment point. The dynamic attachment point defined in cfgadm(1M) is a lun based conception for SCSI, not target based. For the SCSI/SAS HBAs that are target status sensitive, those two type of events are not feasible since the host HBA driver can't get the notification of single lun online or offline from hardware if the target keeps connection. In other respect, the existing event subclasses are not convenient for consumers that only care for target status change. 3) Solution =========== We propose a new subclass belonging to the EC_DR class. It is used to describe target status change, and defined as following: ESC_DR_TARGET_STATE_CHANGE (per target state change event) Description - Indicate a cable connection state change Commitment Level - "Consolidation Private" Event Class - EC_DR Event Sub-Class - ESC_DR_TARGET_STATE_CHANGE Event Publisher - SUNW:kern: Attribute Name - TARGET_ID Attribute Type - [SE_DATA_TYPE_STRING] Attribute Value - Attribute Name - HINT Attribute Type - [SE_DATA_TYPE_STRING] Attribute Value - "" | "insert" | "remove" | ... For example, a sata disk is connected to LSI SAS controller, and marked as target 5. The physical path of the LSI SAS controller is /devices/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@1. When the sata disk is removed physically, mpt driver will generate the ESC_DR_TARGET_STATE_CHANGE event. Its TARGET_ID payload is /devices/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@1:5, and HINT is "remove". This event will be first used by mpt driver, but the concept of target id is not limited to SCSI, it's common enough for other HBA drivers to use. 5. Reference Documents: PSARC 2000/189 PSARC/1998/424 6. Resources and Schedule: 6.4. Product Approval Committee requested information: 6.4.1. Consolidation or Component Name: ON 6.5. ARC review type: FastTrack