--=============================================================================
-- Copyright (c) 2016 Fujitsu Network Communications, Inc. All Rights Reserved.
--=============================================================================

FSS-ETHERNET-INTERFACE DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Unsigned32, Counter32, Counter64,
    Gauge32, IpAddress
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, DateAndTime,
    TruthValue
        FROM SNMPv2-TC
    ifIndex
         FROM IF-MIB		
    fssInterfaces
        FROM FSS-COMMON-SMI
;

fSS-ETHERNET-INTERFACE MODULE-IDENTITY
    LAST-UPDATED "201808260000Z" 
    ORGANIZATION "Fujitsu Network Communications, Inc."
    CONTACT-INFO
        "Fujitsu Technical Assistance Center (FTAC),
         1-800-USE-FTAC (1-800-873-3822)"
    DESCRIPTION "This MIB module contains object definitions
for Ethernet Interfaces."
    REVISION "201808260000Z"
    DESCRIPTION "Added oper-duplex, oper-speed and wavelength fields"
    REVISION "201601200000Z"
    DESCRIPTION "@REVISION-DESCRIPTION"
    ::= { fssInterfaces 100 }

UnsignedByte ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION "xs:unsignedByte"
    SYNTAX      Unsigned32 (0 .. 255)

UnsignedShort ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION "xs:unsignedShort"
    SYNTAX      Unsigned32 (0 .. 65535)

ConfdString ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1t"
    STATUS      current
    DESCRIPTION "xs: and confd: types mapped to strings"
    SYNTAX      OCTET STRING

String ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1t"
    STATUS      current
    DESCRIPTION "xs:string"
    SYNTAX      OCTET STRING

ethernet-dataTable OBJECT-TYPE 
  SYNTAX      SEQUENCE OF Ethernet-dataEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { fSS-ETHERNET-INTERFACE 1 }


ethernet-dataEntry OBJECT-TYPE
    SYNTAX      Ethernet-dataEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ifIndex }
        ::= { ethernet-dataTable 1 }


Ethernet-dataEntry ::=
    SEQUENCE {
       ethernetAdmin-status INTEGER,
       ethernetRate Unsigned32,
       ethernetFec INTEGER,
       ethernetLoopback INTEGER,
       ethernetLocation INTEGER,
       ethernetType INTEGER,
       ethernetOper-status INTEGER,
       ethernetTestsignal INTEGER,
       ethernetTestPattern INTEGER,  
       ethernetTestsignal-type INTEGER,
       ethernetBitErrors Unsigned32,
       ethernetBitErrorsTerminal Unsigned32,
       ethernetSyncSeconds String,
       ethernetSyncSecondsTerminal String,
       ethernetSpeed Unsigned32,
       ethernetDuplex INTEGER,
       ethernetMtu Unsigned32,
       ethernetAuto-negotiation INTEGER,
       ethernetAct-laser INTEGER,
       ethernetTsf INTEGER,
       ethernetBtsf INTEGER,
       ethernetLtxoff INTEGER,
       ethernetDirection INTEGER,
       ethernetOper-duplex String,
       ethernetOper-speed String,
       ethernetWavelength Unsigned32
    }

ethernetAdmin-status OBJECT-TYPE
    SYNTAX      INTEGER {up(1),down(2),testing(3)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ethernet-dataEntry 1 }

ethernetRate OBJECT-TYPE
    SYNTAX      Unsigned32 (500 .. 100000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set rate - units kbps."
    DEFVAL { 500 }
    ::= { ethernet-dataEntry 2 }

ethernetFec OBJECT-TYPE
    SYNTAX      INTEGER {off(0),rsfec(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Forward Error Correction Choices. "
    ::= { ethernet-dataEntry 3 }

ethernetLoopback OBJECT-TYPE
    SYNTAX      INTEGER {disabled(0),enabled(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "loopback operation and release"
    DEFVAL { disabled }
    ::= { ethernet-dataEntry 4 }

ethernetLocation OBJECT-TYPE
    SYNTAX      INTEGER {nearEnd(0),farEnd(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set Loopback Location."
    DEFVAL { nearEnd }
    ::= { ethernet-dataEntry 5 }

ethernetType OBJECT-TYPE
    SYNTAX      INTEGER {fac(0),fac2(1),term(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set Loopback type (or direction)."
    DEFVAL { fac }
    ::= { ethernet-dataEntry 6 }

ethernetOper-status OBJECT-TYPE
    SYNTAX      INTEGER {up(1),down(2),testing(3),unknown(4),dormant(5),not-present(6),lower-layer-down(7)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ethernet-dataEntry 7 }

ethernetTestsignal OBJECT-TYPE
    SYNTAX      INTEGER {disabled(0),enabled(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "testsignal connect and disconnect"
    DEFVAL { disabled }
    ::= { ethernet-dataEntry 8 }

ethernetTestPattern OBJECT-TYPE
    SYNTAX      INTEGER {pRBS(0),pRBS31(1),pRBS23(2),pRZEROS(3),iDLE(4)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set test signal pattern"
    ::= { ethernet-dataEntry 9 }

ethernetTestsignal-type OBJECT-TYPE
    SYNTAX      INTEGER {fac(0),term(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set test signal type (or direction)."
    DEFVAL { fac }
    ::= { ethernet-dataEntry 10 }

ethernetBitErrors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "bit errors for test signal in facility direction."
    ::= { ethernet-dataEntry 11 }

ethernetBitErrorsTerminal OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "bit errors for test signal in terminal direction."
    ::= { ethernet-dataEntry 12 }

ethernetSyncSeconds OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "number of seconds the received facility test signal is in sync."
    ::= { ethernet-dataEntry 13 }

ethernetSyncSecondsTerminal OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "number of seconds the received terminal test signal is in sync."
    ::= { ethernet-dataEntry 14 }

ethernetSpeed OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set speed of the interface, unit mbps.
This is for ETH facility.
Editable when not part of a LAG.  "
    ::= { ethernet-dataEntry 15 }

ethernetDuplex OBJECT-TYPE
    SYNTAX      INTEGER {half(0),full(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set duplex selections."
    DEFVAL { full }
    ::= { ethernet-dataEntry 16 }

ethernetMtu OBJECT-TYPE
    SYNTAX      Unsigned32 (1518 .. 9000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set Maximum Frame Size."
    DEFVAL { 1522 }
    ::= { ethernet-dataEntry 17 }

ethernetAuto-negotiation OBJECT-TYPE
    SYNTAX      INTEGER {disabled(0),enabled(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set Auto Negotiation: Enabled/Disabled."
    DEFVAL { disabled }
    ::= { ethernet-dataEntry 18 }

ethernetAct-laser OBJECT-TYPE
    SYNTAX      INTEGER {none(0),normal(1),shutdown(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "actual transmit laser status"
    ::= { ethernet-dataEntry 19 }

ethernetTsf OBJECT-TYPE
    SYNTAX      INTEGER {lf(0),idle(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Codeword to send during Transport Signal Failure"
    ::= { ethernet-dataEntry 20 }

ethernetBtsf OBJECT-TYPE
    SYNTAX      INTEGER {none(0),rf(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Codeword to send during Backward Transport Signal Failure"
    ::= { ethernet-dataEntry 21 }

ethernetLtxoff OBJECT-TYPE
    SYNTAX      INTEGER {none(0),rlanflt(1),tsfs(2),btsfs(3),all(4)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "LTXOFF Choices"
    DEFVAL { none }
    ::= { ethernet-dataEntry 22 }

ethernetDirection OBJECT-TYPE
    SYNTAX      INTEGER {uni-rx(0),uni-tx(1),bi(2)}
    MAX-ACCESS  read-write
    STATUS      current
	DESCRIPTION "direction Choices"
    ::= { ethernet-dataEntry 23 }

ethernetOper-duplex OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Get duplex"
    ::= { ethernet-dataEntry 24 }

ethernetOper-speed OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Get Speed"
    ::= { ethernet-dataEntry 25 }
	
ethernetWavelength OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Wavelength"
    DEFVAL { 1511 }
    ::= { ethernet-dataEntry 26 }

END
