NETGEAR-SNTP-CLIENT-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32 FROM SNMPv2-SMI TEXTUAL-CONVENTION, RowStatus, DateAndTime FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF InetAddressType, InetAddress, InetPortNumber FROM INET-ADDRESS-MIB ng7000Switch FROM NETGEAR-REF-MIB; agentSntpClientMIB MODULE-IDENTITY LAST-UPDATED "200502231200Z" -- 23 Feb 2005 12:00:00 GMT ORGANIZATION "Netgear" CONTACT-INFO "" DESCRIPTION "This MIB module defines a portion of the SNMP MIB under the Netgear enterprise OID pertaining to SNTP client configuration and statistical collection." -- revision history REVISION "200502231200Z" -- 23 Feb 2005 12:00:00 GMT DESCRIPTION "Initial revision." ::= { ng7000Switch 17 } -- ------------------------------------------------------------- -- Textual Conventions -- ------------------------------------------------------------- SntpClientAdminMode ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An SNTP client may operate in any of several modes. At least one mode other than disabled must be supported by a client. disabled - SNTP is not administrative. No SNTP requests are sent from the client nor are any received SNTP messages processed. unicast - SNTP operates in a point-to-point fashion. A unicast client sends a request to a designated server at its unicast address and expects a reply from which it can determine the time and, optionally, the round-trip delay and local clock offset relative to the server. broadcast - SNTP operates using the local broadcast address. The broadcast address has a single subnet scope. The SNTP server uses a broadcast address to send unsolicited SNTP messages to clients. The client listens on this address and sends no requests for updates. The broadcast address is determined by the address and netmask of the service port over which the SNTP client is operating. multicast - SNTP operates in a point-to-multipoint fashion. A multicast client listens on the dedicated broadcast address or multicast group address." REFERENCE "RFC 2030 - Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI; Section 2." SYNTAX BITS { disabled(0), unicast(1), broadcast(2), multicast(3) } SntpClientUpdateStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The status of the last received response or broadcast from a configured server. These values are appropriate for all administrative modes. other - None of the following enumeration values. success - The SNTP operation was successful and the system time was updated. requestTimedOut - An SNTP poll request timed out without receiving a response from the SNTP server. badDateEncoded - The time provided by the SNTP server was not valid. versionNotSupported - The SNTP version supported by the server is not compatible with the version supported by the client. This is indicated by the server returning a version later than the version configured for that server or a version of '0'. serverUnsychronized - The SNTP server is not synchronized with its peers. This is indicated via the 'leap indicator' field on the SNTP message. serverKissOfDeath - The SNTP server indicated that no further polls are to be sent to this server. This is indicated by a stratum field field equal to 0 in a message received from a server." REFERENCE "RFC 2030 - Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI; Section 4." SYNTAX INTEGER { other(1), success(2), requestTimedOut(3), badDateEncoded(4), versionNotSupported(5), serverUnsychronized(6), serverKissOfDeath(7) } -- ------------------------------------------------------------- -- MIB Objects -- ------------------------------------------------------------- agentSntpClientObjects OBJECT IDENTIFIER ::= { agentSntpClientMIB 1 } agentSntpClient OBJECT IDENTIFIER ::= { agentSntpClientObjects 1 } agentSntpClientUnicast OBJECT IDENTIFIER ::= { agentSntpClientObjects 2 } agentSntpClientBroadcast OBJECT IDENTIFIER ::= { agentSntpClientObjects 3 } -- ------------------------------------------------------------- -- SNTP Client Group -- ------------------------------------------------------------- agentSntpClientVersion OBJECT-TYPE SYNTAX INTEGER { version1(1), version2(2), version3(3), version4(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The highest SNTP version this client supports. Per RFC 2030, higher versions are required to be backwards compatible with all lower versions with the exception of version 0." REFERENCE "RFC 2030 - Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI; Section 5." ::= { agentSntpClient 1 } agentSntpClientSupportedMode OBJECT-TYPE SYNTAX SntpClientAdminMode MAX-ACCESS read-only STATUS current DESCRIPTION "The SNTP client administrative modes that this device supports. A client may support more than one administrative mode." ::= { agentSntpClient 2 } agentSntpClientMode OBJECT-TYPE SYNTAX INTEGER { disabled(0), unicast(1), broadcast(2), multicast(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "The current administrative mode of the SNTP client. A SET of this object will cause the SNTP client to change administrative modes. A SET request MUST have only 1 bit set since is not possible to operate in multiple modes simultaneously. SETs of this object are limited to values supported by the device as specified by agentSntpClientSupportedMode." DEFVAL { { disabled } } ::= { agentSntpClient 3 } agentSntpClientPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-write STATUS current DESCRIPTION "The local port number used to listen for broadcasts and responses from servers. A set request MUST NOT use a value of 0 for this object." DEFVAL { { 123 } } ::= { agentSntpClient 4 } agentSntpClientLastUpdateTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The local date and time that the SNTP client last updated the system time on the device since agent reboot. This time is updated for all non-disabled administrative modes of the SNTP client. If the SNTP client has not updated the time then the client MUST return '00000000'H." DEFVAL { '00000000'H } ::= { agentSntpClient 5 } agentSntpClientLastAttemptTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The local date and time of the last SNTP request or unsolicited SNTP message for this SNTP client since agent reboot. This value is a timestamp for the agentSntpClientLastAttemptStatus object. When the agentSntpClientLastAttemptStatus has a value of success(2), this object's value should be equal to the value returned by agentSntpClientLastUpdateTime. If no SNTP frames have been processed by the SNTP client then the client MUST return '00000000'H. This object is updated for all non-disabled administrative modes of the SNTP client." DEFVAL { '00000000'H } ::= { agentSntpClient 6 } agentSntpClientLastAttemptStatus OBJECT-TYPE SYNTAX SntpClientUpdateStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the last SNTP request or unsolicited SNTP message for this SNTP client since agent reboot. The status is updated for all non-disabled administrative modes of the SNTP client." DEFVAL { other } ::= { agentSntpClient 7 } agentSntpClientServerAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address type of the SNTP server as identified by the last received packet. Support for all address types is NOT REQUIRED." ::= { agentSntpClient 8 } agentSntpClientServerAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(1..64)) MAX-ACCESS read-only STATUS current DESCRIPTION "The encoded address of the SNTP server as identified by the last received packet." ::= { agentSntpClient 9 } agentSntpClientServerMode OBJECT-TYPE SYNTAX Unsigned32 (0..7) MAX-ACCESS read-only STATUS current DESCRIPTION "This is a 3-bit integer identifying the mode of the server as indicated in the last received packet with values defined as follows: Mode Meaning ------------------------------------ 0 reserved 1 symmetric active 2 symmetric passive 3 client 4 server 5 broadcast 6 reserved for NTP control message 7 reserved for private use " ::= { agentSntpClient 10 } agentSntpClientServerStratum OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "This is an 8-bit integer identifying the stratum of the server as indicated in the last received packet with values defined as follows: Stratum Meaning ------------------------------------ 0 unspecified 1 primary reference 2-15 secondary reference 16-255 reserved" ::= { agentSntpClient 11 } agentSntpClientServerRefClkId OBJECT-TYPE SYNTAX OCTET STRING (SIZE(4)) MAX-ACCESS read-only STATUS current DESCRIPTION "This is the value of the Reference Identifier in the last received packet defined as follows. Reference Identifier: This is a 32-bit bitstring identifying the particular reference source. In the case of NTP Version 3 or Version 4 stratum-0 (unspecified) or stratum-1 (primary) servers, this is a four-character ASCII string, left justified and zero padded to 32 bits. In NTP Version 3 secondary servers, this is the 32-bit IPv4 address of the reference source. In NTP Version 4 secondary servers, this is the low order 32 bits of the latest transmit timestamp of the reference source." ::= { agentSntpClient 12 } -- ------------------------------------------------------------- -- SNTP Client Unicast Group -- ------------------------------------------------------------- agentSntpClientUnicastPollInterval OBJECT-TYPE SYNTAX Unsigned32 (6..16) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The minimum number of seconds between successive SNTP polls of the server in seconds as a power of two. This polling interval is used for SNTP requests in unicast(1) administrative mode." DEFVAL { 6 } ::= { agentSntpClientUnicast 1 } agentSntpClientUnicastPollTimeout OBJECT-TYPE SYNTAX Unsigned32 (1..30) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of seconds to wait for a response from a SNTP server before considering the attempt to have 'timed out'. This timeout is used for SNTP requests in unicast(1) administrative mode." DEFVAL { 5 } ::= { agentSntpClientUnicast 2 } agentSntpClientUnicastPollRetry OBJECT-TYPE SYNTAX Unsigned32 (0..10) MAX-ACCESS read-write STATUS current DESCRIPTION "The number of times to retry a request to the same SNTP server that has 'timed out.'. This retry count is used for directed SNTP requests in unicast(1) administrative mode. For example, assume this object has been SET to a value of 2. When the SNTP client queries a given server it will send 1 SNTP request frame. If that original attempt fails, the client will retry up to a maximum of 2 more times before declaring the unicast poll unsuccessful and attempting the next server." DEFVAL { 1 } ::= { agentSntpClientUnicast 3 } agentSntpClientUcastServerMaxEntries OBJECT-TYPE SYNTAX Unsigned32 (1..3) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of server entries that are allowed in the agentSntpClientUcastServerTable." ::= { agentSntpClientUnicast 4 } agentSntpClientUcastServerCurrEntries OBJECT-TYPE SYNTAX Gauge32 (0..3) MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of server entries in the agentSntpClientUcastServerTable." ::= { agentSntpClientUnicast 5 } -- ------------------------------------------------------------- -- SNTP Client Unicast Server Table -- ------------------------------------------------------------- agentSntpClientUcastServerTable OBJECT-TYPE SYNTAX SEQUENCE OF AgentSntpClientUcastServerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing configuration and statistical information for unicast SNTP servers. Each server entry is represented by single conceptual row in this table." ::= { agentSntpClientUnicast 6 } agentSntpClientUcastServerEntry OBJECT-TYPE SYNTAX AgentSntpClientUcastServerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information for a particular unicast SNTP server." INDEX { agentSntpClientUcastServerIndex } ::= { agentSntpClientUcastServerTable 1 } AgentSntpClientUcastServerEntry ::= SEQUENCE { agentSntpClientUcastServerIndex Unsigned32, agentSntpClientUcastServerAddressType InetAddressType, agentSntpClientUcastServerAddress InetAddress, agentSntpClientUcastServerPort InetPortNumber, agentSntpClientUcastServerVersion INTEGER, agentSntpClientUcastServerPrecedence Unsigned32, agentSntpClientUcastServerLastUpdateTime DateAndTime, agentSntpClientUcastServerLastAttemptTime DateAndTime, agentSntpClientUcastServerLastAttemptStatus SntpClientUpdateStatus, agentSntpClientUcastServerNumRequests Counter32, agentSntpClientUcastServerNumFailedRequests Counter32, agentSntpClientUcastServerRowStatus RowStatus } agentSntpClientUcastServerIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies the entry in the table." ::= { agentSntpClientUcastServerEntry 1 } agentSntpClientUcastServerAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies how agentSntpClientUcastServerAddr is encoded. Support for all possible enumerations defined by InetAddressType is NOT REQUIRED." ::= { agentSntpClientUcastServerEntry 2 } agentSntpClientUcastServerAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(1..64)) MAX-ACCESS read-create STATUS current DESCRIPTION "The encoded internet address of an SNTP server. Unicast SNTP requests will be sent to this address. If this address is a DNS hostname, then that hostname SHOULD be resolved into an IP address each time a SNTP request is sent to it." ::= { agentSntpClientUcastServerEntry 3 } agentSntpClientUcastServerPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The port number on the server to which poll requests are sent. A set request MUST NOT use a value of 0 for this object." DEFVAL { { 123 } } ::= { agentSntpClientUcastServerEntry 4 } agentSntpClientUcastServerVersion OBJECT-TYPE SYNTAX INTEGER { version1(1), version2(2), version3(3), version4(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "The SNTP version this server supports. This is the value that will be encoded in NTP polls when operating in unicast(1) administrative mode." REFERENCE "RFC 2030 - Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI; Section 5." ::= { agentSntpClientUcastServerEntry 5} agentSntpClientUcastServerPrecedence OBJECT-TYPE SYNTAX Unsigned32 (1..3) MAX-ACCESS read-create STATUS current DESCRIPTION "The precedence that this server has in relation to its peers in the determining the sequence of servers to which SNTP requests will be sent. The client continues sending requests to different servers until a successful response is received or all servers are exhausted. This object indicates the order in which to query the servers. A server entry with a precedence of 1 will be queried before a server with a precedence of 2, and so forth. If more than one server has the same precedence then the request order will follow the lexicographical ordering of the entries in this table." DEFVAL { 1 } ::= { agentSntpClientUcastServerEntry 6 } agentSntpClientUcastServerLastUpdateTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The local date and time that the response from this server was used to update the system time on the device since agent reboot. If the SNTP client has not updated the time using a response from this server then this object MUST return '00000000'H." DEFVAL { '00000000'H } ::= { agentSntpClientUcastServerEntry 7 } agentSntpClientUcastServerLastAttemptTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The local date and time that this SNTP server was last queried since agent reboot. Essentially, this value is a timestamp for the agentSntpClientUcastServerLastAttemptStatus object. If this server has not been queried then this object MUST return '00000000'H." DEFVAL { '00000000'H } ::= { agentSntpClientUcastServerEntry 8 } agentSntpClientUcastServerLastAttemptStatus OBJECT-TYPE SYNTAX SntpClientUpdateStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the last SNTP request to this server since agent reboot. If no requests have been made then this object should return 'other'." DEFVAL { other } ::= { agentSntpClientUcastServerEntry 9 } agentSntpClientUcastServerNumRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of SNTP requests made to this server since the last agent reboot. This includes retry attempts to the server." ::= { agentSntpClientUcastServerEntry 10 } agentSntpClientUcastServerNumFailedRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of SNTP requests made to this server that did not result in a successful response since the last agent reboot. This includes retry attempts to the server." ::= { agentSntpClientUcastServerEntry 11 } agentSntpClientUcastServerRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status of this conceptual row in the table. active - The server is available for use in SNTP client operations. Other writable leaves in this table MAY be modified while the row is in the active state. notInService - The entry is fully configured but is not available for use in SNTP client operations. The agent MAY transition a row from the active to notInService upon receipt of a kiss of death packet from the server. createAndGo - This is the preferred mechanism for creating conceptual rows in this table. This value can never be read as the row will always transition immediately to either active or notInService. destroy - This will remove the conceptual row from the table and make it unavailable for SNTP client operations. " ::= { agentSntpClientUcastServerEntry 12 } -- ------------------------------------------------------------- -- SNTP Client Broadcast Group -- ------------------------------------------------------------- agentSntpClientBroadcastCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of unsolicited broadcast SNTP messages that have been received and processed by the SNTP client. Unsolicited SNTP broadcast frames will not be counted unless the SNTP agent is operating in broadcast(3) mode, as specified by agentSntpClientMode." ::= { agentSntpClientBroadcast 1 } agentSntpClientBroadcastInterval OBJECT-TYPE SYNTAX Unsigned32 (6..16) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of seconds the client will wait before processing another broadcast packet expressed as a power of two. Packets received during the wait interval are silently discarded." DEFVAL { 6 } ::= { agentSntpClientBroadcast 2} -- ------------------------------------------------------------- -- Conformance Information -- ------------------------------------------------------------- agentSntpClientConformance OBJECT IDENTIFIER ::= { agentSntpClientMIB 2 } agentSntpClientGroups OBJECT IDENTIFIER ::= { agentSntpClientConformance 1 } agentSntpClientCompliances OBJECT IDENTIFIER ::= { agentSntpClientConformance 2 } -- ------------------------------------------------------------- -- Units of conformance -- ------------------------------------------------------------- agentSntpClientDeviceGroup OBJECT-GROUP OBJECTS { agentSntpClientVersion, agentSntpClientSupportedMode, agentSntpClientMode, agentSntpClientLastUpdateTime, agentSntpClientLastAttemptTime, agentSntpClientLastAttemptStatus, agentSntpClientServerAddressType, agentSntpClientServerAddress, agentSntpClientServerMode, agentSntpClientServerStratum, agentSntpClientServerRefClkId } STATUS current DESCRIPTION "A collection of objects providing device level control of an SNTP client on enabled devices." ::= { agentSntpClientGroups 1 } agentSntpClientUnicastGroup OBJECT-GROUP OBJECTS { agentSntpClientUnicastPollInterval, agentSntpClientUnicastPollTimeout, agentSntpClientUnicastPollRetry, agentSntpClientUcastServerMaxEntries, agentSntpClientUcastServerCurrEntries, agentSntpClientUcastServerAddress, agentSntpClientUcastServerAddressType, agentSntpClientUcastServerPrecedence, agentSntpClientUcastServerLastUpdateTime, agentSntpClientUcastServerLastAttemptTime, agentSntpClientUcastServerLastAttemptStatus, agentSntpClientUcastServerNumRequests, agentSntpClientUcastServerNumFailedRequests, agentSntpClientUcastServerRowStatus } STATUS current DESCRIPTION "A collection of objects providing control and statistics for an SNTP client capable of operating in unicast mode." ::= { agentSntpClientGroups 2 } agentSntpClientBroadcastGroup OBJECT-GROUP OBJECTS { agentSntpClientBroadcastCount, agentSntpClientBroadcastInterval } STATUS current DESCRIPTION "A collection of objects providing control and statistics for an SNTP client capable of operating in broadcast mode." ::= { agentSntpClientGroups 3 } -- ------------------------------------------------------------- -- Compliance statements -- ------------------------------------------------------------- agentSntpClientCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for devices that support agentSntpClient." MODULE MANDATORY-GROUPS { agentSntpClientDeviceGroup } GROUP agentSntpClientUnicastGroup DESCRIPTION "This group is REQUIRED for devices supporting operation of an SNTP client in unicast mode." GROUP agentSntpClientBroadcastGroup DESCRIPTION "This group is REQUIRED for devices supporting operation of a SNTP client in broadcast mode." ::= { agentSntpClientCompliances 1 } END