Networking API concepts

OpenLMI-Networking provides CIM API. Some CIM knowledge is required and this guide assumes that reader can routinely read and modify remote CIM objects and call their intrinsic and extrinsic methods.

Hardware representation

There is instance of subclass of CIM_NetworkPort for each physical network device present in the system, e.g. LMI_EthernetPort for ethernet ports.

Instances of class LMI_LANEndpoint represent communication endpoints, identified by MAC address to which the network port will respond. It’s associated to the corresponding instance of CIM_NetworkPort subclass via instance of LMI_NetworkDeviceSAPImplementation.

Current network configuration

LMI_IPNetworkConnection instances are representation of the network connection in the system, e.g. “eth0”, “p1p1”. Instance of this class is associated to LMI_LANEndpoint via instance of LMI_EndpointForIPNetworkConnection.

Note

There are usually 1:1:1 relation between instances of CIM_NetworkPort subclasses, LMI_LANEndpoint instances and LMI_IPNetworkConnection instance in this provider. The classes are implemented for sake of compatibility with DMTF profiles.

LMI_IPProtocolEndpoint - there is instance of this class for each IP address on any network device and the instance is associated with LMI_IPNetworkConnection via LMI_NetworkSAPSAPDependency and with LMI_LANEndpoint via LMI_BindsToLANEndpoint.

Default gateway is represented by instance of LMI_NetworkRemoteServiceAccessPoint with attribute AccessContext equal to 2 (Default Gateway).

Instances of class LMI_IPVersionSettingData represent IPv4 or IPv6 support. If there is instance of this class associated with CIM_ComputerSystem it means that the system supports IPv4 and/or IPv6 (depending on value of ProtocolIFType property). Instances of this class can be associated also to LMI_IPNetworkConnection. It means that the network connection supports IPv4 and/or IPv6.

Settings

The OpenLMI networking provider is based on concept of connections. Connection is set of settings that can be applied to interface. Each connection is represented by instance of LMI_IPAssignmentSettingData and it is aggregator for detailed settings represented by instances of following classes: LMI_DHCPSettingData, LMI_DNSSettingData, LMI_ExtendedStaticIPAssignmentSettingData. These detailed setting is associated with master setting via LMI_OrderedIPAssignmentComponent where the master has role GroupComponent.

Connections available to port are associated by LMI_IPElementSettingData. Its property IsCurrent is 1 when the connection is currently active. Property IsDefault is 1 when the connection is automatically activated.

Altering and applying connections

Method LMI_CreateIPSetting of LMI_IPNetworkConnectionCapabilites can be used to create new connection. The connection will be bonded to LMI_IPNetworkConnection that is associated with given LMI_IPNetworkConnectionCapabilites.

Singleton class LMI_IPConfigurationService provides method ApplySettingToIPNetworkConnection that applies LMI_IPAssignmentSettingData to LMI_IPNetworkConnection.

Table Of Contents

Previous topic

OpenLMI Networking Provider documentation

Next topic

OpenLMI-Networking usage

This Page