1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties...
-
Upload
ian-porter -
Category
Documents
-
view
212 -
download
0
Transcript of 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties...
1Copyright © 2008, Printer Working Group. All rights reserved.
Mandatory vs Optional Properties
Rick Landau, DellDell
2008/02/27
2Copyright © 2008, Printer Working Group. All rights reserved.
Mandatory vs Optional Groups
• Mandatory: agent must implement• Conditionally Mandatory: if a feature is present
and the agent wants to manage it, then must implement
• Optional: truly optional, agent's choice
3Copyright © 2008, Printer Working Group. All rights reserved.
What Does "Agent Must Implement" Mean?• Groups can be
• Mandatory: agent must implement all properties in group
• Conditionally Mandatory: if the agent supports managing a particular feature, e.g., Audio, then it must implement all properties in group
• Optional: agent may choose to implement group or not, must implement all properties or none
4Copyright © 2008, Printer Working Group. All rights reserved.
Why "All or None" Approach
• If an agent does not implement a property at all, • GETNEXT just skips over the missing OID• GET generates a "no such object" SNMP protocol error
• Makes error processing in client SW clumsy• Client SW wants to depend on an SNMP group
• If feature supported, all properties in group shall be present
• All properties are required to have sensible DEFVALs (default values), easy for agent to include
5Copyright © 2008, Printer Working Group. All rights reserved.
Two Approaches
1. Depend on default values in specs2. Divide (some) groups into mandatory and
optional parts
6Copyright © 2008, Printer Working Group. All rights reserved.
Example of Split Group
• General group• ProductName, SerialNumber, HardwareVersion,
CurrentLocaleSNMP
• General-extension group• DeviceAge, PowerOnCount, ManufactureDate, AssetTag,
ServicePerson, NtsServerAddress
• Do all the items in the extension group have sensible default values?• DeviceAge = PowerOnCount = 0• ManufactureDate = AssetTag = ServicePerson =
NtsServerAddress = ""• And make them read-only• Not that hard to do• Easier for client programs: fewer optional groups to scan
7Copyright © 2008, Printer Working Group. All rights reserved.
Recommendation
• Define carefully default values for all properties, especially optional properties
• Do not split groups in half