RAD-PDH-MIB DEFINITIONS ::= BEGIN

-- It is RAD's intent to encourage the widespread use of
-- this Specification in connection with the management of
-- RAD products. RAD grants vendors, end-users,
-- and other interested parties a non-exclusive license to
-- use this Specification in connection with the management
-- of RAD products.

-- This Specification is supplied "as is," and RAD makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.


IMPORTS

       Integer32, Counter32, Unsigned32, 
       OBJECT-TYPE, MODULE-IDENTITY, Counter64     FROM  SNMPv2-SMI
       diverseIfWanGen     FROM  RAD-SMI-MIB; 


	pdhInterface MODULE-IDENTITY
		LAST-UPDATED "201502191807Z"  -- February 19, 2015
        ORGANIZATION "RAD Data Communications Ltd."
        CONTACT-INFO
        "System Department

         Email:  mibs@rad.com
         Postal: RAD Data Communications Ltd.
                 24 Raoul Wallenberg St.
                 Tel-Aviv 6971920
                 Israel

         Phone:  +972-3-645-5421
         Fax:    +972-3-760-7844"
         DESCRIPTION
            "PDH MIB."
	::= { diverseIfWanGen 16 }


pdhIfConfig     OBJECT IDENTIFIER  ::=  { pdhInterface 1 }      -- Node for configuration
pdhIfStatus     OBJECT IDENTIFIER  ::=  { pdhInterface 2 }      -- Node for status
pdhIfStatis     OBJECT IDENTIFIER  ::=  { pdhInterface 3 }      -- Node for statistics

-- C  O  N  F  I  G  U  R  A  T  I  O  N

-- PDH (Plesiochronous Digital Hierarchy) logical port/interface configuration

pdhLogPrtConfigTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF PdhLogPrtConfigEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
       "Configuration for PDH (Plesiochronous Digital Hierarchy) Logical
        ports/interfaces.
        For example: GFP (Generic Framing Procedure) logical interface
        or VCG (Virtual Concatenation Group) logical interface."
       ::= { pdhIfConfig 1 }

pdhLogPrtConfigEntry OBJECT-TYPE
       SYNTAX PdhLogPrtConfigEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
       "Entry in Configuration Table for PDH Logical Ports."
       INDEX   {pdhLogPrtCnfgIdx,pdhLogPrtIndex}
       ::= { pdhLogPrtConfigTable 1 }

PdhLogPrtConfigEntry ::= SEQUENCE {
    pdhLogPrtCnfgIdx        Integer32,
    pdhLogPrtIndex          Unsigned32,
    pdhLogPrtMaxDiffDelay   Unsigned32 
 }

-- Note: for the parameter Payload FCS, see radgen.txt: gfpPayloadFcs  (gfpCnfgTable)

pdhLogPrtCnfgIdx OBJECT-TYPE
     SYNTAX  Integer32 (1..255)
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
     "This object indicates the Index of the Configuration being accessed.
      Index of 255 relates to the Temporary/Edit (Scratch) Configuration.
      For products that support several configurations, Set can be performed
      only to the Temporary Config (=255).
      For products that don't support Temporary/Edit (Scratch) configuration,
      this index will be 1."
     ::= { pdhLogPrtConfigEntry 1}

pdhLogPrtIndex OBJECT-TYPE
      SYNTAX  Unsigned32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
      "This object indicates the number or ifIndex of the selected logical port."
      ::= { pdhLogPrtConfigEntry 2 }

pdhLogPrtMaxDiffDelay  OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "Maximum Differential Delay.
      Largest allowed difference in msec. between delays in two links (E1/T1)
      that are members of the selected VCG.

      This object is relevant for VCG (Virtual Concatenation Group) only."
      ::= { pdhLogPrtConfigEntry 3 }


-- S T A T U S

-- PDH (Plesiochronous Digital Hierarchy) Logical Port Status 

pdhLogPrtStatusTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF PdhLogPrtStatusEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
     "Status of PDH logical port"
     ::= { pdhIfStatus 1 }
  
pdhLogPrtStatusEntry OBJECT-TYPE
     SYNTAX PdhLogPrtStatusEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
     "Entry in the PDH Logical Port Status Table"
     INDEX   { pdhLogPrtStatusIndex }
     ::= { pdhLogPrtStatusTable 1 }

PdhLogPrtStatusEntry ::=
      SEQUENCE
      {
		 pdhLogPrtStatusIndex     Unsigned32,
		 pdhLogPrtFrameDelineation  INTEGER,
		 pdhLogPrtDiffDelay         Unsigned32
		 }

pdhLogPrtStatusIndex OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "This object indicates the number or ifIndex of the selected logical port."
    ::= { pdhLogPrtStatusEntry 1 }

pdhLogPrtFrameDelineation OBJECT-TYPE
    SYNTAX  INTEGER
    {
     notApplicable    (1),
     notDelineated    (2),
	   delineated  		(3)
    }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "This object is relevant for GFP (Generic Framing Procedure) only.
     It indicates the GFP Frame delineation status.
     Frame delineation means that the device has found the start of a frame -
     the protocol is synchronized"
    ::= { pdhLogPrtStatusEntry 2 }

pdhLogPrtDiffDelay  OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "Differential Delay.
     This object indicates the largest detected difference in msec. between 
     delays in two links (E1/T1) that are members of the selected VCG."
    ::= { pdhLogPrtStatusEntry 3 }


-- VCG LCAS (Link Capacity Adjustment Scheme) Members Status table

vcgLcasMembersStatusTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF VcgLcasMembersStatusEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
       "Status for LCAS (Link Capacity Adjustment Scheme) members (links) of VCG
        logical port."
       ::= { pdhIfStatus 2 }

vcgLcasMembersStatusEntry OBJECT-TYPE
       SYNTAX VcgLcasMembersStatusEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
       "Entry in LCAS (Link Capacity Adjustment Scheme) links status table for
        VCG (Virtual Concatenation Group) logical port."
       INDEX   { vcgLcasMembersVcgIndex, vcgLcasMembersLinkIndex }
       ::= { vcgLcasMembersStatusTable 1 }

VcgLcasMembersStatusEntry ::= SEQUENCE {
    vcgLcasMembersVcgIndex           Unsigned32,
    vcgLcasMembersLinkIndex          Unsigned32,
    vcgLcasMembersSourceStatus       INTEGER,
    vcgLcasMembersSinkStatus         INTEGER,
    vcgLcasMembersLoopStatus       INTEGER,
    vcgLcasMembersTxStateMachineStatus INTEGER,
    vcgLcasMembersRxStateMachineStatus INTEGER,
    vcgLcasMembersStatus    INTEGER,
    vcgLcasMembersSignalUnavailable  INTEGER,
    vcgLcasMembersTrailSignalDegrade INTEGER,
    vcgLcasMembersMfiDiffDelay   Unsigned32,
    vcgLcasMembersVcLoMF    INTEGER,
    vcgLcasMembersTxSeqNumber   Unsigned32,
    vcgLcasMembersRxSeqNumber   Unsigned32 
 }

vcgLcasMembersVcgIndex OBJECT-TYPE
      SYNTAX  Unsigned32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
      "This object indicates the number or ifIndex of the selected VCG
       (Virtual Concatenation Group) logical port."
      ::= { vcgLcasMembersStatusEntry 1 }

 vcgLcasMembersLinkIndex OBJECT-TYPE
      SYNTAX  Unsigned32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
      "This object indicates the number or ifIndex of the PDH link
       that is a member of the VCG."
      ::= { vcgLcasMembersStatusEntry 2 }

vcgLcasMembersSourceStatus  OBJECT-TYPE
      SYNTAX INTEGER
      {
       notApplicable		(1),
       fail         		(2),
       ok           		(3),
	   fixed				(4),
	   add	 				(5),
	   norm       			(6),
	   eos	 				(7),
	   idle	 				(8),
	   trSwitchLoopDetect	(9),
	   dnu					(10),
	   illegal				(11)
	  }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object summarizes the LCAS status of the source (Tx) side of the link."
       ::= { vcgLcasMembersStatusEntry 3 }

vcgLcasMembersSinkStatus  OBJECT-TYPE
      SYNTAX INTEGER
      {
       notApplicable	 	(1),
       fail         	 	(2),
       ok           	 	(3),
	   fixed			 	(4),
	   add	 			 	(5),
	   norm       		 	(6),
	   eos	 			 	(7),
	   idle	 			 	(8),
	   trSwitchLoopDetect	(9),
	   dnu				 	(10),
	   illegal			 	(11)
      }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object summarizes the LCAS status of the sink (Rx) side of the link."
       ::= { vcgLcasMembersStatusEntry 4 }

vcgLcasMembersLoopStatus  OBJECT-TYPE
      SYNTAX INTEGER
      {
       notApplicable (1),
       noLoop        (2),
       loop          (3)
      }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object indicates loop state."
       ::= { vcgLcasMembersStatusEntry 5 }

vcgLcasMembersTxStateMachineStatus   OBJECT-TYPE
      SYNTAX INTEGER
      {
		idle    (1),
		add     (2),
		norm    (3),
		dnu 	(4),
		remove	(5),
		illegal (6)
      }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object indicates Tx State Machine Status."
       ::= { vcgLcasMembersStatusEntry 6 }

vcgLcasMembersRxStateMachineStatus   OBJECT-TYPE
      SYNTAX INTEGER
      {
		idle	 (1),
		fail	 (2),
		ok		 (3),
		wtrFail  (4),
		wtrOk	 (5),
		ho 		 (6), --(High Order Concatenation)
		remove 	 (7),
		illegal	 (8)
		      }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object indicates Rx State Machine Status."
       ::= { vcgLcasMembersStatusEntry 7 }

vcgLcasMembersStatus   OBJECT-TYPE
      SYNTAX INTEGER
      {
       notApplicable (1),
       fail        (2),
       ok          (3)
      }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object indicates Remote VCG members status (MST)."
       ::= { vcgLcasMembersStatusEntry 8 }

vcgLcasMembersSignalUnavailable  OBJECT-TYPE
      SYNTAX INTEGER
      {
       notApplicable (1),
       no        (2),
       yes       (3)
      }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object indicates member signal unavailable (MSU)."
       ::= { vcgLcasMembersStatusEntry 9 }

vcgLcasMembersTrailSignalDegrade    OBJECT-TYPE
      SYNTAX INTEGER
      {
       notApplicable (1),
       no            (2),
       yes           (3)
      }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      "This object indicates Trail Signal Degrade (TSD) ."
       ::= { vcgLcasMembersStatusEntry 10 }

vcgLcasMembersMfiDiffDelay OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "This variable indicates time difference
      (based on MFI (Multi-Frame Indicator) field of the VCAT header)
	  from the fastest channel (on which it will be 0), in miliSeconds units"
     ::= { vcgLcasMembersStatusEntry 11 }

vcgLcasMembersVcLoMF OBJECT-TYPE
     SYNTAX  INTEGER
	 {
	  notApplicable (1),
	  off (2),  -- OK
	  on  (3)  -- Loss of Multiframe defect
	 }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
     "This variable indicates Loss Of Multiframe defect. (dLOM)"
     ::= { vcgLcasMembersStatusEntry 12 }

vcgLcasMembersTxSeqNumber  OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
      "This variable indicates the LCAS Tx
       sequence number of this memeber."
     ::= { vcgLcasMembersStatusEntry 13 }

vcgLcasMembersRxSeqNumber  OBJECT-TYPE
     SYNTAX  Unsigned32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
      "This variable indicates  the LCAS Rx
       sequence number of this member."
     ::= { vcgLcasMembersStatusEntry 14 }


-- S T A T I S T I C S

-- PDH (Plesiochronous Digital Hierarchy) Logical Port Statistics

pdhLogPrtStatisTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF PdhLogPrtStatisEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
       "Statistics for PDH (Plesiochronous Digital Hierarchy) Logical Port,
        currently used for GFP (Generic Framing Procedure) interface."
       ::= { pdhIfStatis 1 }

pdhLogPrtStatisEntry OBJECT-TYPE
       SYNTAX PdhLogPrtStatisEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
       "Entry in Statistics Table for PDH (Plesiochronous Digital Hierarchy) Logical Port."
       INDEX   { pdhLogPrtStatisIndex }
       ::= { pdhLogPrtStatisTable 1 }

PdhLogPrtStatisEntry ::= SEQUENCE {
    pdhLogPrtStatisIndex            Unsigned32,
    pdhLogPrtStatisRxCorrFrames     Counter32,
		 pdhLogPrtStatisRxCorrOctets  Counter32,
    pdhLogPrtStatisRxCHecErrors     Counter32,
    pdhLogPrtStatisRxTHecErrors     Counter32,
    pdhLogPrtStatisRxFcsErrors      Counter32 
 }

pdhLogPrtStatisIndex OBJECT-TYPE
      SYNTAX  Unsigned32
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
      "This object indicates the number or ifIndex of the selected Interface."
      ::= { pdhLogPrtStatisEntry 1 }

pdhLogPrtStatisRxCorrFrames OBJECT-TYPE
      SYNTAX  Counter32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "This object indicates the total number of Correct Frames received."
      ::= { pdhLogPrtStatisEntry 2 }

pdhLogPrtStatisRxCorrOctets OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "This object indicates the total number of Correct Octets received."
    ::= { pdhLogPrtStatisEntry 3 } 

pdhLogPrtStatisRxCHecErrors OBJECT-TYPE
      SYNTAX  Counter32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "This object indicates the total number of Frames received with errors in
       the Core header (i.e. cHEC field. cHEC means Core Header Error Correction)."
      ::= { pdhLogPrtStatisEntry 4 }

pdhLogPrtStatisRxTHecErrors OBJECT-TYPE
      SYNTAX  Counter32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "This object indicates the total number of Frames received with errors in
       the Type header (i.e. tHEC field. tHEC means Type Header Error Correction)."
      ::= { pdhLogPrtStatisEntry 5 }

pdhLogPrtStatisRxFcsErrors OBJECT-TYPE
      SYNTAX  Counter32
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
      "This object indicates the total number of Frames received with Frame
       Check Sequence errors."
      ::= { pdhLogPrtStatisEntry 6 }



END

