--  =======================================================================
--  File        : oaSwitch.mib
--  Description : Private MIB for Device Layer-2 Configuration
--  By          : Alex & Yakov & Ludmila
--  Version     : 0.1  
--  Date        : 
--  $Log:  $
--  =======================================================================
--
--
OASWITCH-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                enterprises         FROM RFC1155-SMI
                DisplayString       FROM RFC1213-MIB
                Counter             FROM RFC1155-SMI
                OBJECT-TYPE         FROM RFC-1212;

        MacAddress ::=  OCTET STRING(SIZE(6))

-- ************************************************************
-- Object Identifier Definition.
-- ************************************************************

oaccess         OBJECT IDENTIFIER ::= { enterprises 6926 }
oaManagement    OBJECT IDENTIFIER ::= { oaccess 1 }
oaSwitch        OBJECT IDENTIFIER ::= { oaManagement 5 }

-- *************************************************************
--  MAC Address Table of the Device.
-- *************************************************************

oaSwitchMac OBJECT IDENTIFIER ::= { oaSwitch 1 }

oaSwitchMacInfo  OBJECT IDENTIFIER ::= { oaSwitchMac 1 }

oaSwitchMacInfoNumber OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
        "Current number of entries in the learning table."
        ::= { oaSwitchMacInfo 1 }

oaSwitchMacInfoMaxNumbr OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
        "Maximum number of entries in the learning table."
        ::= { oaSwitchMacInfo 2 }

oaSwitchMacInfoClear OBJECT-TYPE
        SYNTAX  INTEGER
        {
         none (1),
         clear (2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "GET always returns 'none (1)'.
         SET 'clear(2)' couses LT erasing. GET always returns 'none (1)'.
         WARNING: erasing LT on some kind of agents may couse disconnection
         for short period of time."
        ::= { oaSwitchMacInfo 5 }

oaSwMacTable    OBJECT-TYPE
        SYNTAX  SEQUENCE OF OaSwMacEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        "A table that contains Learning Table with fields
         that does not exsist in dot1dTpFdbTable."
        ::= { oaSwitchMac 2 }

oaSwMacEntry    OBJECT-TYPE
        SYNTAX  OaSwMacEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        "Information about a specific MAC address in the
         oaSwMacTable."
        INDEX   { oaSwMacAddr, oaSwMacVid}

        ::= { oaSwMacTable 1 }

OaSwMacEntry ::= SEQUENCE {
        oaSwMacAddr         MacAddress,
        oaSwMacVid          INTEGER,
        oaSwMacVidx         INTEGER,
        oaSwMacGetViewIndex INTEGER,
        oaSwMacPort         INTEGER,
        oaSwMacMode         INTEGER,
        oaSwMacTagged       INTEGER,
        oaSwMacPriority     INTEGER,
        oaSwMacFlags        INTEGER,
        oaSwMacStatus       INTEGER
        }
                
oaSwMacAddr     OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
        "MAC address for which the bridge has
         forwarding and/or filtering information."
        ::= { oaSwMacEntry 1 }

oaSwMacVid      OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
        "Tag of the entry: the address 'Address recognition'
         is concatenation of oaSwMac and oaSwMacVid.
         When ISVP is not implemented or ISVL mode is disabled,
         this field in SET/NEXT operations may have any value,
         GET operation should return 0."
        ::= { oaSwMacEntry 2 }

oaSwMacVidx     OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "Outbound VLAN tag: if frame 'Address recognition'
         was resolved with this entry, the forwarding
         will be maked according the VLAN with this tag.
         When ISVP is not implemented or ISVL mode is disabled,
         this field in SET operations may have any value,
         GET operation should return 0."
        ::= { oaSwMacEntry 6 }
            
oaSwMacGetViewIndex  OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
        "Sequantial index of the entry."
        ::= { oaSwMacEntry 8 }

oaSwMacPort     OBJECT-TYPE
        SYNTAX  INTEGER   (0..65535)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "Port of the entry. '0' value indicates that
         the port number has not been learned but
         that the bridge does have some forwarding/filtering
         information about this address.
         Another words, the frame will be forwarding
         'to the CPU only' and the bridge will sovle,
         what it must be done with this frame."
        ::= { oaSwMacEntry 9 }
            
oaSwMacMode     OBJECT-TYPE
        SYNTAX  INTEGER
        {
         other (1),
         dynamic (2),
         static  (3)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "Status of the entry: Only 'dynamic (2)'
         entries are aged."
        ::= { oaSwMacEntry 20 }

oaSwMacTagged   OBJECT-TYPE
        SYNTAX  INTEGER
        {
         no  (0),
         yes (1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "'Tagged' state of the entry.
         When ISVP is not implemented or ISVL mode
         is disabled, this field in SET operations
         may have any value, GET operation should return 0."
        ::= { oaSwMacEntry 21 }

oaSwMacPriority OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "Controls the priority level of this entry"
        ::= { oaSwMacEntry 22 }
                
oaSwMacFlags    OBJECT-TYPE     
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "Specific flags for MAC entry:
         0x0001 - Router Entry"
        ::= { oaSwMacEntry 23 }

oaSwMacStatus   OBJECT-TYPE
        SYNTAX  INTEGER
        {
         valid   (1),
         invalid (2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "State of the entry: Only 'valid(1)' entries
         participate in the forwarding/filtering process.

         The new entry is created when PDU with
         oaSwMacStatus=valid(1), oaSwMac, oaSwMacVid and
         optionally oaSwMacPort (default '0'),
         oaSwMacVidx (default oaSwMacVid) and
         oaSwMacMode comes.

         If {oaSwMac,oaSwMacVid} exists, the bridge replaces it.

         The old entry is deleted when PDU with
         oaSwMacStatus=invalid(2), oaSwMac, oaSwMacVid comes.
            
         The old entry is modified when PDU with
         oaSwMac, oaSwMacVid and new value of fields oaSwMacPort
         and/or oaSwMacVidx and/or oaSwMacMode comes."
        ::= { oaSwMacEntry 30 }
        
-- ************************************************************
-- The oaSysFrmGen Subgroup
--
-- Implementation of the oaSysFrmGen subgroup is optional for
-- Nbase products that do not implement a frame generator - like the
-- NH204.
--
-- The oaSysFrmGen Group is used by a station to initiate an Ethernet
-- traffic flow from this agent to the address denoted by oaSysFrmGenDa.
--
-- To start a Frame Generator session, you must set the objects:
-- oaSysFrmGenDa, oaSysFrmGenSa, oaSysFrmGenPktLen, oaSysFrmGenPktFill,
-- oaSysFrmGenPktRate, oaSysFrmGenDestMap & oaSysFrmGenPktNum.
-- The defaults are:
--       oaSysFrmGenDa = loopback address, oaSysFrmGenSa = device address,
--       oaSysFrmGenPktLen = 60, oaSysFrmGenPktFill = 0,
--       oaSysFrmGenPktRate = 1, oaSysFrmGenPktNum = 0 ( forever )
--		 oaSysFrmGenPriority =1, oaSysFrmGenVlanId = 0
--
-- Note: Only one Frame Generator session can be activated at a time.
--
-- ************************************************************

oaSysFrmGen    OBJECT IDENTIFIER  ::= { oaSwitch 3 }

oaSysFrmGenSession    OBJECT-TYPE
        SYNTAX  INTEGER{
                idleFG  (1),   -- The Frame Generator Session is idle(GET)
                               -- or stop the Frame Generator(SET).
                runFG   (2)    -- The Frame Generator Session is running(GET)
                               -- or start a Frame Generator Session(SET)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "This object controls the activity of the Frame Generator
         process."

        ::= { oaSysFrmGen 1 }

oaSysFrmGenDa    OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator Destination MAC Address."

        DEFVAL { '000000000000'h }

        ::= { oaSysFrmGen 2 }

oaSysFrmGenSa    OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator Source MAC Address."

        DEFVAL { '000000000000'h }

        ::= { oaSysFrmGen 3 }

oaSysFrmGenPktFill    OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator Packet Fill Pattern.
         The default is 0."

        ::= { oaSysFrmGen 4 }

oaSysFrmGenPktRate    OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator Rate, meaning the number of packets
         per second to be generated. Each device is able to
         generate a certain number of packets/second.
         Default is 1 packet/second"

        ::= { oaSysFrmGen 5 }

oaSysFrmGenDestMap    OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator Destination Map = the set of ports
         to which the generated packets are to be sent. Each octet
         within the value of this object specifies a set of
         eight ports, with the first octet specifying ports
         1 through 8, the second octet specifying ports 9
         through 16, etc.  Within each octet, the most
         significant bit represents the lowest numbered
         port, and the least significant bit represents the
         highest numbered port.  Thus, each port of the
         switch is represented by a single bit within the
         value of this object.  If that bit has a value of
         <1> then that port is included in the set of
         ports; the port is not included if its bit has a
         value of <0>.  (Note that the setting of the bit
         corresponding to the port from which a frame is
         received is irrelevant.)  The default value of
         this object is a string of ones of appropriate
         length."

        ::= { oaSysFrmGen 6}

oaSysFrmGenPktNum    OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator Number of Packets to be generated.
         Default is 1."

        ::= { oaSysFrmGen 7 }

oaSysFrmGenPktLen    OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator Packet Length. Default is 60 bytes"

        ::= { oaSysFrmGen 8 }

oaSysFrmGenXmtPktNum    OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
        "Number of Packets transmitted by the The Frame Generator."

        ::= { oaSysFrmGen 9 }

oaSysFrmGenPriority OBJECT-TYPE
        SYNTAX  INTEGER  (1..8)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "The Frame Generator packet priority.
         This value determines the priority level at which
         the generated packet will be transmitted.
         For tagged packets the VPT field in the vlan header
         will be assigned according to this value."

        DEFVAL  { 1 }

        ::= { oaSysFrmGen 10 }

oaSysFrmGenVlanId    OBJECT-TYPE
        SYNTAX  INTEGER  (0..4095)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "A 12 bit VLAN Identifier to be set in the PVID field
         of the packet. 
         0 - Used when the packet should contains no vlan Header."

        DEFVAL  { 0 }

        ::= { oaSysFrmGen 11 }


END


