NBS-VLAN-FWD-MIB DEFINITIONS ::= BEGIN

IMPORTS
    Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, OBJECT-IDENTITY
        FROM SNMPv2-SMI

    DisplayString
        FROM SNMPv2-TC

    InterfaceIndex
        FROM IF-MIB

    nbs
        FROM NBS-MIB
    ;


nbsVlanFwdMib  MODULE-IDENTITY
    LAST-UPDATED "201209260000Z"  -- Sep 26, 2012
    ORGANIZATION  "NBS"
    CONTACT-INFO
      "For technical support, please contact your service channel"
    DESCRIPTION
      "MIB for representing VLAN Forwarding information"
    ::= { nbs 215 }


-- *******************************************************************
-- NBS-VLAN-FWD-MIB local defines
-- *******************************************************************

nbsVlanFwdGrp  OBJECT-IDENTITY
    STATUS    current
    DESCRIPTION
      "VLAN Forwarding Configuration and Capabilities"
    ::= { nbsVlanFwdMib 1 }

nbsVlanControlGrp  OBJECT-IDENTITY
    STATUS    current
    DESCRIPTION
      "VLAN Control Configuration and Capabilities"
    ::= { nbsVlanFwdMib 2 }


-- *******************************************************************
--
-- the nbsVlanFwdTable
--
-- *******************************************************************


nbsVlanFwdTableSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of entries in nbsVlanFwdTable"
        ::= { nbsVlanFwdGrp 1 }

nbsVlanFwdTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsVlanFwdEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "VLAN Forwarding information."
        ::= { nbsVlanFwdGrp 2 }

NbsVlanFwdEntry ::= SEQUENCE {
        nbsVlanFwdIfIndex               InterfaceIndex,
        nbsVlanFwdVidList               DisplayString,
        nbsVlanFwdVid                   INTEGER,
        nbsVlanFwdPriority              INTEGER,
        nbsVlanFwdEgressTagAction       INTEGER,
        nbsVlanFwdEgressTagCapability   OCTET STRING,
        nbsVlanFwdIngressTagAction      INTEGER,
        nbsVlanFwdIngressTagCapability  OCTET STRING
}

nbsVlanFwdEntry      OBJECT-TYPE
        SYNTAX      NbsVlanFwdEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The VLAN Forwarding port's information"
        INDEX { nbsVlanFwdIfIndex }
        ::= { nbsVlanFwdTable 1 }

nbsVlanFwdIfIndex   OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The Mib2 ifIndex of this VLAN Forwarding port"
        ::= { nbsVlanFwdEntry 1 }

nbsVlanFwdVidList OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "A list of VLAN ids as a free format text string. A non-empty
           string indicates that the port only forwards frames to other
           port(s) having the same VLAN id(s).
           For example: 1001
           specifies one isolated VLAN id."
        DEFVAL {""}
        ::= { nbsVlanFwdEntry 2 }

nbsVlanFwdVid OBJECT-TYPE
        SYNTAX      INTEGER  (0..4095)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Specifies the VLAN id to be used when adding a new outer VLAN
           tag to frames."
        DEFVAL { 0 }
        ::= { nbsVlanFwdEntry 3 }

nbsVlanFwdPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Specifies the priority to be used when adding a new outer VLAN
           tag to frames."
        DEFVAL { 0 }
        ::= { nbsVlanFwdEntry 4 }

nbsVlanFwdEgressTagAction OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                add          (2),
                strip        (3),
                retain       (4)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Specifies what tagging action to perform on outgoing frames from
           this port:

           add(2) a new outer VLAN tag to each outgoing frame, using
           nbsVlanFwdVid and nbsVlanFwdPriority;

           strip(3) the outer VLAN tag from each outgoing frame;

           retain(4) tagging as is on each outgoing frame."
        DEFVAL { retain }
        ::= { nbsVlanFwdEntry 5 }

nbsVlanFwdEgressTagCapability OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(1))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This bitmask indicates which nbsVlanPortEgressTagAction values
           are supported: add(2) if bit 2 is set, strip(3) if bit 3 is set,
           and retain(4) if bit 4 is set."
        ::= { nbsVlanFwdEntry 6 }

nbsVlanFwdIngressTagAction OBJECT-TYPE
        SYNTAX      INTEGER {
                notSupported (1),
                add          (2),
                strip        (3),
                retain       (4)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Specifies what tagging action to perform on incoming frames on
           this port:

           add(2) a new outer VLAN tag to each incoming frame, using
           nbsVlanFwdVid and nbsVlanFwdPriority;

           strip(3) the outer VLAN tag from each incoming frame;

           retain(4) tagging as is on each incoming frame."
        DEFVAL { retain }
        ::= { nbsVlanFwdEntry 7 }

nbsVlanFwdIngressTagCapability OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(1))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This bitmask indicates which nbsVlanPortIngressTagAction values
           are supported: add(2) if bit 2 is set, strip(3) if bit 3 is set,
           and retain(4) if bit 4 is set."
        ::= { nbsVlanFwdEntry 8 }


-- *******************************************************************
--
-- the nbsVlanControlTable
--
-- *******************************************************************


nbsVlanControlTableSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of entries in nbsVlanControlTable"
        ::= { nbsVlanControlGrp 1 }

nbsVlanControlTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF NbsVlanControlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "VLAN Management information."
        ::= { nbsVlanControlGrp 2 }

NbsVlanControlEntry ::= SEQUENCE {
        nbsVlanControlIfIndex              InterfaceIndex,
        nbsVlanControlMgmtVid              INTEGER
}

nbsVlanControlEntry      OBJECT-TYPE
        SYNTAX      NbsVlanControlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The VLAN entity's management information"
        INDEX { nbsVlanControlIfIndex }
        ::= { nbsVlanControlTable 1 }

nbsVlanControlIfIndex   OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "The Mib2 ifIndex of this VLAN entity"
        ::= { nbsVlanControlEntry 1 }

nbsVlanControlMgmtVid OBJECT-TYPE
        SYNTAX      INTEGER  (0..4095)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Specifies the VLAN id to be used for management traffic.
           Valid VIDs range from 0..4095.

           Not supported value: -1"
        DEFVAL { 4094 }
        ::= { nbsVlanControlEntry 2 }


END
