--*********************************************************************
-- CISCO_DMN_DSG_IPv4v6.mib : Mib file for IPV4V6 control and status.
--
-- August 2010, TEL MIB Team
--
-- Copyright (c) 1999-2012 Cisco Systems, Inc. All rights reserved.
--*********************************************************************

CISCO-DMN-DSG-IPV4V6-MIB

DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,Integer32,IpAddress
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
--    IPV6 for future use
--    Ipv6Address
--        FROM IPV6-TC
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    ciscoDSGUtilities
        FROM CISCO-DMN-DSG-ROOT-MIB;

ciscoDSGIPv4v6  MODULE-IDENTITY
    LAST-UPDATED  "201203201100Z" -- March 20 2012 11:00:00 GMT
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
       "Cisco Systems, Inc.
        Customer Service
        Postal: 170 W Tasman Drive
        San Jose, CA 95134
        USA
        Tel: +1 800 553 NETS

        E-mail: cs-ipsla@cisco.com"
    DESCRIPTION    "Cisco IPv4v6 MIB."

    REVISION       "201203201100Z"
    DESCRIPTION    "V01.00.05 2012-03-20
                    Updated for D9854 R4 Release."

    REVISION       "201008301100Z"
    DESCRIPTION    "V01.00.04 2010-08-30
                   Updated for adherence to SNMPv2 format."

    REVISION       "201004300500Z"
    DESCRIPTION    "V01.00.03 2010-04-30
                    The access type of ipConfigV4V6Flag is changed to
                    read-only.
                    IPV6 settings objects are commented."

    REVISION       "201004120500Z"
    DESCRIPTION    "V01.00.02 2010-04-12
                    New IP config (IPV6) objects are added."

    REVISION       "201003220500Z"
    DESCRIPTION    "V01.00.01 2010-03-22
                    The Syntax of Unsigned32 MIB objects whose range is
                    within the range of Integer32, is updated to
                    Integer32."

    REVISION       "200912201200Z"
    DESCRIPTION    "V01.00.00 2009-12-20
                    Initial Version."

    ::= { ciscoDSGUtilities 25 }


ipV4v6Table                  OBJECT IDENTIFIER ::= { ciscoDSGIPv4v6 2 }


--***********************************
-- Mac Info Table Branch
--***********************************

macInfoTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF MacInfoEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "Media Access Control( MAC ) information Table."
     ::= { ipV4v6Table 1 }

macInfoEntry OBJECT-TYPE
     SYNTAX  MacInfoEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "Port Entry index."
     INDEX   { macInfoMacIndex }
     ::= { macInfoTable 1 }

MacInfoEntry ::=  SEQUENCE
{
    macInfoMacIndex   Integer32,
    macInfoMacAddr    DisplayString
}

macInfoMacIndex OBJECT-TYPE
     SYNTAX  Integer32(1..2)
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Port Index."
     ::= { macInfoEntry 1 }

macInfoMacAddr OBJECT-TYPE
     SYNTAX  DisplayString (SIZE(0..17))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Port MAC Address."
     ::= { macInfoEntry 2 }

--********************************
-- IP Config Table Branch
--********************************

ipConfigTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF IPConfigEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "IP configuration table."
     ::= { ipV4v6Table 2 }

ipConfigEntry OBJECT-TYPE
     SYNTAX  IPConfigEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "Entry for IP configuration table."
     INDEX   { ipConfigPortIdKey }
     ::= { ipConfigTable 1 }

IPConfigEntry ::=  SEQUENCE
{
    ipConfigPortIdKey           Integer32,
    ipConfigName                DisplayString,
    ipConfigCurIPAddressV4      IpAddress,
    ipConfigCurNetworkMaskV4    Integer32,
    ipConfigCurDefaultGatewayV4 IpAddress,
    ipConfigV4V6Flag            INTEGER,
    ipConfigPortMode            INTEGER,
-- ******** IPV6 objects for future use ********
--    ipConfigCurIPAddressV6       Ipv6Address,
--    ipConfigCurNetworkMaskV6     Integer32,
--    ipConfigCurDefaultGatewayV6  Ipv6Address
    ethStatusLink               DisplayString,
    ethStatusSpeed              DisplayString,
    ethStatusDuplex             DisplayString,
    ethStatusXover              DisplayString
}

ipConfigPortIdKey OBJECT-TYPE
     SYNTAX  Integer32 (1..2)
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "The port Id."
     ::= { ipConfigEntry 1 }

ipConfigName OBJECT-TYPE
     SYNTAX  DisplayString (SIZE(0..24))
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "Port(Interface) name."
     ::= { ipConfigEntry 2 }

ipConfigCurIPAddressV4 OBJECT-TYPE
     SYNTAX  IpAddress
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "The decoder IPv4 address.
          Format: ###.###.###.###, Range of ### is 0 to 255."
     ::= { ipConfigEntry 3 }

ipConfigCurNetworkMaskV4 OBJECT-TYPE
     SYNTAX  Integer32(8..30)
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "Unit IPv4 CIDR Mask: 8-30 bits."
     ::= { ipConfigEntry 4 }

ipConfigCurDefaultGatewayV4 OBJECT-TYPE
     SYNTAX  IpAddress
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "The default gateway IPv4 address.
          Format: ###.###.###.###, Range of ### is 0 to 255."
     ::= { ipConfigEntry 5 }

ipConfigV4V6Flag OBJECT-TYPE
     SYNTAX  INTEGER {
             ipV4(1),
             ipV6(2)
        }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
            "IPv4 or IPv6 IP address type."
     ::= { ipConfigEntry 6 }

ipConfigPortMode OBJECT-TYPE
     SYNTAX  INTEGER {
            auto(1),
            hd10(2),
            fd10(3),
            hd100(4),
            fd100(5),
            hd1000(6),
            fd1000(7)
        }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
            "Interface connection mode."
     ::= { ipConfigEntry 7 }

-- ******** IPV6 objects for future use ********
--ipConfigCurIPAddressV6 OBJECT-TYPE
--     SYNTAX  Ipv6Address
--    MAX-ACCESS  read-write
--     STATUS  current
--     DESCRIPTION
--         "The decoder IPv6 address.Format:
--          HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH.
--          Range of HHHH is 0 to FFFF."
--     ::= { ipConfigEntry 8 }

--ipConfigCurNetworkMaskV6 OBJECT-TYPE
--     SYNTAX  Integer32(3..64)
--     MAX-ACCESS  read-write
--     STATUS  current
--     DESCRIPTION
--         "Unit IPv6 CIDR Mask: 3-64 bits."
--     ::= { ipConfigEntry 9 }

--ipConfigCurDefaultGatewayV6 OBJECT-TYPE
--     SYNTAX  Ipv6Address
--     MAX-ACCESS  read-write
--     STATUS  current
--     DESCRIPTION
--         "The default gateway IPv6 address.Format:
--         HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH.
--         Range of HHHH is 0 to FFFF."
--     ::= { ipConfigEntry 10 }

ethStatusLink OBJECT-TYPE
     SYNTAX  DisplayString (SIZE(0..64))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Port link state."
     ::= { ipConfigEntry 11 }

ethStatusSpeed OBJECT-TYPE
     SYNTAX  DisplayString (SIZE(0..64))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Port link speed."
     ::= { ipConfigEntry 12 }

ethStatusDuplex OBJECT-TYPE
     SYNTAX  DisplayString (SIZE(0..64))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Port link duplex state."
     ::= { ipConfigEntry 13 }

ethStatusXover OBJECT-TYPE
     SYNTAX  DisplayString (SIZE(0..64))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Port link crossover mode."
     ::= { ipConfigEntry 14 }


--********************************
-- Ethernet Backup Table Branch
--********************************

ethBackupTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF ETHBackupEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "Ethernet Backup table."
     ::= { ipV4v6Table 3 }

ethBackupEntry OBJECT-TYPE
     SYNTAX  ETHBackupEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "Entry for Ethernet Backup table."
     INDEX   { ethBackupIndex }
     ::= { ethBackupTable 1 }

ETHBackupEntry ::=  SEQUENCE
{
    ethBackupIndex          INTEGER,
    ethBackupMode           INTEGER,
    ethBackupDirection      INTEGER,
    ethBackupDelayForward   INTEGER,
    ethBackupDelayBack      INTEGER
}

ethBackupIndex OBJECT-TYPE
     SYNTAX  INTEGER(1..64) -- Only 1 for now.
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Index into Ethernet Backup Table."
     ::= { ethBackupEntry 1 }


ethBackupMode OBJECT-TYPE
     SYNTAX  INTEGER {
            mirroring(1),
            backupPrimaryData1(2),
            backupPrimaryData2(3),
            manualData1(4),
            manualData2(5)
        }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "Ethernet Backup Mode."
     ::= { ethBackupEntry 2 }

ethBackupDirection OBJECT-TYPE
     SYNTAX  INTEGER {
            nonRevertive(1),
            revertive(2)
        }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "Ethernet Backup Direction."
     ::= { ethBackupEntry 3 }

ethBackupDelayForward OBJECT-TYPE
     SYNTAX  INTEGER(0..10000)
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "Ethernet Backup Forward Delay in ms."
     ::= { ethBackupEntry 4 }

ethBackupDelayBack OBJECT-TYPE
     SYNTAX  INTEGER(0..120)
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "Ethernet Backup Back Delay in seconds."
     ::= { ethBackupEntry 5 }

--********************************
-- Ethernet Backup Status Table Branch
--********************************

ethBackupStatusTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF ETHBackupStatusEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "Ethernet Backup Status table."
     ::= { ipV4v6Table 4 }

ethBackupStatusEntry OBJECT-TYPE
     SYNTAX  ETHBackupStatusEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
         "Entry for Ethernet Backup Status table."
     INDEX   { ethBackupStatusIndex }
     ::= { ethBackupStatusTable 1 }

ETHBackupStatusEntry ::=  SEQUENCE
{
    ethBackupStatusIndex            INTEGER,
    ethBackupStatusPortsInUse       DisplayString,
    ethBackupStatusChangeReason     DisplayString,
    ethBackupStatusChangeDateTime   DisplayString
}

ethBackupStatusIndex OBJECT-TYPE
     SYNTAX  INTEGER(1..64) -- Only 1 for now.
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Index into Ethernet Backup Status Table."
     ::= { ethBackupStatusEntry 1 }

ethBackupStatusPortsInUse OBJECT-TYPE
     SYNTAX  DisplayString(SIZE(0..64))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Ethernet ports in use."
     ::= { ethBackupStatusEntry 2 }

ethBackupStatusChangeReason OBJECT-TYPE
     SYNTAX  DisplayString(SIZE(0..64))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Ethernet backup change reason."
     ::= { ethBackupStatusEntry 3 }

ethBackupStatusChangeDateTime OBJECT-TYPE
     SYNTAX  DisplayString(SIZE(0..30))
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "Time of last ethernet backup change."
     ::= { ethBackupStatusEntry 4 }



END

