PDM> Comments on PDM MIB details

PDM> Comments on PDM MIB details

Ira McDonald blueroofmusic at gmail.com
Wed Oct 17 17:09:47 EDT 2007


Hi,

Below are my comments on the current PDM MIB text.

Cheers,
- Ira

-- 
Ira McDonald (Musician / Software Architect)
Chair - Linux Foundation Open Printing WG
Blue Roof Music / High North Inc
PO Box 221  Grand Marais, MI  49839
work: +1-906-494-2434
home: +1-906-494-2697
email: blueroofmusic at gmail.com

----------------------------------------------------------------------------------------------------------
        Comments on PDM MIB - by Ira McDonald - 17 October 2007


* Important to use well-formed ASN.1 labels
  - Labels should NOT be longer than 31-characters - breaks compilers
  - Table should be pdmGroupTable
  - Entry should be pdmGroupEntry
  - Columnar should be pdmGroupColumnarName

* Enum
  - ASN.1 labels for enumerated values MUST start with lowercase alpha
  - always reserve (and usually define) other(1) and unknown(2)
  - do NOT use zero or negative values - e.g. PostStatus

* String datatypes
  - Set by system - PdmLocalizedStringTC (UTF-8)
  - Set by client - SnmpAdminString (UTF-8)
  - ISO/IANA Keywords - DisplayString (US-ASCII visible only)
  - Required string constants - min length zero with conformance stated
  - Do NOT use "OCTET STRING" directly for any human-readable string

* Localization
  - all human-readable strings MUST be UTF-8 (other charsets illegal)
  - Language Tags defined by RFC 4646 (up to 63 characters)
  - Ira will propose rewrite of Localization group soon

* Limits
  - Integers - Specify explicit min/max value
  - Strings - Specify explicit min/max length

* DateTime objects
  - Need PdmDateTimeTC - XML format date and time

* Age, Time, Size objects
  - Need UNITS clause - and explicit units in Description

* Uptime
  - must use TimeTicks as SYNTAX
  - note that all SNMP traps MUST bind Uptime, so XML DateTime redundant

* Should use of DISPLAY-HINT clauses, when appropriate

* Index
  - Use 32-bit positive range - NOT 16-bit range (deprecated by IETF)

* Counter
  - use Counter32 - NOT Integer32
  - object label MUST end in "Counter" or "Count" - per IETF guidelines

* Gauge
  - use Gauge32 - NOT Integer32
  - object label SHOULD end in "Gauge" - per IETF guidelines



More information about the Pdm mailing list