smidiff diagnostics for draft-ietf-ipcdn-device-mibv2-09.txt (part 1)
"Randy Presuhn" <[email protected]> Mon, 27 Jun 2005 21:08:42 -0700
| Newsgroups | gmane.ietf.ipcdn |
|---|---|
| Message-ID | <017a01c57b97$1315c880$7f1afea9@oemcomputer> |
Hi -
I ran smidiff to check the changes from RFC 2669 in
ftp://ftp.ietf.org/internet-drafts/draft-ietf-ipcdn-device-mibv2-09.txt
Below are the diagnostics it produced, with my comments interspersed.
Since there were numerous messages, I'm breaking this into multiple postings.
rfc2669.txt:1573: subtyping not allowed in SEQUENCE
rfc2669.txt:1574: subtyping not allowed in SEQUENCE
--> not an issue here
draft-ietf-ipcdn-device-mibv2-09.txt:939: warning: object identifier name `docsDevServerConfigTftpAddressType' longer than 32
characters
draft-ietf-ipcdn-device-mibv2-09.txt:1446: warning: object identifier name `docsDevEvThrottleThresholdExceeded' longer than 32
characters
--> these are OK, in line with section 4.2 of MIB review guidelines
draft-ietf-ipcdn-device-mibv2-09.txt:2489: warning: index of row `docsDevCpeInetEntry' can exceed OID size limit by 141
subidentifier(s)
--> OK, docsDevCpeInetAddr has appropriate warnings for implementors
draft-ietf-ipcdn-device-mibv2-09.txt:2873: warning: current compliance statement `docsDevCmCompliance' includes deprecated group
`docsDevNmAccessGroup'
draft-ietf-ipcdn-device-mibv2-09.txt:2873: warning: current compliance statement `docsDevCmCompliance' includes deprecated group
`docsDevNmAccessExtGroup'
draft-ietf-ipcdn-device-mibv2-09.txt:2873: warning: current compliance statement `docsDevCmCompliance' includes deprecated group
`docsDevFilterGroup'
draft-ietf-ipcdn-device-mibv2-09.txt:3163: warning: current compliance statement `docsDevCmtsCompliance' includes deprecated group
`docsDevNmAccessGroup'
draft-ietf-ipcdn-device-mibv2-09.txt:3163: warning: current compliance statement `docsDevCmtsCompliance' includes deprecated group
`docsDevNmAccessExtGroup'
draft-ietf-ipcdn-device-mibv2-09.txt:3163: warning: current compliance statement `docsDevCmtsCompliance' includes deprecated group
`docsDevFilterGroup'
draft-ietf-ipcdn-device-mibv2-09.txt:3163: warning: current compliance statement `docsDevCmtsCompliance' includes deprecated group
`docsDevCpeGroup'
--> addressed in another thread
draft-ietf-ipcdn-device-mibv2-09.txt:40 [3] {organization-changed} organization of `DOCS-CABLE-DEVICE-MIB' changed
draft-ietf-ipcdn-device-mibv2-09.txt:40 [3] {contact-changed} contact of `DOCS-CABLE-DEVICE-MIB' changed
draft-ietf-ipcdn-device-mibv2-09.txt:40 [5] {description-changed} description of `DOCS-CABLE-DEVICE-MIB' changed
draft-ietf-ipcdn-device-mibv2-09.txt:197 [3] {revision-changed} revision `1999-08-19 00:00' changed
rfc2669.txt:46 [6] {previous-definition} previous definition of `1999-08-19 00:00'
draft-ietf-ipcdn-device-mibv2-09.txt:84 [5] {revision-added} revision `2005-06-10 00:00' added
rfc2669.txt:27 [6] {previous-definition} previous definition of `DOCS-CABLE-DEVICE-MIB'
--> these changes look OK
draft-ietf-ipcdn-device-mibv2-09.txt:219 [5] {description-changed} description of `docsDevRole' changed
rfc2669.txt:63 [6] {previous-definition} previous definition of `docsDevRole'
--> ok
draft-ietf-ipcdn-device-mibv2-09.txt:243 [5] {description-changed} description of `docsDevDateTime' changed
rfc2669.txt:87 [6] {previous-definition} previous definition of `docsDevDateTime'
--> The changed DESCRIPTION has some problems. It reads:
"The current date and time, with optional time zone
information. This value is initialized on boot
from the time server.
If it is impossible to set this from boot, this shall
represent elapsed time from boot relative to the
standard epoch (e.g. 1 Jan 1970 0000Z). In other
words, if this agent has been up for 3 minutes, and
has been unable to set this object from the time
server, this object will return 1 Jan 1970 0003Z."
(1) RFC 2579's definition of DateAndTime doesn't make the time zone
information "optional". Rather, its absence indicates that the time zone
isn't known.
(2) saying "This value is initialized on boot from the time server"
is serious over-specification, and should be removed.
(3) "If it is impossible to set this from boot" should be replaced with
something like "If the real data and time cannot be determined"
(4) Likewise, "been unable to set this object from the time server"
should be replaced with something like "not been able to determine
what the actual date and time are"
(5) the value format "1 Jan 1970 0000Z" doesn't map well onto the
actual syntax of the underlying textual convention. It lacks the seconds
and deci-seconds fields. Its elements are in a different order.
(6) The "Z" would normally be understood as the fields for hours and
minutes from UTC being zero, rather than absent, in the case of
"1 Jan 1970 0003Z". RFC 2579 requires that the offset be absent
if the time is "local", as it surely would be in this case.
This MUST be fixed.
draft-ietf-ipcdn-device-mibv2-09.txt:280 [3] {defval-added} default value added to `docsDevSTPControl'
draft-ietf-ipcdn-device-mibv2-09.txt:359 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessTable'
--> ok.
draft-ietf-ipcdn-device-mibv2-09.txt:359 [5] {description-changed} description of `docsDevNmAccessTable' changed
rfc2669.txt:151 [6] {previous-definition} previous definition of `docsDevNmAccessTable'
--> The changed DESCRIPTION has some problems that SHOULD be fixed. It reads:
"This table controls access to SNMP objects by network
management stations. If the table is empty, access to
SNMP objects is unrestricted. The objects in this table
do not persist across reboots. The objects in this
table are only accessible from cable devices which are
not operating in SNMP Coexistence mode (RFC 3584) nor in
SNMPv3 mode (RFC 3410). See the conformance section for
details. Note that some devices are required by other
specifications, e.g. the DOCSIS OSSIv1.1 specification,
to support the legacy SNMPv1/v2c docsDevNmAccess mode
for backward compatibility.
This table is deprecated. Instead, use the SNMP
coexistence MIBs from RFC 3584, the TARGET and
NOTIFICATION MIBs from the SNMP Applications RFC, and
the View-Based Access Control Model (VACM) MIBs for
SNMPv1 and V2C access."
(1) I think instead of "which are not operating" you mean "which are
not capable of operating".
(2) Add appropriate references to RFCs 3413 and 3415
(3) replace "SNMPv1 and V2C access" with "all SNMP protocol versions."
draft-ietf-ipcdn-device-mibv2-09.txt:388 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessEntry'
rfc2669.txt:165 [6] {previous-definition} previous definition of `docsDevNmAccessEntry'
draft-ietf-ipcdn-device-mibv2-09.txt:415 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessIndex'
rfc2669.txt:191 [6] {previous-definition} previous definition of `docsDevNmAccessIndex'
draft-ietf-ipcdn-device-mibv2-09.txt:429 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessIp'
draft-ietf-ipcdn-device-mibv2-09.txt:429 [3] {defval-changed} default value of `docsDevNmAccessIp' changed
rfc2669.txt:205 [6] {previous-definition} previous definition of `docsDevNmAccessIp'
--> all ok
draft-ietf-ipcdn-device-mibv2-09.txt:429 [5] {description-changed} description of `docsDevNmAccessIp' changed
rfc2669.txt:205 [6] {previous-definition} previous definition of `docsDevNmAccessIp'
---> The change to the object's semantics doesn't fit within the guidelines of RFC 2578
section 10.2. However, the conformance material gives a hint at a solution where it says:
"It is compliant to recognize the IP address
255.255.255.255 as referring to any NMS."
So, I suggest replacing
"The IP address (or subnet) of the network management
station. The address 0.0.0.0 is defined to mean
any Network Management Station (NMS). If traps are
enabled for this entry, then the value must be the
address of a specific device."
with that preserves the original semantics, e.g.:
"The IP address (or subnet) of the network management
station. The address 0.0.0.0 is defined to mean
any Network Management Station (NMS). If traps are
enabled for this entry, then the value must be the
address of a specific device. Implementations MAY
recognize 255.255.255.255 as equivalent to 0.0.0.0"
Something MUST be done here.
draft-ietf-ipcdn-device-mibv2-09.txt:442 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessIpMask'
--> ok
draft-ietf-ipcdn-device-mibv2-09.txt:442 [3] {defval-changed} default value of `docsDevNmAccessIpMask' changed
draft-ietf-ipcdn-device-mibv2-09.txt:442 [5] {description-changed} description of `docsDevNmAccessIpMask' changed
rfc2669.txt:217 [6] {previous-definition} previous definition of `docsDevNmAccessIpMask'
--> Similar to the problems with docsDevNmAccessIp, except this one doesn't have
any language in the conformance material permitting the old value. (I assume this was
an oversight, that you'd want implementations to be able to honor both 0.0.0.0 and
255.255.255.255.) This MUST be fixed.
draft-ietf-ipcdn-device-mibv2-09.txt:453 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessCommunity'
rfc2669.txt:228 [6] {previous-definition} previous definition of `docsDevNmAccessCommunity'
draft-ietf-ipcdn-device-mibv2-09.txt:465 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessControl'
rfc2669.txt:240 [6] {previous-definition} previous definition of `docsDevNmAccessControl'
--> ok
draft-ietf-ipcdn-device-mibv2-09.txt:495 [3] {to-implicit} implicit type for `docsDevNmAccessInterfaces' replaces type `OctetString'
rfc2669.txt:270 [6] {previous-definition} previous definition of `docsDevNmAccessInterfaces'
draft-ietf-ipcdn-device-mibv2-09.txt:495 [3] {range-added} size `(1..32)' added to type used in `docsDevNmAccessInterfaces'
draft-ietf-ipcdn-device-mibv2-09.txt:495 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessInterfaces'
--> ok
draft-ietf-ipcdn-device-mibv2-09.txt:495 [3] {defval-added} default value added to `docsDevNmAccessInterfaces'
--> The default value given here looks odd. Do you *really* intend for the
default value to be four bytes long, and, according to the DESCRIPTION
clause, to refer to interface number thirty-two?
draft-ietf-ipcdn-device-mibv2-09.txt:495 [5] {description-changed} description of `docsDevNmAccessInterfaces' changed
rfc2669.txt:270 [6] {previous-definition} previous definition of `docsDevNmAccessInterfaces'
-> In the DESCRIPTION, where it says:
Note that entries in this table apply only to link-layer
interfaces (e.g., Ethernet and CATV MAC). Upstream and
downstream channel interfaces must not be specified.
Is the "must not" intended to be "MUST NOT"? Does "specified" mean
"the corresponding bit set to one" if an interface number exists for that
interface?
When it says "The size of this object is the minimum required to
represent all configured interfaces for this device", several questions come
to mind. What happens if a management system attempts to set it to a larger
or smaller size? When the row is being created, how does a management
system know what size to use? What value is used for bits corresponding
to interfaces that do not exist? As interfaces are added to or removed from
the device, do these objects' sizes adjust automatically? A lot of questions
for a deprecated object....
draft-ietf-ipcdn-device-mibv2-09.txt:532 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevNmAccessStatus'
rfc2669.txt:293 [6] {previous-definition} previous definition of `docsDevNmAccessStatus'
draft-ietf-ipcdn-device-mibv2-09.txt:569 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevSwServer'
draft-ietf-ipcdn-device-mibv2-09.txt:569 [5] {description-changed} description of `docsDevSwServer' changed
rfc2669.txt:317 [6] {previous-definition} previous definition of `docsDevSwServer'
--> ok
draft-ietf-ipcdn-device-mibv2-09.txt:588 [5] {description-changed} description of `docsDevSwFilename' changed
rfc2669.txt:326 [6] {previous-definition} previous definition of `docsDevSwFilename'
--> I suggest replacing "empty" with "zero-length" to remove any ambiguity.
draft-ietf-ipcdn-device-mibv2-09.txt:606 [3] {defval-added} default value added to `docsDevSwAdminStatus'
draft-ietf-ipcdn-device-mibv2-09.txt:606 [5] {description-changed} description of `docsDevSwAdminStatus' changed
rfc2669.txt:338 [6] {previous-definition} previous definition of `docsDevSwAdminStatus'
--> ok, though the text
If the download process is interrupted by a reset or
power failure, the device will load the previous image
and, after re-initialization, continue to attempt
loading the image specified in docsDevSwFilename.
makes me wonder what is supposed to happen if the download process
is interrupted by something else.
draft-ietf-ipcdn-device-mibv2-09.txt:645 [5] {description-changed} description of `docsDevSwOperStatus' changed
draft-ietf-ipcdn-device-mibv2-09.txt:645 [5] {ref-changed} reference of `docsDevSwOperStatus' changed
rfc2669.txt:379 [6] {previous-definition} previous definition of `docsDevSwOperStatus'
draft-ietf-ipcdn-device-mibv2-09.txt:775 [5] {description-changed} description of `docsDevServerBootState' changed
draft-ietf-ipcdn-device-mibv2-09.txt:775 [5] {ref-changed} reference of `docsDevServerBootState' changed
rfc2669.txt:434 [6] {previous-definition} previous definition of `docsDevServerBootState'
draft-ietf-ipcdn-device-mibv2-09.txt:837 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevServerDhcp'
draft-ietf-ipcdn-device-mibv2-09.txt:837 [5] {description-changed} description of `docsDevServerDhcp' changed
rfc2669.txt:479 [6] {previous-definition} previous definition of `docsDevServerDhcp'
draft-ietf-ipcdn-device-mibv2-09.txt:856 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevServerTime'
draft-ietf-ipcdn-device-mibv2-09.txt:856 [5] {description-changed} description of `docsDevServerTime' changed
rfc2669.txt:489 [6] {previous-definition} previous definition of `docsDevServerTime'
draft-ietf-ipcdn-device-mibv2-09.txt:869 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevServerTftp'
draft-ietf-ipcdn-device-mibv2-09.txt:869 [5] {description-changed} description of `docsDevServerTftp' changed
rfc2669.txt:498 [6] {previous-definition} previous definition of `docsDevServerTftp'
draft-ietf-ipcdn-device-mibv2-09.txt:990 [5] {status-change} legal status change from `current' to `deprecated' for
`docsDevEvSyslog'
draft-ietf-ipcdn-device-mibv2-09.txt:990 [5] {description-changed} description of `docsDevEvSyslog' changed
rfc2669.txt:545 [6] {previous-definition} previous definition of `docsDevEvSyslog'
--> all ok
More to come...
Randy