1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties...

7
1 Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 2008/02/27

Transcript of 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties...

Page 1: 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 2008/02/27.

1Copyright © 2008, Printer Working Group. All rights reserved.

Mandatory vs Optional Properties

Rick Landau, DellDell

2008/02/27

Page 2: 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 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

Page 3: 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 2008/02/27.

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

Page 4: 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 2008/02/27.

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

Page 5: 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 2008/02/27.

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

Page 6: 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 2008/02/27.

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

Page 7: 1Copyright © 2008, Printer Working Group. All rights reserved. Mandatory vs Optional Properties Rick Landau, Dell Dell 2008/02/27.

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