-- *********************************************************************
-- *********************************************************************
-- ** Filename: PRVT-JDSU-MIB
-- ** Project: T - Ethernet and Fast Ethernet IP Switches.
-- ** Purpose: Private MIB
-- *********************************************************************
-- (c) Copyright, 2001, BATM Advanced Communications. All rights reserved.
-- WARNING:
--
-- BY UTILIZING THIS FILE, YOU AGREE TO THE FOLLOWING:
--
-- This file is the property of BATM Advanced Communications.
-- BATM Advanced Communications retains all title and
-- ownership in the Specification, including any revisions.

-- BATM Advanced Communications grants all interested parties a non-exclusive
-- license to use and distribute an unmodified copy of this
-- Specification in connection with management of BATM Advanced Communications
-- and Telco Systemsproducts, and without fee, provided that the following
-- conditions are met:
-- 1. Redistributions of this specification 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. The name of the BATM Advanced Communications MAY NOT be used to endorse
-- or promote products derived from this specification without specific prior written
-- permission.
--
-- EXCEPT AS RESTRICTED BY LAW, OR AS PROVIDED IN BATM'S LIMITED
-- WARRANTY, THE SPECIFICATIONS CONTAINED IN THIS FILE ARE
-- PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES
-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-- IN NO EVENT SHALL BATM BE LIABLE FOR ANY DAMAGES WHATSOEVER
-- INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-- PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR
-- OTHER CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY
-- TO USE, THE SPECIFICATION CONTAINED IN THIS FILE.
PRVT-JDSU-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, NOTIFICATION-TYPE
        FROM SNMPv2-SMI                  -- [RFC2578]
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF                 -- [RFC2580]
    RowStatus
        FROM SNMPv2-TC                   -- [RFC2579]
    MacAddress
		FROM SNMPv2-TC                   -- [RFC2579]
	ifIndex
        FROM IF-MIB
    VlanId 
		FROM Q-BRIDGE-MIB                -- [RFC4363]
    switch
        FROM PRVT-SWITCH-MIB;

prvtJdsuMib MODULE-IDENTITY
LAST-UPDATED "201103150000Z"
ORGANIZATION "BATM Advanced Communication"
CONTACT-INFO
"BATM/Telco Systems Support team
Email:
For North America: techsupport@telco.com
For North Europe: support@batm.de, info@batm.de
For the rest of the world: techsupport@telco.com"

DESCRIPTION
"This MIB provide control and analisys for JDSU functionality."

-- revision history
        REVISION       "201103150000Z"
        DESCRIPTION
        "Add JDSU Loopback traps."
        REVISION       "201102080000Z"
        DESCRIPTION
        "Initial version."

::= { switch 137 }

-- ***********************************************
-- ************ Top level structure of the MIB****
-- ***********************************************
 prvtJdsuNotifications              OBJECT IDENTIFIER ::= { prvtJdsuMib 0 }
 prvtJdsuObjects                    OBJECT IDENTIFIER ::= { prvtJdsuMib 1 }
 prvtJdsuConformance                OBJECT IDENTIFIER ::= { prvtJdsuMib 2 }

prvtJdsuLoopback OBJECT IDENTIFIER ::= { prvtJdsuObjects 1 }

-- ***********************************************
-- *************** JSDU Loopback *****************
-- ***********************************************

prvtJdsuLoopbackTable OBJECT-TYPE
    SYNTAX SEQUENCE OF PrvtJdsuLoopbackEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table holds the configuration for JDSU loopback"
    ::= { prvtJdsuLoopback 1 }

prvtJdsuLoopbackEntry OBJECT-TYPE
        SYNTAX PrvtJdsuLoopbackEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "NONE"
        INDEX { ifIndex }
        ::= { prvtJdsuLoopbackTable 1 }

PrvtJdsuLoopbackEntry ::= SEQUENCE {
		prvtJdsuLoopbackAdminStatus                     INTEGER,
        prvtJdsuLoopbackRemoteMac                       MacAddress,
        prvtJdsuLoopbackRemoteInnerVlan                 VlanId,
        prvtJdsuLoopbackRemoteOuterVlan                 VlanId,
        prvtJdsuLoopbackOperationalStatus               INTEGER,
        prvtJdsuLoopbackRowStatus                       RowStatus
}

prvtJdsuLoopbackAdminStatus OBJECT-TYPE
        SYNTAX INTEGER
        {
                disable ( 1 ),
                forced ( 2 ),
                remote ( 3 )
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        "JDSU remote loopback admin status.
        This can be used to either enable or disable JDSU loopback on a
        certain interface.
        Forced parameter is used for manually set loopback.
        Remote parameter is used for JDSU remote operation."
        ::= { prvtJdsuLoopbackEntry 1 }

prvtJdsuLoopbackRemoteMac OBJECT-TYPE
		SYNTAX MacAddress
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Remote MAC address of the device for JDSU loopback testing."
		::= { prvtJdsuLoopbackEntry 2 }
		
prvtJdsuLoopbackRemoteInnerVlan OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This is used as the VLAN tag in case of single encapsulated packets 
        or as the inner VLAN tag in case of dual encapsulated packets."
        ::= { prvtJdsuLoopbackEntry 3 }

prvtJdsuLoopbackRemoteOuterVlan OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "The outer VLAN tag in case of dual encapsulated packets."
        ::= { prvtJdsuLoopbackEntry 4 }
         
prvtJdsuLoopbackOperationalStatus OBJECT-TYPE
        SYNTAX INTEGER
        {
                down ( 1 ),
                up ( 2 )
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "JDSU remote loopback current operational status."
        ::= { prvtJdsuLoopbackEntry 5 }
        
prvtJdsuLoopbackRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        "The status of the row entry.
         The writable columns in a row can not be changed if the row
         is active. Certain columns must have a valid value before a row
         can be activated."
        ::= { prvtJdsuLoopbackEntry 6 }

-- ***********************************************
-- **************** Notification *****************
-- ***********************************************

prvtJdsuAdminStateChange NOTIFICATION-TYPE
        OBJECTS {
                prvtJdsuLoopbackAdminStatus
        }
        STATUS current
        DESCRIPTION
                "This trap should be sent whenever a JDSU admins state is changed
                for a specific interface."
        ::= { prvtJdsuNotifications 1 }

prvtJdsuOperStateChange NOTIFICATION-TYPE
        OBJECTS {
                prvtJdsuLoopbackOperationalStatus
        }
        STATUS current
        DESCRIPTION
                "This trap should be sent whenever a JDSU state is changed
                on a specific interface."
        ::= { prvtJdsuNotifications 2 }
		
-- ******************************************************************
-- PRVT-RING-EPS MIB Module - Conformance Information
-- ******************************************************************

prvtJdsuCompliances OBJECT IDENTIFIER ::= { prvtJdsuConformance 1 }
prvtJdsuGroups      OBJECT IDENTIFIER ::= { prvtJdsuConformance 2 }

-- ******************************************************************
-- Units of conformance
-- **********************
prvtJdsuLoopbackGroup OBJECT-GROUP
    OBJECTS {
		prvtJdsuLoopbackAdminStatus,
        prvtJdsuLoopbackRemoteMac,
        prvtJdsuLoopbackRemoteInnerVlan,
        prvtJdsuLoopbackRemoteOuterVlan,
        prvtJdsuLoopbackOperationalStatus,
        prvtJdsuLoopbackRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Objects for the JDSU loopback group."
    ::= { prvtJdsuGroups 1 }
	
prvtJdsuLoopbackNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
      prvtJdsuAdminStateChange,
      prvtJdsuOperStateChange
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Event Propagation notifications group."
    ::= { prvtJdsuGroups 2 }    

-- ******************************************************************
-- MIB Module Compliance statements
-- ******************************************************************

prvtJdsuCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
       "The compliance statement for support of the private JDSU MIB module."
    MODULE
        MANDATORY-GROUPS {
            prvtJdsuLoopbackGroup,
			prvtJdsuLoopbackNotificationsGroup
            }

    OBJECT prvtJdsuLoopbackRowStatus
      SYNTAX       RowStatus { active(1), notInService(2), notReady(3) }
      WRITE-SYNTAX RowStatus { active(1), notInService(2), notReady(3),
                               createAndWait(5), destroy(6) }
      DESCRIPTION "Support for createAndWait is required."

    ::= { prvtJdsuCompliances 1 }

END

