290 likes | 402 Views
Functions for Virtualization API. T11/07-427v0 25 July 2007 Bob Nixon. Physical HBA. 0-1. 0-1. PHBA handle, manufacturer, model #, serial #, # Ports. 1. 0-1. 0-1. 0-n. 0-1. 0-n. FC Port. FC Phy. Fabric. Port statistics. Fabric/Nx_Port. Fabric. Phy statistics. HBA.
E N D
Functions for Virtualization API T11/07-427v0 25 July 2007 Bob Nixon 07-427v0 - Functions for Virtualization API
Physical HBA 0-1 0-1 PHBA handle, manufacturer, model #, serial #, # Ports 1 0-1 0-1 0-n 0-1 0-n FC Port FC Phy Fabric Port statistics Fabric/Nx_Port Fabric Phy statistics HBA Protocol statistics Bus Address 0-n 1 1 1 FC-4 TYPE, I/O counters: Input operations, output operations, control operations Port index, Port name, Port address, Fabric name, ... # of Phys=1 traffic counters: frames, words Fabric name VFID, inorder,… VFID mask VF_ID, in-order delivery, … Phy index, speed, topology, physical attributes variants for different standard buses traffic counters: frames, words link error counters Fabric name HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports Fabric/Phy 0-1 0-n VFID Mask, Port VFID 0-1 1-n 0-n 0-n 1 1 0-n 1 Review: The HBA API virtualization model Green borders: carryover from SM-HBA Bold borders: physical objects 07-427v0 - Functions for Virtualization API
Goals • Flexibility to permit a variety of support options • …from legacy SM-HBA… • …to fully dynamic application controlled virtualization • For all virtual objects, functions to: • Create • Delete • Link and unlink • Traverse links in either direction • For all physical objects: • Automatically maintained by driver/library • No create/delete • There are all the necessary events for tracking changes in virtual element configuration and status • But I don’t know what they are yet 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports Phy statistics Bus Address FC Phy traffic counters: frames, words link error counters variants for different standard buses Phy index, speed, topology, physical attributes A use case: Discovery of physical inventory Bold borders: physical objects SMHBA_GetAllPAdapters SMHBA_GetPhysForAdapter SMHBA_GetBusAddress SMHBA_GetPhyStatistics 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports FC Phy Phy statistics Bus Address FabricA Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses VF_ID, Fabric name, in-order delivery, … SMHBA_AddFabric 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports FC Phy Phy statistics Bus Address FabricA Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses VF_ID, Fabric name, in-order delivery, … SMHBA_LinkFabricToPhy 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports FC Phy Phy statistics Bus Address Fabric FabricB Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses VF_ID, Fabric name, in-order delivery, … VF_ID, Fabric name, in-order delivery, … Add and link another Fabric (we got VSAN!) 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports FC Phy Phy statistics Bus Address Fabric FabricB Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses VF_ID, Fabric name, in-order delivery, … VF_ID, Fabric name, in-order delivery, … SMHBA_StartFabricsOnPhy (start VSANs) 07-427v0 - Functions for Virtualization API
Physical HBA Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports PHBA handle, manufacturer, model #, serial #, # Ports FC Phy FC Phy Phy statistics Bus Address Bus Address Fabric Phy statistics FabricB variants for different standard buses Phy index, speed, topology, physical attributes VF_ID, Fabric name, in-order delivery, … Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters VF_ID, Fabric name, in-order delivery, … variants for different standard buses traffic counters: frames, words link error counters Another HBA on the same Fabrics? …but for now, Let’s not go there …just link the Phys to the existing Fabrics 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports HBA FabricB Phy statistics Bus Address FC Phy Fabric VF_ID, Fabric name, in-order delivery, … Phy index, speed, topology, physical attributes HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports traffic counters: frames, words link error counters variants for different standard buses VF_ID, Fabric name, in-order delivery, … SMHBA_AddAdapter 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports 1 FabricB Phy statistics Bus Address HBA FC Phy Fabric VF_ID, Fabric name, in-order delivery, … Phy index, speed, topology, physical attributes VF_ID, Fabric name, in-order delivery, … HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports traffic counters: frames, words link error counters variants for different standard buses 1-n SMHBA_LinkAdapterToPAdapter 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports 1 FC Phy Bus Address Fabric HBA Phy statistics FabricB Bus Address VF_ID, Fabric name, in-order delivery, … Phy index, speed, topology, physical attributes variants for different standard buses variants for different standard buses HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports traffic counters: frames, words link error counters VF_ID, Fabric name, in-order delivery, … 1-n SMHBA_AddBusAddr 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports 1 Protocol statistics Phy statistics Bus Address FC Port X Fabric Bus Address FabricB FC Phy HBA Port statistics HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses FC-4 TYPE, I/O counters: Input operations, output operations, control operations VF_ID, Fabric name, in-order delivery, … variants for different standard buses VF_ID, Fabric name, in-order delivery, … Port index, Port name, Port address, Fabric name, ... # of Phys=1 traffic counters: frames, words 1-n SMHBA_AddPort 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports 1 Protocol statistics Phy statistics Bus Address FC Port X Fabric Bus Address FabricB FC Phy HBA Port statistics HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses FC-4 TYPE, I/O counters: Input operations, output operations, control operations VF_ID, Fabric name, in-order delivery, … variants for different standard buses VF_ID, Fabric name, in-order delivery, … Port index, Port name, Port address, Fabric name, ... # of Phys=1 traffic counters: frames, words 1-n SMHBA_LinkPortToAdapter 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports 1 Protocol statistics Phy statistics Bus Address FC Port X Fabric Bus Address FabricB FC Phy HBA Port statistics HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses FC-4 TYPE, I/O counters: Input operations, output operations, control operations VF_ID, Fabric name, in-order delivery, … variants for different standard buses VF_ID, Fabric name, in-order delivery, … Port index, Port name, Port address, Fabric name, ... # of Phys=1 traffic counters: frames, words 1-n SMHBA_LinkPortToFabric 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports 1 Protocol statistics Phy statistics Bus Address FC Port X Fabric Bus Address FabricB FC Phy HBA Port statistics HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports Phy index, speed, topology, physical attributes traffic counters: frames, words link error counters variants for different standard buses FC-4 TYPE, I/O counters: Input operations, output operations, control operations VF_ID, Fabric name, in-order delivery, … variants for different standard buses VF_ID, Fabric name, in-order delivery, … Port index, Port name, Port address, Fabric name, ... # of Phys=1 traffic counters: frames, words 1-n SMHBA_LinkPortToPhy (which enables it) 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports 1 Bus Address Phy statistics HBA FC Phy Bus Address Fabric Port statistics FC Port X Protocol statistics FC Port Y Protocol statistics Port statistics FabricB variants for different standard buses traffic counters: frames, words HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports Phy index, speed, topology, physical attributes VF_ID, Fabric name, in-order delivery, … traffic counters: frames, words VF_ID, Fabric name, in-order delivery, … traffic counters: frames, words link error counters FC-4 TYPE, I/O counters: Input operations, output operations, control operations Port index, Port name, Port address, Fabric name, ... # of Phys=1 FC-4 TYPE, I/O counters: Input operations, output operations, control operations variants for different standard buses Port index, Port name, Port address, Fabric name, ... # of Phys=1 1-n Add and link up another port SMHBA_AddPort SMHBA_LinkPortToHBA SMHBA_LinkPortToFabric SMHBA_LinkPortToPhy 07-427v0 - Functions for Virtualization API
Physical HBA 1 PHBA handle, manufacturer, model #, serial #, # Ports FabricB FC Phy 1 Port statistics Protocol statistics Bus Address FC Port Bus Address Phy statistics Fabric HBA-A variants for different standard buses traffic counters: frames, words VF_ID, Fabric name, in-order delivery, … traffic counters: frames, words link error counters HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports VF_ID, Fabric name, in-order delivery, … FC-4 TYPE, I/O counters: Input operations, output operations, control operations variants for different standard buses Port index, Port name, Port address, Fabric name, ... # of Phys=1 Phy index, speed, topology, physical attributes Migrate Port to another HBA! SMHBA_RemovePortFromHBA SMHBA_RemovePortFromFabric SMHBA_RemovePortFromPhy 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle, manufacturer, model #, serial #, # Ports FabricB FC Phy 2 Port statistics Protocol statistics Bus Address FC Port Bus Address Phy statistics Fabric HBA-B variants for different standard buses traffic counters: frames, words VF_ID, Fabric name, in-order delivery, … traffic counters: frames, words link error counters HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports VF_ID, Fabric name, in-order delivery, … FC-4 TYPE, I/O counters: Input operations, output operations, control operations variants for different standard buses Port index, Port name, Port address, Fabric name, ... # of Phys=1 Phy index, speed, topology, physical attributes Migrate Port to another HBA! SMHBA_LinkPortToHBA SMHBA_LinkPortToFabric SMHBA_LinkPortToPhy 07-427v0 - Functions for Virtualization API
Enumerations –There are a Ton of New Ones • For Phys • For Adapters • For Ports • For Fabrics 07-427v0 - Functions for Virtualization API
FC Phy FC Phy Phy statistics FC Phy FC Phy FC Phy Phy identifier Phy identifier traffic counters: frames, words link error counters Phy identifier Phy identifier, speed, topology, physical attributes Phy identifier Enumerating PHYs SMHBA_GetAllPhys SMHBA_GetFCPhyAttributes SMHBA_GetPhyStatistics 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle FC Phy FC Phy HBA FC Phy HBA FC Phy HBA HBA Phy identifier Phy identifier Phy index HBA handle HBA handle HBA handle Phy index HBA handle Enumerations for PHYs and Adapters SMHBA_GetAdaptersForPhy SMHBA_GetPhysForAdapter 07-427v0 - Functions for Virtualization API
Fabric Fabric FC Phy Fabric Fabric FC Phy FC Phy FC Phy Phy identifier Phy identifier Fabric name Fabric name Fabric name (linked but not started) Fabric name Phy identifier Phy identifier ( Fabric is linked but not started) Fabric/Phy VFID Mask, Port VFID : optionally returned Enumerations for PHYs and Fabrics SMHBA_GetFabricsForPhy SMHBA_GetPhysForFabric SMHBA_GetFabricAttributesForPhy 07-427v0 - Functions for Virtualization API
FC Phy FC Port FC Port FC Port FC Port Phy identifier Port name Port name Port name Port name Enumerations for PHYs and Ports SMHBA_GetPortsOnPhy SMHBA_GetPhysOnPort Note: SAS would reverse these: A port may have several PHYs, but a PHY supports just one port. 07-427v0 - Functions for Virtualization API
Physical HBA Physical HBA Physical HBA Physical HBA Physical HBA PHBA handle PHBA handle, manufacturer, model #, serial #, firmware version, # Ports PHBA handle PHBA handle PHBA handle Bus Address HBA HBA HBA Bus Address HBA HBA HBA handle HBA handle HBA handle HBA handle, manufacturer,model #, serial #, firmware version, ... # of Ports HBA handle variants for different standard buses variants for different standard buses Enumerations for Adapters SMHBA_GetAllAdapters SMHBA_GetAllPAdapters SMHBA_GetAdapterAttributes SMHBA_GetBusAddress 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle HBA HBA HBA HBA HBA handle HBA handle HBA handle HBA handle Enumerations for Adapters and PAdapters SMHBA_GetAdaptersForPAdapter SMHBA_GetPAdapterForAdapter 07-427v0 - Functions for Virtualization API
Physical HBA PHBA handle HBA FC Port FC Port FC Port FC Port Port name Port name Port name HBA handle Port name Enumerations for Adapters and Ports SMHBA_GetPortsOnAdapter SMHBA_GetAdapterForPort 07-427v0 - Functions for Virtualization API
FC Port FC Port FC Port Fabric Fabric FC Port Fabric Fabric FC Port Fabric/Nx_Port FC Port Port name Port name Fabric name Fabric name Fabric name Port index, Port name, Port address, Fabric name, ... VF_ID, in-order delivery, … Port index, Port name, Port address, Fabric name, ... Port name Port name Fabric name Enumerations for Ports and Fabrics SMHBA_GetAllPorts SMHBA_GetAllFabrics SMHBA_GetPortsOnFabric SMHBA_GetPortAttributesByWWN SMHBA_GetFabricAttributesForPort 07-427v0 - Functions for Virtualization API