RE: Bug in SLP template formation.

<[email protected]>
Newsgroups gmane.network.open-pegasus.general
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.