Cisco MDS 9000 Family SMI-S Programming Reference

Table Of Contents


About the Common Information Model

About the Storage Management Initiative Specification

About the WBEM Initiative

Understanding CIM and Unified Modeling Language Notation

Understanding CIM Classes

Understanding UML

About SMI-S and CIM in the Cisco MDS 9000 Family


The Cisco MDS 9000 Family of multilayer directors and fabric switches provide an industry standard application programming interface (API) using the Storage Management Initiative Specification (SMI-S). SMI-S facilitates managing storage area networks (SANs) in a multivendor environment.

This chapter includes the following sections:

About the Common Information Model

Understanding CIM and Unified Modeling Language Notation

About SMI-S and CIM in the Cisco MDS 9000 Family

About the Common Information Model

The Common Information Model (CIM) is an object-oriented information model that describes management information in a network or enterprise environment. Because it is object-oriented, CIM provides abstraction, inheritance, and dependency or association relationships between objects within the model. CIM is based on XML and is platform-independent and technology neutral. The management application developer does not need any information about how CIM was implemented on a vendor product; only the API is required to interact with a vendor product.

CIM uses a client/server model. The CIM server can be embedded into the vendor product or can be implemented by a proxy server that provides the CIM server functionality for the legacy vendor product. The CIM client is the management application that communicates to multiple CIM servers to manage the SAN. The CIM client discovers CIM servers through the Service Location Protocol, version 2 (SLPv2) as defined in RFC 2608. SLPv2 uses UDP port 427 for communication and is a discovery protocol that is separate from the CIM client/server communication path.

CIM defines the communications between the client and server in terms of technologies defined in the Web-Based Enterprise Management Initiative (WBEM). Figure 1-1 shows the full CIM client/server communications path.

Figure 1-1 CIM Client/Server Communications

For more information about CIM, refer to the specification available through the Distributed Management Task Force (DMTF) website at

About the Storage Management Initiative Specification

The Storage Management Initiative Specification (SMI-S) uses an object-oriented model based on CIM to define a set of objects and services that can manage elements of a SAN. By using a standardized architecture, SMI-S helps management application developers create common and extensible applications that work across multiple SAN vendor products. Figure 1-2 exemplifies SMI-S in a multivendor SAN.

Figure 1-2 SMI-S in a Multivendor SAN

SMI-S provides a set of standard management objects collected in a profile. Several profiles are defined in SMI-S that cover common SAN elements, including switches, fabrics, and zoning. These standardized profiles insure interoperability across products within the SAN. SMI-S also defines an automated discovery process, using SLPv2. SMI-S uses CIM defined by the DMTF as part of the WBEM.

For more information about SMI-S, refer to the Storage Networking Industry Association (SNIA) website at

Note Cisco SAN-OS Release 3.0(1) is compliant with SMI-S 1.1.0.

About the WBEM Initiative

The WBEM initiative is a set of management and Internet standards developed to unify the management of enterprise computing environments.

The WBEM initiative includes:

CIM, which provides a common format, language and methodology for collecting and describing management data.

The CIM-XML Encoding Specification, a standards-based method for exchanging CIM information. CIM-XML uses an xmlCIM encoded payload and HTTP as the transport mechanism. CIM-XML consists of the following specifications:

xmlCIM encoding, a standard way to represent CIM information in XML format.

CIM operations over HTTP, a transportation method that describes how to pass xmlCIM encoded messages over HTTP.

For more information about the WBEM initiative, refer to the DMTF website at

Understanding CIM and Unified Modeling Language Notation

SMI-S relies on object-oriented classes as defined in CIM. These classes are frequently defined using Unified Modeling Language (UML). To understand the SMI-S and the Cisco extensions present in this document, you must have a basic understanding of CIM classes and UML.

Understanding CIM Classes

A class is a collection of properties and methods that define a type of object. As an example, a generic network device is a type of object. We could define the NetworkDevice class to describe this object. The NetworkDevice class contains properties or attributes of a network device. Some properties for our NetworkDevice class are IpAddress and DeviceType. Further, we want to control our network device through the NetworkDevice class. So we add methods or routines we can use to trigger actions on our network device. Some methods are enablePort() and rebootDevice().

Now that we have a NetworkDevice class, we can define a class for just switches. Because a switch is a special type of NetworkDevice, we use the object-oriented concept of inheritance to define our Switch class. We define the Switch class as a child of the NetworkDevice class. This means the Switch class automatically has the properties and methods of its parent class. From there, we add properties and methods unique to a switch.

CIM defines a special type of class called an association class. An association class represents relationships between two or more classes. As an example, we define an association class to show the relationship between a NetworkDevice class and an OperatingSystem class. If there is a many-to-one or many-to-many relationship, the association class is considered an aggregation.

Refer to for a full explanation of CIM.

Understanding UML

UML draws a visual representation of the classes that describe a product or technology. UML contains many visual elements, but only a subset are described here. Refer to for a full explanation of UML.

Figure 1-3 shows an example section from a UML diagram for CIM classes. This diagram shows:

blue lines for inheritance between classes

green lines for aggregation between classes

red lines for associations between classes

Figure 1-3 UML Example Diagram

About SMI-S and CIM in the Cisco MDS 9000 Family

Each switch or director in the Cisco MDS 9000 Family includes an embedded CIM server. The CIM server communicates with any CIM client to provide SAN management compatible with SMI-S. The CIM server includes the following standard profiles, subprofiles, and features as defined in SMI-S:

Service Location Protocol version 2 (SLPv2).

Server profile.

CIM indications.

Fabric profile.

Zoning Control subprofile.

Enhanced Zoning and Enhanced Zoning Control subprofile.

FDMI subprofile.

Switch profile, including the Blade subprofile and Access Point subprofile.

xmlCIM encoding and CIM operations over HTTP as specified by the WBEM initiative.

HTTPS, which uses Secure Socket Layer (SSL). HTTPS is optional but provides enhanced security by encrypting communications between the CIM server and the CIM client.

Table 1-1 shows the Cisco SAN-OS release that supports different versions of SMI-S.

Table 1-1 Cisco SAN-OS Support for SMI-S

Cisco SAN-OS Release
SMI-S Support


SMI-S 1.2.0 compliant with caveats

All required indications are not supported

limited WQL/CQL support


SMI-S 1.1.0 compliant

Additional support for Server profile and Access Port subprofile.


Supports SMI-S 1.0.2

Supports SLPv2, CIM indications, and the Server profile.