-- ################################################################################

    EXTREME-IETF-BFD-TC-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, mib-2, Unsigned32
            FROM SNMPv2-SMI                                 -- [RFC2578]

        TEXTUAL-CONVENTION
            FROM SNMPv2-TC                                  -- [RFC2579]

         extremeBfd                  FROM EXTREME-BASE-MIB;

    extremeIetfBfdTCMib MODULE-IDENTITY
        LAST-UPDATED "201206141200Z" -- 14 June 2012 12:00:00 EST
        ORGANIZATION "IETF Bidirectional Forwarding Detection
                      Working Group"
        CONTACT-INFO
            "Thomas D. Nadeau
             Juniper Networks
             Email:  tnadeau@lucidvision.com

             Zafar Ali
             Cisco Systems, Inc.
             Email:  zali@cisco.com

             Nobo Akiya
             Cisco Systems, G.K.
             Email:  nobo@cisco.com"
        DESCRIPTION
            "This MIB module defines TEXTUAL-CONVENTIONs for concepts
             used in Bidirectional Forwarding Detection (BFD)
             protocols."
        REVISION "201206141200Z" -- 14 June 2012 12:00:00 EST
        DESCRIPTION
            "Initial version. Published as RFC xxxx."

--      DESCRIPTION
--        This MIB module is based on Internet Draft draft-ietf-bfd-tc-mib-02.txt.
--        In this initial version, extreme keyword is prepended before every
--        Textual Convention; this is the only difference when compared to
--        draft-ietf-bfd-tc-mib-02.txt.

 -- RFC Ed.: RFC-editor pls fill in xxxx
    ::= { extremeBfd 1 }
 -- RFC Ed.: assigned by IANA, see section 5 for details

    ExtremeBfdSessIndexTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION
        "An index used to uniquely identify BFD sessions."
    SYNTAX Unsigned32 (1..4294967295)

    ExtremeBfdIntervalTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT  "d"
    STATUS        current
    DESCRIPTION
        "The BFD interval in microseconds."
    SYNTAX Unsigned32 (0..4294967295)

    ExtremeBfdMultiplierTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "The BFD failure detection multiplier."
    SYNTAX Unsigned32 (1..255)

    ExtremeBfdDiagTC ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "A common BFD diagnostic code."
    SYNTAX INTEGER {
        noDiagnostic(0),
        controlDetectionTimeExpired(1),
        echoFunctionFailed(2),
        neighborSignaledSessionDown(3),
        forwardingPlaneReset(4),
        pathDown(5),
        concatenatedPathDown(6),
        administrativelyDown(7),
        reverseConcatenatedPathDown(8)
    }

    ExtremeBfdSessTypeTC ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "BFD session type"
    REFERENCE
        "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2010.
 
         Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD) for IPv4 and IPv6 (Single Hop),

         Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD) for Multihop Paths, RFC 5883,
              June 2010."
    SYNTAX INTEGER {
        singleHop(1),
        multiHopTotallyArbitraryPaths(2),
        multiHopOutOfBandSignaling(3),
        multiHopUnidirectionalLinks(4),
        multiPointHead(5),
        multiPointTail(6)
    }

    ExtremeBfdSessOperModeTC ::= TEXTUAL-CONVENTION
    STATUS            current
    DESCRIPTION
        "BFD session operating mode"
    REFERENCE
        "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2010."
    SYNTAX INTEGER {
        asyncModeWEchoFunction(1),
        asynchModeWOEchoFunction(2),
        demandModeWEchoFunction(3),
        demandModeWOEchoFunction(4)
    }

    ExtremeBfdCtrlDestPortNumberTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT            "d"
    STATUS                  current
    DESCRIPTION
        "UDP destination port number of BFD control packets.
         3784 represents single hop BFD session.
         4784 represents multi hop BFD session.
         However, syntax is left open to wider range of values
         purposely for two reasons:
         1. implementation uses non-compliant port number for
            valid proprietary reason.
         2. potential future extension drafts."
    REFERENCE
        "Use of port 3784 from Katz, D. and D. Ward, 
              Bidirectional Forwarding
              Detection (BFD) for IPv4 and IPv6 (Single Hop),

         Use of port 4784 from Katz, D. and D. Ward, Bidirectional 
              Forwarding Detection (BFD) for IPv4 and IPv6 
              (Single Hop), RFC 5881, June 2010."
    SYNTAX Unsigned32 (0..65535)

    ExtremeBfdCtrlSourcePortNumberTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT              "d"
    STATUS                    current
    DESCRIPTION
        "UDP source port number of BFD control packets.
         However, syntax is left open to wider range of values
         purposely for two reasons:
         1. implementation uses non-compliant port number for
            valid proprietary reason.
         2. potential future extension drafts."
    REFERENCE
        "Port 49152..65535 (RFC5881)"
    SYNTAX Unsigned32 (0..65535)

    ExtremeBfdSessStateTC ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
        "BFD session state. State failing(5) is only applicable if
         corresponding session is running in BFD version 0."
    REFERENCE
        "RFC 5880 - Bidirectional Forwarding Detection (BFD), Katz, 
         D., Ward, D., June 2010."
    SYNTAX INTEGER {
        adminDown(1),
        down(2),
        init(3),
        up(4),
        failing(5)
    }

    ExtremeBfdSessAuthenticationTypeTC ::= TEXTUAL-CONVENTION
    STATUS                      current
    DESCRIPTION
        "BFD authentication type"
    REFERENCE
        "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
         Bidirectional Forwarding Detection (BFD)," 
    SYNTAX INTEGER {
        noAuthentication(-1),
        reserved(0),
        simplePassword(1),
        keyedMD5(2),
        meticulousKeyedMD5(3),
        keyedSHA1(4),
        meticulousKeyedSHA1(5)
    }

    ExtremeBfdSessionAuthenticationKeyTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT                  "1x "
    STATUS                        current
    DESCRIPTION
        "BFD authentication key type.
    
         A ExtremeBfdSessionAuthenticationKeyTC is always interpreted within
         the context of an ExtremeBfdSessAuthenticationTypeTC value.  Every
         usage of the ExtremeBfdSessionAuthenticationTypeTC textual
         convention is required to specify the the
         ExtremeBfdSessionAuthenticationKeyTC object that provides the
         context.  It is suggested that the
         ExtremeBfdSessionAuthentcationTypeTC object be logically registered
         before the object(s) that use the
         ExtremeBfdSessionAuthenticationKeyTC textual convention, if they
         appear in the same logical row.

         The value of a ExtremeBfdSessionAuthenticationKeyTC must always be
         consistent with the value of the associated
         ExtremeBfdSessionAuthencationTypeTC object.  Attempts to set a
         ExtremeBfdSessionAuthenticationKeyTC object to a value inconsistent
         with the associated ExtremeBfdSessionAuthenticationTypeTC must fail
         with an inconsistentValue error.

         The following size constraints for a
         ExtremeBfdSessionAuthenticationKeyTC object are defined for the
         associated ExtremeBfdSessionAuthenticationTypeTC values show below:

         noAuthentication(-1): SIZE(0)
         reserved(0): SIZE(0)
         simplePassword(1): SIZE(1..16)
         keyedMD5(2): SIZE(16)
         meticulousKeyedMD5(3): SIZE(16)
         keyedSHA1(4): SIZE(20)
         meticulousKeyedSHA1(5): SIZE(20)

         When this textual convention is used as the syntax of an
         index object, there may be issues with the limit of 128
         sub-identifiers specified in SMIv2, STD 58.  In this case,
         the object definition MUST include a 'SIZE' clause to limit
         the number of potential instance sub-identifiers; otherwise
         the applicable constraints MUST be stated in the appropriate
         conceptual row DESCRIPTION clauses, or in the surrounding
         documentation if there is no single DESCRIPTION clause that
         is appropriate."
    REFERENCE
        "RFC5880, Sections 4.2 - 4.4"
    SYNTAX OCTET STRING(SIZE(0..252))

    END
