RE: Bug in SLP template formation.
Venkateswara R Puvvada <[email protected]>
| Newsgroups | gmane.network.open-pegasus.general |
|---|---|
| Message-ID | <OFF82660EB.78D8A10E-ON652576C1.002F9561-652576C1.00305437@in.ibm.com> |
>Another Solution - Can SLPProvider.cpp not convert the uint16 enumerations of "FunctionalProfilesSupported" property into string form and fill up the required >attribute in SLP advertisement, that would solve the problem and remove the confusion as well? SLPTemplate requires FunctionalProfilesSupported attribute in string form ( FunctionalProfilesSupported=string L M ). However SLPTemplate ver 2.0 which is under ballot now has removed FunctionalProfilesSupported and FunctionalProfileDescriptions attributes altogether from SLPTemplate. Venkat <[email protected]> 04/02/2010 17:21 To Venkateswara R Puvvada/India/IBM@IBMIN cc <[email protected]>, <[email protected]>, <[email protected]>, <[email protected]> Subject RE: Bug in SLP template formation. Hi Venkateswara, Thanks for the reply. Yeah, thats what I also wanted to mention. According to specification 1.4 "FunctionalProfileDescriptions" is an optional property, which may not be implemented by every SMIS provider, but "FunctionalProfilesSupported", which is a mandatory property will be definitely implemented by every SMIS provider supporting SLP. Again, the "FunctionalProfileDescriptions" should only be implemented when the "FunctionalProfilesSupported" array contains a single entry i.e. - "other" (enumeration 1). In normal situations any SMIS provider will have - Basic Read, Instance Manipulation and Association Traversal capabilities. So the individual may not implement the "FunctionalProfileDescriptions" property, which will result in multiple receipe test failures in CTP. We can always fill up the "FunctionalProfileDescriptions" property, no problem in that, but in that case we should make it a mandatory property. Another Solution - Can SLPProvider.cpp not convert the uint16 enumerations of "FunctionalProfilesSupported" property into string form and fill up the required attribute in SLP advertisement, that would solve the problem and remove the confusion as well? Please suggest. Regards, Biswapratap, Wipro Technologies. From: Venkateswara R Puvvada [mailto:[email protected]] Sent: Thursday, February 04, 2010 4:49 PM To: Biswapratap Chatterjee (WT01 - Semi Conductor and Peripheral IPG) Cc: Partha Protim porel (WT01 - Semi Conductor and Peripheral IPG); [email protected]; Sijo Cherian Kappen (WT01 - Semi Conductor and Peripheral IPG); Souvik Roy (WT01 - Semi Conductor and Peripheral IPG) Subject: Re: Bug in SLP template formation. Biswapratap, From DSP0206 : FunctionalProfilesSupported=string L M # ProfilesSupported defines the CIM Operation profiles supported by the # CIM Object Manager. This attribute MUST be the # CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported # property value. "Unknown", "Other", "Basic Read", "Basic Write", "Schema Manipulation", "Instance Manipulation", "Association Traversal", "Query Execution", "Qualifier Declaration", "Indications" From the above description, although CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported is uint16 array, it seems SLP Template requires them in string form. FunctionalProfileDescriptions=string L O M # Other profile description if the "other" value is set in the ProfilesSupported # attribute. This attribute is optional because it is returned only if the "other" # value is set in the ProfilesSupported attribute. If provided it MUST # be equal to the CIM_ObjectManagerCommunicationMechanism.FunctionalProfileDescriptions # property value. From the above description FunctionalProfileDescriptions is only required if 1 (other) is specified in CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported array. However it seems confusing specifying that FunctionalProfileDescriptions of SLP template is equal to CIM_ObjectManagerCommunicationMechanism.FunctionalProfileDescriptions in DSP0206. Venkat <[email protected]> 03/02/2010 16:07 To <[email protected]> cc <[email protected]>, <[email protected]>, <[email protected]> Subject Bug in SLP template formation. Hi all, While debugging open-pegasus's inbuilt SLP Provider implementation, I found out the following issue - File Name : $PEGASUS_HOME/src/Providers/slp/SLPProvider.cpp Method Name : Boolean SLPProvider::populateRegistrationData( ... ) Code Fragment : else if (propertyName.equal("FunctionalProfileDescriptions")) { Array<String> descriptions; v1.get(descriptions); String desList = _arrayToString(descriptions); populateTemplateField( templateInstance, functionalProfilesSupportedAttribute, desList); if (String::equalNoCase(v1.toString(),"Other")) { Uint32 pos = instance_ObjMgrComm.findProperty( CIMName(otherProfileDescriptionAttribute)); CIMConstProperty temppr = instance_ObjMgrComm.getProperty(pos); String tmp = _getPropertyValueString( instance_ObjMgrComm, CIMName(otherProfileDescriptionAttribute), String::EMPTY); populateTemplateField( templateInstance, otherProfileDescriptionAttribute, tmp); } } Bug : functionalProfilesSupportedAttribute - AttributeFieldName, used to populate the template field of the slp registration maps to "FunctionalProfilesSupported" property of the CIM_ObjectManagerCommunicationMechanism class as found in the following initial code framgment of SLPProvider.cpp. const char functionalProfilesSupportedAttribute[] = "FunctionalProfilesSupported"; But as seen from the first code fragment the propertyName equals " FunctionalProfileDescriptions" i.e. an optional (non-mandatory) property of the CIM_ObjectManagerCommunicationMechanism class. Hence, the propertyName fetched and the SLP template attribute propertyname are not in sync. There is an appropriate mandatory property - uint16 FunctionalProfilesSupported[] in CIM_ObjectManagerCommunicationMechanism class which should be used, I think. Effect : Since this property in the template attribute list is filled as "nothing" hence, CTP test for SMIS complaint providers is failing for recipes in Profile Registration Profile and Server Profile, while parsing the attribute list. Regards, Biswapratap, Wipro Technologies. Please do not print this email unless it is absolutely necessary. The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com Please do not print this email unless it is absolutely necessary. The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com