Jan
Thanks for the Comments!!
Updated the MOF as recommended (for the most part).
An Array of IPaddresses was recommended in the last thread, so updated the MOF accordingly. I pinged some folks on Dell’s Service Processor team to check if multiple IP addresses can be assigned a BMC NIC. Will update as soon as I hear something.
[Description("Model an Out of Band Management Controller and capture its features and capabilities")]
class LMI_BMC : CIM_ManagementController
{
[Description("This variable, should always capture the latest ipv4 IP/s addresses of BMC.")]
string IP4Addresses[];
[Description("This variable, should always capture the latest ipv6 IP/s addresses of BMC.")]
string IP6Addresses[];
[Description("The VLAN setting on the BMC NIC port.")]
string VLAN;
[Description("This variable will capture MAC address of the BMC.”)]
string PermanentMACAddress;
[Description(“If BMC provides any user friendly interfaces like http, ftp etc, this variable will capture the related URL/s to interact with BMC.”)]
string BMC_URLs[];
/* COMMENT: If the following properties are rolledup into CIM_LogicalDevice, would a user enumerating LMI_BMC not be able to see these properties? Or is it just a matter of how the Enumeration function is defined for this class? */
/*
#Capture this information in indexed IndentifyingDescriptions and OtheridentifyingInfo Arrays of CIM_LogicalDevice.
#string Manufacturer_ID;
#string Manufacturer;
#string Model;
*/
[Description(“This variable will capture the version of the firmware installed on the BMC”)]
string FirmwareVersion;
[Description(“This Array will capture the list of protocols supported by the BMC”),
ArrayType (“Indexed”),
MaxLen (256),
ModelCorrespondence {“LMI_BMC.SupportedProtoVersion”} ]
string SupportedProtos[];
[Description(“This Array will capture the version of the supported protocol listed in the corresponding index of SupportedProtos ”),
ArrayType (“Indexed”),
ModelCorrespondence {“LMI_BMC.SupportedProtos” } ]
string SupportedProtoVersion[];
/*COMMENT: Should the below function assign a new virtual ip address to those already on the BMC? Or should the user be able to pass a list of IP addresses to overwrite the existing ones? Am leaning towards the latter option*/
[Description("Function to add a new IPv4 address to BMC.")’
ValueMap (“0”,”1”,”2”)’
Values (“Success”, “Failed”, “Invalid Argument”)]
uint32 set_IP4Address(
[IN, Description ("Set the IP address of the BMC, to the input value")]
string IP4Address,
[IN, Description ("Set the netmask to this input value")]
string Netmask,
[IN, Description ("Set the gateway this input value")]
string Gateway);
[Description("Function to assign a new IPv6 address to BMC."),
ValueMap (“0”,”1”,”2”),
Values (“Success”, “Failed”, “Invalid Argument”)]
uint32 set_IP6Address(
[IN, Description ("Set the IP address of the BMC, to the input value")]
string IP6Address,
[IN, Description ("Set the netmask to this input value")]
string Netmask,
[IN, Description ("Set the gateway on BMC to this input value")]
string Gateway);
[Description("Function to assign a VLAN ID to BMC.")
ValueMap (“0”,”1”,”2”)
Values (“Success”, “Failed”, “Invalid Argument”)]
uint32 set_VLAN(
[IN, Description("Set the VLAN ID of BMC NIC to this input value")]
string Vlan
);
[Description("Some servers have dedicated NIC attached to BMC, some share a LOM used for host n/w communications. This function will let the user know which the case is."),
ValueMap (“0”, “1”,”2”,”3”,”4”),
Values (“Dedicated”, “LOM1”,”LOM2”,”LOM3”,”LOM4”)]
string get_active_nic();
};
Thank you
Praveen K Paladugu
Dell Linux Engineering