    GBNL3If-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Counter32, Gauge32,
        Unsigned32, Integer32,
        IpAddress                               FROM SNMPv2-SMI

        RowStatus, TruthValue,
        DisplayString, MacAddress               FROM SNMPv2-TC

        VlanIndex                               FROM Q-BRIDGE-MIB

        MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF

        gbnL3                                   FROM GREENTECH-MASTER-MIB;       

    gbnL3If MODULE-IDENTITY
        LAST-UPDATED    "0105102004Z"  -- May 10, 2004
        ORGANIZATION    "Greentech"
        CONTACT-INFO    "Adam Armstrong
                         E-mail: adama@observium.org"

        DESCRIPTION     "GBN Generic router id MIB definition."

        REVISION        "0105102004Z"  -- May 10, 2004
        DESCRIPTION     "Initial MIB creation."

        ::= { gbnL3 1 }



------------------------------------------------------------------------------
--  gbnL3Mib             OBJECT IDENTIFIER ::= { gbnL3If 1 }
    gbnL3SuperVLAN       OBJECT IDENTIFIER ::= { gbnL3If 2 }
    gbnL3Arp             OBJECT IDENTIFIER ::= { gbnL3If 3 }
    gbnL3DHCP            OBJECT IDENTIFIER ::= { gbnL3If 4 }
------------------------------------------------------------------------------
--
--  gbnL3SuperVLAN:
--
--
------------------------------------------------------------------------------
    arpProxy OBJECT-TYPE
        SYNTAX      INTEGER{
                        enable(1),
                        disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable the ARP proxy."
            ::= { gbnL3SuperVLAN 1 }

    superVLANTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SuperVLANEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of superVLAN.When create a new entry,must set superVLANStatus to be active to create
             a entry first,or set superVLANsw/superVLANsuper fisrt will return no suchinstanc error"
        ::= { gbnL3SuperVLAN 2 }

    superVLANEntry OBJECT-TYPE
        SYNTAX SuperVLANEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for superVLAN."
        INDEX { superVLANVID }
        ::= { superVLANTable 1 }

    SuperVLANEntry ::= SEQUENCE {
         superVLANVID       INTEGER,
        superVLANsw         INTEGER,
        superVLANsuper      TruthValue,
        superVLANStatus          RowStatus
       }

    superVLANVID OBJECT-TYPE
        SYNTAX INTEGER (1..4094)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "vlan id."
        ::= { superVLANEntry 1 }

    superVLANsw OBJECT-TYPE
        SYNTAX INTEGER (0..12)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "sw,0 means not existting."
        ::= { superVLANEntry 2 }

   superVLANsuper OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The interface is superVLAN or not"
        ::= { superVLANEntry 3 }

  superVLANStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "the status of this entry"
        ::= { superVLANEntry 4 }


------------------------------------------------------------------------------
--
--  gbnL3Arp:
--
--
------------------------------------------------------------------------------
    arpTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ArpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION " This form to the system ARP cache table has been defined in rfc1213 two ARP table of the system: at the group and ip group atTable ipNetToMediaTable, but this is not the two tables of information and switch port VLAN information, it is definition of this extension table."
        ::= { gbnL3Arp 1 }

    arpEntry OBJECT-TYPE
        SYNTAX      ArpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION " The system ARP cache table."
        INDEX   { arpIpAddress }
        ::= { arpTable 1 }

    ArpEntry ::=
        SEQUENCE {
            arpIpAddress      IpAddress,
            arpMacAddress     MacAddress,
            arpIfIndex        INTEGER,
            arpVlan           VlanIndex,
            arpPort           INTEGER,
            arpType           INTEGER,
            arpRowStatus      RowStatus
        }

    arpIpAddress OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION " IP address as index."
        ::= { arpEntry 1 }

    arpMacAddress OBJECT-TYPE
        SYNTAX       MacAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION " IP addresses to MAC addresses."
        ::= { arpEntry 2 }

    arpIfIndex OBJECT-TYPE
        SYNTAX       INTEGER
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION " IP addresses where the interface index."
        ::= { arpEntry 3 }

    arpVlan OBJECT-TYPE
        SYNTAX       VlanIndex
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION " IP address where the VLAN."
        ::= { arpEntry 4 }

    arpPort OBJECT-TYPE
        SYNTAX       INTEGER (1..26)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "Learning to switch port number IP address."
        ::= { arpEntry 5 }

    arpType OBJECT-TYPE
        SYNTAX       INTEGER {
                         other(1),
                         invalid(2),
                         dynamic(3),
                         static(4)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "This ARP table entry type."
        ::= { arpEntry 6 }

     arpRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION " The ARP Table entry status, used to add / delete static ARP entries to dynamic ARP table entry if the entry is returned an error."
        ::= { arpEntry 7 }

    arpAging OBJECT-TYPE
        SYNTAX       INTEGER(1..2880)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "The age time of dynamic arp entry.Unit is minute.Default is 20."
        ::= { gbnL3Arp 2 }


------------------------------------------------------------------------------
--
--  gbnL3DHCP:
--
--
------------------------------------------------------------------------------
    Option82 OBJECT-TYPE
        SYNTAX      INTEGER{
                        enable(1),
                        disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable option82.Default is disalbe"
            ::= { gbnL3DHCP 1 }

    Option82Strategy OBJECT-TYPE
        SYNTAX      INTEGER{
                        drop(1),
                        keep(2),
                        replace(3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "When turned on in option82 DHCP relay receives the option with option82 packet content strategy adopted. Drop to drop packets, keep option82 to preserve options for the contents of the packet, and replace to replace the contents of the packets in the option82. defaults to replace."
            ::= { gbnL3DHCP 2 }

END
