-- =================================================================
-- Copyright (C) 2004 by HUAWEI 3Com TECHNOLOGIES. All rights reserved.
--
-- Description: subnet vlan mib
-- Reference:
-- Version: V1.0
-- History:
--  V1.0 Initial version 2005-08-02
-- =================================================================
A3COM-HUAWEI-SUBNET-VLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    h3cCommon
        FROM A3COM-HUAWEI-OID-MIB
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    Integer32, OBJECT-TYPE, MODULE-IDENTITY
        FROM SNMPv2-SMI
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    RowStatus
        FROM SNMPv2-TC;


h3cSubnetVlan MODULE-IDENTITY
    LAST-UPDATED "200508021353Z"
    ORGANIZATION
        "Huawei 3Com Technology Co., Ltd."
    CONTACT-INFO
        "Platform Team Huawei 3Com Technology Co., Ltd
        Hai-Dian District Beijing P.R.China
        http://www.huawei-3com.com
        Zip:100085"
    DESCRIPTION
        "This MIB contains the objects for managing the subnet-based vlan
        configurations."
    REVISION "200508021353Z"        -- August 02, 2005 at 13:53 GMT
    DESCRIPTION
        "The initial revision of this MIB module."
    ::= { h3cCommon 61 }

--
-- Textual Conventions
--

--
-- Node definitions
--

h3cSubnetVlanObjects OBJECT IDENTIFIER ::= { h3cSubnetVlan 1 }

h3cSubnetVlanScalarObjects OBJECT IDENTIFIER ::= { h3cSubnetVlanObjects 1 }

h3cSubnetNumAllVlan OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum number of subnet that can be configured on all vlans."
    ::= { h3cSubnetVlanScalarObjects 1 }

h3cSubnetNumPerVlan OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum number of subnet that can be configured on each vlan."
    ::= { h3cSubnetVlanScalarObjects 2 }

h3cSubnetNumAllPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum number of subnet that can be applied to all ports."
    ::= { h3cSubnetVlanScalarObjects 3 }

h3cSubnetNumPerPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum number of subnet that can be applied to each port."
    ::= { h3cSubnetVlanScalarObjects 4 }

h3cSubnetVlanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF H3cSubnetVlanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based vlan configuration table."
    ::= { h3cSubnetVlanObjects 2 }

h3cSubnetVlanEntry OBJECT-TYPE
    SYNTAX H3cSubnetVlanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based vlan configuration entry."
    INDEX { h3cSubnetVlanVlanId, h3cSubnetVlanSubnetIndex }
    ::= { h3cSubnetVlanTable 1 }

H3cSubnetVlanEntry ::=
    SEQUENCE {
        h3cSubnetVlanVlanId
            Integer32,
        h3cSubnetVlanSubnetIndex
            Integer32,
        h3cSubnetVlanVlanIpAddressType
            InetAddressType,
        h3cSubnetVlanIpAddressValue
            InetAddress,
        h3cSubnetVlanNetMaskValue
            InetAddress,
        h3cSubnetVlanRowStatus
            RowStatus
         }

h3cSubnetVlanVlanId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Vlan id."
    ::= { h3cSubnetVlanEntry 1 }

h3cSubnetVlanSubnetIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The subnet index value of a row in this table is from zero to
         the value of h3cSubnetNumPerVlan subtracting one."
    ::= { h3cSubnetVlanEntry 2 }

h3cSubnetVlanVlanIpAddressType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "There are two kinds of ip address supported by vlan.
         One is ipv4, which is 32 bits.
         The other is ipv6, which is 128 bits."
    ::= { h3cSubnetVlanEntry 3 }

h3cSubnetVlanIpAddressValue OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The ip address of the configured subnet on vlan, including ipv4 and ipv6."
    ::= { h3cSubnetVlanEntry 4 }

h3cSubnetVlanNetMaskValue OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The net mask of the configured subnet on vlan, including ipv4 and ipv6."
    ::= { h3cSubnetVlanEntry 5 }

h3cSubnetVlanRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The row status of this table."
    ::= { h3cSubnetVlanEntry 6 }


h3cSubnetVlanPortCreateTable OBJECT-TYPE
    SYNTAX SEQUENCE OF H3cSubnetVlanPortCreateEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based vlan port table.
        Add all subnet on vlan whose vlan id is h3cSubnetVlanPortInfoVlanId
        into port at a draught.
        All of the subnet information in this port is from the h3cSubnetVlanTable
        above, with the value of h3cSubnetVlanPortInfoVlanId as an index,
        which is h3cSubnetVlanVlanId in h3cSubnetVlanTable."
    ::= { h3cSubnetVlanObjects 3 }

h3cSubnetVlanPortCreateEntry OBJECT-TYPE
    SYNTAX H3cSubnetVlanPortCreateEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based vlan port create entry."
    INDEX { h3cSubnetVlanPortCreateIndex, h3cSubnetVlanPortCreateVlanId }
    ::= { h3cSubnetVlanPortCreateTable 1 }

H3cSubnetVlanPortCreateEntry ::=
    SEQUENCE {
        h3cSubnetVlanPortCreateIndex
            Integer32,
        h3cSubnetVlanPortCreateVlanId
            Integer32,
        h3cSubnetVlanPortInfoVlanId
            Integer32,
        h3cSubnetVlanPortRowStatus
            RowStatus
         }

h3cSubnetVlanPortCreateIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The port index."
    ::= { h3cSubnetVlanPortCreateEntry  1 }

h3cSubnetVlanPortCreateVlanId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The subnet-based vlan id.
        h3cSubnetVlanPortCreateVlanId refers to h3cSubnetVlanVlanId
        in h3cSubnetVlanTable.
        If h3cSubnetVlanPortCreateVlanId has no corresponding entry
        in h3cSubnetVlanTable, set operation will fail."
    ::= { h3cSubnetVlanPortCreateEntry  2 }

h3cSubnetVlanPortInfoVlanId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This vlaue is the same as the value of h3cSubnetVlanPortCreateVlanId index.
         All of the subnet information in this port,
         is described on vlan, whose vlan id is the value of h3cSubnetVlanPortInfoVlanId.
         The vlan id of vlan including subnet information can be gotten here.
         The subnet information can be gotten in the h3cSubnetVlanTable above."
    ::= { h3cSubnetVlanPortCreateEntry  3 }

h3cSubnetVlanPortRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The row status of this table."
    ::= { h3cSubnetVlanPortCreateEntry  4 }

h3cSubnetVlanConformance OBJECT IDENTIFIER ::= { h3cSubnetVlan 2 }


h3cSubnetVlanCompliances OBJECT IDENTIFIER ::= { h3cSubnetVlanConformance 1 }


h3cSubnetVlanCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The compliance statement for subnet vlan MIB."
    MODULE -- this module
        MANDATORY-GROUPS {
                   h3cSubnetVlanScalarObjectGroup,
                   h3cSubnetVlanSubnetGroup,
                   h3cSubnetVlanPortCreateGroup }
    ::= { h3cSubnetVlanCompliances 1 }


h3cSubnetVlanGroups OBJECT IDENTIFIER ::= { h3cSubnetVlanConformance 2 }

h3cSubnetVlanScalarObjectGroup OBJECT-GROUP
    OBJECTS { h3cSubnetNumAllVlan,
          h3cSubnetNumPerVlan,
          h3cSubnetNumAllPort,
          h3cSubnetNumPerPort }
    STATUS current
    DESCRIPTION
        "A group of scalar objects describing the maximum number."
    ::= { h3cSubnetVlanGroups 1 }

h3cSubnetVlanSubnetGroup OBJECT-GROUP
    OBJECTS { h3cSubnetVlanVlanIpAddressType,
          h3cSubnetVlanIpAddressValue,
          h3cSubnetVlanNetMaskValue,
          h3cSubnetVlanRowStatus }
    STATUS current
    DESCRIPTION
        "A group of subnet vlan subnet."
    ::= { h3cSubnetVlanGroups 2 }

h3cSubnetVlanPortCreateGroup OBJECT-GROUP
    OBJECTS { h3cSubnetVlanPortInfoVlanId,
          h3cSubnetVlanPortRowStatus }
    STATUS current
    DESCRIPTION
        "A group of subnet vlan port create table."
    ::= { h3cSubnetVlanGroups 3 }

END
