-- *********************************************************************
-- ATT-VROUTER-PTP-MIB
--
-- Copyright (c) 2018-2019, 2021 by AT&T Intellectual Property.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
-- modification, are permitted provided that the following conditions
-- are met:
--
-- 1. Redistributions of source code must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
-- 2. Redistributions in binary form must reproduce the above
-- copyright notice, this list of conditions and the following
-- disclaimer in the documentation and/or other materials provided
-- with the distribution.
-- 3. Neither the name of the copyright holder nor the names of its
-- contributors may be used to endorse or promote products derived
-- from this software without specific prior written permission.
--
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-- 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-- COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-- POSSIBILITY OF SUCH DAMAGE.
--
-- SPDX-License-Identifier: BSD-3-Clause
--
-- *********************************************************************
ATT-VROUTER-PTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    enterprises
            FROM SNMPv2-SMI                 -- RFC2578

    NOTIFICATION-TYPE
            FROM SNMPv2-SMI

    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
            FROM SNMPv2-CONF

    OBJECT-TYPE
            FROM SNMPv2-SMI

    ptpbaseClockRunningState
            FROM PTPBASE-MIB
;

attVrouterPtpMIB MODULE-IDENTITY
     LAST-UPDATED "202110010000Z" -- Oct 1, 2021
     ORGANIZATION "AT&T Inc."
     CONTACT-INFO
     "Postal: 208 S. Akard Street
              Dallas, TX 75202
      Web:    www.att.com
     "
     DESCRIPTION
         "This MIB describes objects used to signal PTP
          notifications from the Vyatta vRouter.

          Copyright (C) 2019, 2021 AT&T Intellectual Property.
         "

     REVISION "202110010000Z" -- Oct 1, 2021
     DESCRIPTION
          "Deprecate GNSS notification in favor of APTS notifications"
     REVISION "202103230000Z" -- Mar 23, 2021
     DESCRIPTION
          "Add GNSS failure and recovery notifications"
     REVISION "201909260000Z" -- Sep 26, 2019
     DESCRIPTION
          "Add attVrouterPtpServoRecovery"
     REVISION "201903210000Z" -- Mar 21, 2019
     DESCRIPTION
         "Initial version"
     ::= { attVrouter 5 }

attEnterprise              OBJECT IDENTIFIER ::= { enterprises 74 }
attProducts                OBJECT IDENTIFIER ::= { attEnterprise 1 }
attVrouter                 OBJECT IDENTIFIER ::= { attProducts 32 }

attVrouterPtpNotifications OBJECT IDENTIFIER ::= { attVrouterPtpMIB 0 }
attVrouterPtpNotificationObjects OBJECT IDENTIFIER ::= { attVrouterPtpMIB 1 }
attVrouterPtpGroups OBJECT IDENTIFIER ::= { attVrouterPtpMIB 2 }
attVrouterPtpCompliances OBJECT IDENTIFIER ::= { attVrouterPtpMIB 3 }

attVrouterPtpTrapGroup NOTIFICATION-GROUP
    NOTIFICATIONS { attVrouterPtpServoFailure,
                    attVrouterPtpServoRecovery,
                    attVrouterPtpAPTSFailure,
                    attVrouterPtpAPTSRecovery }
    STATUS current
    DESCRIPTION
        "A group that aggregates objects describing current notifications."
    ::= { attVrouterPtpGroups 1 }

attVrouterPtpOldTrapGroup NOTIFICATION-GROUP
    NOTIFICATIONS { attVrouterPtpGNSSFailure,
                    attVrouterPtpGNSSRecovery }
    STATUS deprecated
    DESCRIPTION
        "A group that aggregates objects describing deprecated notifications."
    ::= { attVrouterPtpGroups 2 }

attVrouterPtpTrapVarsGroup OBJECT-GROUP
    OBJECTS { attVrouterPtpNotificationReason }
    STATUS current
    DESCRIPTION
        "A group that aggregates objects sent in notifications."
    ::= { attVrouterPtpGroups 3 }

attVrouterPtpCurrentTraps MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "Compliance statement for agents handling notifications."
    MODULE
        MANDATORY-GROUPS { attVrouterPtpTrapGroup,
                           attVrouterPtpTrapVarsGroup }
    ::= { attVrouterPtpCompliances 1 }

attVrouterPtpDeprecatedTraps MODULE-COMPLIANCE
    STATUS deprecated
    DESCRIPTION
        "The attVrouterPtpOldTrapGroup is only necessary when
         handling nofications from older entities."
    MODULE
        MANDATORY-GROUPS { attVrouterPtpOldTrapGroup }
    ::= { attVrouterPtpCompliances 2 }

attVrouterPtpNotificationReason OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A textual explanation for the associated notification."
    ::= { attVrouterPtpNotificationObjects 1 }

attVrouterPtpServoFailure NOTIFICATION-TYPE
    OBJECTS {
              ptpbaseClockRunningState
            }
    STATUS      current
    DESCRIPTION
            "This notification indicates that the indicated
             clock's servo is not in a locked stated."
    ::= { attVrouterPtpNotifications 1 }

attVrouterPtpServoRecovery NOTIFICATION-TYPE
    OBJECTS {
              ptpbaseClockRunningState
            }
    STATUS      current
    DESCRIPTION
            "This notification indicates that the indicated
             clock's servo is now in a locked stated."
    ::= { attVrouterPtpNotifications 2 }

attVrouterPtpGNSSFailure NOTIFICATION-TYPE
    OBJECTS {
              ptpbaseClockRunningState
            }
    STATUS      deprecated
    DESCRIPTION
            "This notification indicates that the indicated
             clock's GNSS time source has failed."
    ::= { attVrouterPtpNotifications 3 }

attVrouterPtpGNSSRecovery NOTIFICATION-TYPE
    OBJECTS {
              ptpbaseClockRunningState
            }
    STATUS      deprecated
    DESCRIPTION
            "This notification indicates that the indicated
             clock's GNSS time source has recovered."
    ::= { attVrouterPtpNotifications 4 }

attVrouterPtpAPTSFailure NOTIFICATION-TYPE
    OBJECTS {
              ptpbaseClockRunningState,
              attVrouterPtpNotificationReason
            }
    STATUS      current
    DESCRIPTION
            "This notification indicates that the indicated
             clock's APTS is in a failure state."
    ::= { attVrouterPtpNotifications 5 }

attVrouterPtpAPTSRecovery NOTIFICATION-TYPE
    OBJECTS {
              ptpbaseClockRunningState,
              attVrouterPtpNotificationReason
            }
    STATUS      current
    DESCRIPTION
            "This notification indicates that the indicated
             clock's APTS is now operational."
    ::= { attVrouterPtpNotifications 6 }

END
