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