-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsldptst.mib,v 1.2 2013/06/23 13:09:36 siva Exp $
SUPERMICRO-LDP-TEST-MIB DEFINITIONS ::= BEGIN

    IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       enterprises, Unsigned32, IpAddress
        FROM SNMPv2-SMI                 -- [RFC2578]
       RowStatus, DisplayString
        FROM SNMPv2-TC;                 -- [RFC2579]

    fsLdpTestMIB MODULE-IDENTITY
       LAST-UPDATED "201211300000Z"           
       ORGANIZATION "Super Micro Computer Inc."
       CONTACT-INFO "support@Supermicro.com"
       DESCRIPTION  "The Proprietary Test MIB used for setting up LDP Test 
                     framework for simulating TCP Connections and sending
                     invalid / incorrect / malformed LDP packets. "
       REVISION "201211300000Z" 
       DESCRIPTION  "The Proprietary Test MIB used for setting up LDP Test 
                     framework for simulating TCP Connections and sending
                     invalid / incorrect / malformed LDP packets. "
       ::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) futureMpls (13) 14 }

    -- LDP Test objects
    fsLdpTestObjects        OBJECT IDENTIFIER ::= { fsLdpTestMIB 1 }
    
-- LDP TCP Connection Table Starts
    
    fsLdpTcpConnectionTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF FsLdpTcpConnectionEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This table represents a test TCP connection."
        ::= { fsLdpTestObjects 1 }

    fsLdpTcpConnectionEntry  OBJECT-TYPE
       SYNTAX        FsLdpTcpConnectionEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
          "An entry in this table denotes a TCP Connection. 
           A new test TCP connection can be created for sending invalid / 
           incorrect / malformed TCP packets. This entry do not setup
           LDP session. This entry only initiates TCP connection. "
       INDEX { fsLdpTcpConnectionId }
       ::= { fsLdpTcpConnectionTable 1 }

    FsLdpTcpConnectionEntry ::= SEQUENCE {
        fsLdpTcpConnectionId        Unsigned32,
        fsLdpTcpDestIpAddress       IpAddress,
        fsLdpTcpSourceIpAddress     IpAddress,
        fsLdpTcpDestPort            Unsigned32,
        fsLdpTcpSourcePort          Unsigned32,
        fsLdpTcpPacketTxValue       DisplayString,
        fsLdpTcpConnectionRowStatus RowStatus,
        fsLdpTcpVrfName             DisplayString
    }

    fsLdpTcpConnectionId OBJECT-TYPE
       SYNTAX        Unsigned32 (1..256)
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
          "This object uniquely identifies the TCP Connection Entry."
       ::= { fsLdpTcpConnectionEntry 1 }

    fsLdpTcpDestIpAddress OBJECT-TYPE
       SYNTAX        IpAddress      
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
          "This object is used to set the Destination IP Address of the TCP
           Connection. This object needs to be set mandatorily for setting up
           LDP Connection."
       ::= { fsLdpTcpConnectionEntry 2 }

    fsLdpTcpSourceIpAddress OBJECT-TYPE
       SYNTAX        IpAddress      
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
          "This object is used to set the Source IP Address of the TCP
           Connection. This object can be set optionally. If this object is set,
           the value mentioned in this object is used as the Source IP address for
           setting up LDP Connection. If this object is not set, IP address of the
           outgoing IP interface to reach the Destination IP address specified in the
           object fsLdpTcpDestIpAddress is used. "
       ::= { fsLdpTcpConnectionEntry 3 }

     fsLdpTcpDestPort OBJECT-TYPE
       SYNTAX        Unsigned32 (0..65535)
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
          "This object is used to set the TCP Destination Port of the TCP
           Connection. This object can be optionally set. If this object is set,
           the value mentioned in this object is used as the Destination TCP Port
           for setting up TCP Connection. If this object is not set, TCP 
           connection is set up using LDP TCP Port number 646. "
       DEFVAL { 646 }
       ::= { fsLdpTcpConnectionEntry 4 }

     fsLdpTcpSourcePort OBJECT-TYPE
       SYNTAX        Unsigned32 (0..65535)
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
          "This object is used to set the TCP Destination Port of the TCP
           Connection.  This object can be optionally set. If this object is set,
           the value mentioned in this object is used as the source TCP port for
           setting up TCP connection. If this object is not set, next available
           port number is used as source TCP port for setting up TCP connection."
       ::= { fsLdpTcpConnectionEntry 5 }

    fsLdpTcpPacketTxValue   OBJECT-TYPE
        SYNTAX               DisplayString (SIZE (0..1500))
        MAX-ACCESS           read-write
        STATUS               current
        DESCRIPTION
            "This object is used to set the packet payload which is to be sent
             over the TCP connection. This object can be set even if 
             fsLdpTcpConnectionRowStatus is active. When this object is set,
             the TCP packet is sent out immediately with the mentioned payload
             value over the TCP connection. "
        ::= { fsLdpTcpConnectionEntry 6 }

     fsLdpTcpConnectionRowStatus OBJECT-TYPE
       SYNTAX        RowStatus     
       MAX-ACCESS    read-write
       STATUS        current
       DESCRIPTION
          "This object is used to set create, activate or destroy the TCP connection.
           The possible values that can be set for this object are createAndWait (5),
           Active (1) and Destroy (6). "
       ::= { fsLdpTcpConnectionEntry 7 }

    fsLdpTcpVrfName      OBJECT-TYPE
        SYNTAX           DisplayString (SIZE (0..32))
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION
            "VRF name of the interface where the TCP connection is established."
        ::= { fsLdpTcpConnectionEntry 8 }

    -- LDP TCP Connection Table definition ends

END
