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

FUJITSU-LLDP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Unsigned32, Counter32, Counter64,
    Gauge32, IpAddress
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, DateAndTime,
    TruthValue
        FROM SNMPv2-TC
    protocolsProtocolName
        FROM FUJITSU-PROTOCOLS-MIB
    protocolsProtocolEntry
        FROM FUJITSU-PROTOCOLS-MIB
    fssProtocols
        FROM FSS-COMMON-SMI
;

fssLLDP MODULE-IDENTITY
    LAST-UPDATED "201611030000Z"
    ORGANIZATION "@ORGANIZATION"
    CONTACT-INFO "@CONTACT-INFO"
    DESCRIPTION "This module contains configurable and retrievable for LLDP.

Copyright (c) 2016 Fujitsu Ltd.
All rights reserved. "
    REVISION "201611030000Z"
    DESCRIPTION "@REVISION-DESCRIPTION"
    ::= { fssProtocols 1100 }

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)

InetAddressIP ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "confd:inetAddressIP"
    SYNTAX      OCTET STRING (SIZE (4|16))

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

-- tagpath /protocols/protocol/lldp-instance/global-config/adminStatus
protocolsProtocolFssLLDPTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ProtocolsProtocolFssLLDPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { fssLLDP 1 }

-- tagpath /protocols/protocol/lldp-instance/global-config/adminStatus
protocolsProtocolFssLLDPEntry OBJECT-TYPE
    SYNTAX      ProtocolsProtocolFssLLDPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    AUGMENTS { protocolsProtocolEntry }
        ::= { protocolsProtocolFssLLDPTable 1 }

ProtocolsProtocolFssLLDPEntry ::=
    SEQUENCE {
        lldp-instanceGlobal-configAdminStatus INTEGER,
        lldp-instanceGlobal-configMsgTxInterval UnsignedShort,
        lldp-instanceGlobal-configMsgTxHoldMultiplier UnsignedByte
    }

-- tagpath /protocols/protocol/lldp-instance/global-config/adminStatus
lldp-instanceGlobal-configAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {disable(0),enable(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    DEFVAL { enable }
    ::= { protocolsProtocolFssLLDPEntry 1 }

-- tagpath /protocols/protocol/lldp-instance/global-config/msgTxInterval
lldp-instanceGlobal-configMsgTxInterval OBJECT-TYPE
    SYNTAX      UnsignedShort (5 .. 32768)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    DEFVAL { 30 }
    ::= { protocolsProtocolFssLLDPEntry 2 }

-- tagpath /protocols/protocol/lldp-instance/global-config/msgTxHoldMultiplier
lldp-instanceGlobal-configMsgTxHoldMultiplier OBJECT-TYPE
    SYNTAX      UnsignedByte (2 .. 10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    DEFVAL { 4 }
    ::= { protocolsProtocolFssLLDPEntry 3 }

-- tagpath /protocols/protocol/lldp-instance/port
lldp-instancePortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Lldp-instancePortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { fssLLDP 2 }

-- tagpath /protocols/protocol/lldp-instance/port
lldp-instancePortEntry OBJECT-TYPE
    SYNTAX      Lldp-instancePortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { protocolsProtocolName, lldp-instancePortIfIndex }
        ::= { lldp-instancePortTable 1 }

Lldp-instancePortEntry ::=
    SEQUENCE {
        lldp-instancePortIfIndex Integer32,
        lldp-instancePortAdminStatus INTEGER,
        lldp-instancePortRowstatus RowStatus
    }

-- tagpath /protocols/protocol/lldp-instance/port/ifName
lldp-instancePortIfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { lldp-instancePortEntry 1 }

-- tagpath /protocols/protocol/lldp-instance/port/adminStatus
lldp-instancePortAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {disable(0),txandrx(1),txonly(2),rxonly(3)}
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION ""
    DEFVAL { txandrx }
    ::= { lldp-instancePortEntry 2 }

-- tagpath /protocols/protocol/lldp-instance/port/rowstatus
lldp-instancePortRowstatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION ""
    ::= { lldp-instancePortEntry 3 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour
--lldp-instancePortNeighbourTable OBJECT-TYPE
--    SYNTAX      SEQUENCE OF Lldp-instancePortNeighbourEntry
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION ""
--    ::= { fssLLDP 3 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour
--lldp-instancePortNeighbourEntry OBJECT-TYPE
--    SYNTAX      Lldp-instancePortNeighbourEntry
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION ""
--    INDEX { protocolsProtocolName, lldp-instancePortIfIndex, IMPLIED lldp-instancePortNeighbourRemoteSysName }
--        ::= { lldp-instancePortNeighbourTable 1 }

--Lldp-instancePortNeighbourEntry ::=
--    SEQUENCE {
--        lldp-instancePortNeighbourRemoteSysName String,
--        lldp-instancePortNeighbourRemotePortIdSubType INTEGER,
--        lldp-instancePortNeighbourRemotePortId String,
--        lldp-instancePortNeighbourRemoteChassisIdSubType INTEGER,
--        lldp-instancePortNeighbourRemoteChassisId String
--    }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remoteSysName
--lldp-instancePortNeighbourRemoteSysName OBJECT-TYPE
--    SYNTAX      String
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION ""
--    ::= { lldp-instancePortNeighbourEntry 1 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remotePortIdSubType
--lldp-instancePortNeighbourRemotePortIdSubType OBJECT-TYPE
--    SYNTAX      INTEGER {other(0),ifalias(1),portcomponent(2),macaddress(3),networkaddress(4),ifname(5),agentcircuitid(6),local(7),notSupported(8)}
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION ""
--    ::= { lldp-instancePortNeighbourEntry 2 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remotePortId
--lldp-instancePortNeighbourRemotePortId OBJECT-TYPE
--    SYNTAX      String
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION ""
--    ::= { lldp-instancePortNeighbourEntry 3 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remoteChassisIdSubType
--lldp-instancePortNeighbourRemoteChassisIdSubType OBJECT-TYPE
--    SYNTAX      INTEGER {reserved(0),chassiscomponent(1),ifalias(2),portcomponent(3),macaddress(4),networkaddress(5),ifname(6),local(7),notSupported(8)}
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION ""
--    ::= { lldp-instancePortNeighbourEntry 4 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remoteChassisId
--lldp-instancePortNeighbourRemoteChassisId OBJECT-TYPE
--    SYNTAX      String
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION ""
--    ::= { lldp-instancePortNeighbourEntry 5 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remoteMgmtAddress
--lldp-instancePortNeighbourRemoteMgmtAddressTable OBJECT-TYPE
--    SYNTAX      SEQUENCE OF Lldp-instancePortNeighbourRemoteMgmtAddressEntry
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION ""
--    ::= { fssLLDP 4 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remoteMgmtAddress
--lldp-instancePortNeighbourRemoteMgmtAddressEntry OBJECT-TYPE
--    SYNTAX      Lldp-instancePortNeighbourRemoteMgmtAddressEntry
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION ""
--    INDEX { protocolsProtocolName, lldp-instancePortIfIndex, lldp-instancePortNeighbourRemoteSysName, lldp-instancePortNeighbourRemoteMgmtAddressAddress }
--        ::= { lldp-instancePortNeighbourRemoteMgmtAddressTable 1 }

--Lldp-instancePortNeighbourRemoteMgmtAddressEntry ::=
--    SEQUENCE {
--        lldp-instancePortNeighbourRemoteMgmtAddressAddress InetAddressIP,
--        lldp-instancePortNeighbourRemoteMgmtAddressAddressSubType INTEGER
--    }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remoteMgmtAddress/Address
--lldp-instancePortNeighbourRemoteMgmtAddressAddress OBJECT-TYPE
--    SYNTAX      InetAddressIP
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION ""
--    ::= { lldp-instancePortNeighbourRemoteMgmtAddressEntry 1 }

-- tagpath /protocols/protocol/lldp-instance/port/neighbour/remoteMgmtAddress/AddressSubType
--lldp-instancePortNeighbourRemoteMgmtAddressAddressSubType OBJECT-TYPE
--    SYNTAX      INTEGER {ipV4(1),ipV6(2),nsap(3),hdlc(4),bbn1822(5),all802(6),e163(7),e164(8),f69(9),x121(10),ipx(11),appletalk(12),decnetIV(13),banyanVines(14),e164withNsap(15),dns(16),distinguishedName(17),asNumber(18),xtpOverIpv4(19),xtpOverIpv6(20),xtpNativeModeXTP(21),fibreChannelWWPN(22),fibreChannelWWNN(23),gwid(24),l2vpn(25),mplsTpSectionEndpointIdentifier(26),mplsTpLspEndpointIdentifier(27),mplsTpPseudowireEndpointIdentifier(28),eigrpCommonServiceFamily(16384),eigrpIpv4ServiceFamily(16385),eigrpIpv6ServiceFamily(16386),lispCanonicalAddressFormat(16387),bgpLs(16388),a48BitMac(16389),a64BitMac(16390)}
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION ""
--    ::= { lldp-instancePortNeighbourRemoteMgmtAddressEntry 2 }

END
