--
-- All Rights Reserved, Copyright (c) 2016, ALAXALA Networks Corp.
--
-- AX-BFD-TC-MIB.my BFD Textual Conventions MIB Definitions.
--

AX-BFD-TC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, Unsigned32
        FROM SNMPv2-SMI                                 -- [RFC2578]
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC                                  -- [RFC2579]
    axMib
        FROM AX-SMI-MIB
;

axBfdTCMib MODULE-IDENTITY
    LAST-UPDATED "201610130000Z"
    ORGANIZATION    "ALAXALA Networks Corp."
    CONTACT-INFO    "ALAXALA Networks Corp."
    DESCRIPTION
        "This MIB module defines TEXTUAL-CONVENTIONs for concepts
         used in Bidirectional Forwarding Detection (BFD)
         protocols."
    REVISION        "201610130000Z"
    DESCRIPTION
        "Initial release."        
::= { axMib 204 }

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

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

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

BfdDiagTC ::= 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)
}

BfdSessTypeTC ::= 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),
          RFC 5881, June 2010.

     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)
}

BfdSessOperModeTC ::= 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)
}

BfdCtrlDestPortNumberTC ::= 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), RFC 5881, June 2010.

     Use of port 4784 from Katz, D. and D. Ward,
     Bidirectional Forwarding Detection (BFD) for
     Multihop Paths, RFC 5883, June 2010."
SYNTAX Unsigned32 (0..65535)

BfdCtrlSourcePortNumberTC ::= 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)

BfdSessStateTC ::= 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)
}

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

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

     The value of a BfdSessionAuthenticationKeyTC must always be
     consistent with the value of the associated
     BfdSessionAuthencationTypeTC object.  Attempts to set a
     BfdSessionAuthenticationKeyTC object to a value inconsistent
     with the associated BfdSessionAuthenticationTypeTC must fail
     with an inconsistentValue error.

     The following size constraints for a
     BfdSessionAuthenticationKeyTC object are defined for the
     associated BfdSessionAuthenticationTypeTC 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
