-- =================================================================
-- Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: subnet vlan mib
-- Reference:
-- Version: V1.1
-- History:
--  V1.0 Initial version 2005-08-02
--  V1.1 2013-04-23 updated by yangxiaoren
--       Add h3cSubnetVlanPortStatus object to support the subnet vlan status
--       of port applied.
-- =================================================================
H3C-SUBNET-VLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    h3cCommon
        FROM HUAWEI-3COM-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
        "Hangzhou H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team Hangzhou H3C Tech. Co., Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.h3c.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 subnets 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 subnets 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 subnets 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 subnets 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, which can be an IPv4
        or IPv6."
    ::= { h3cSubnetVlanEntry 4 }

h3cSubnetVlanNetMaskValue OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The net mask of the configured subnet on VLAN, which can be an IPv4 or
        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."
    ::= { h3cSubnetVlanObjects 3 }

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

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

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."
    ::= { h3cSubnetVlanPortCreateEntry  2 }

h3cSubnetVlanPortInfoVlanId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This value 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 obtained here.
         The subnet information can be obtained 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 }

h3cSubnetVlanPortStatus OBJECT-TYPE
    SYNTAX  INTEGER
    {
        active   (1),
        inactive (2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The subnet VLAN status on the port.  The value is active only
        when h3cSubnetVlanPortCreateVlanId has the corresponding entry in
        h3cSubnetVlanTable, the port link type is hybrid, and the VLAN is
        allowed by the port.

        active:   subnet VLAN has been applied on the port.
        inactive: subnet VLAN is not applied on the port."
    ::= { h3cSubnetVlanPortCreateEntry  5 }
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 subnets."
    ::= { h3cSubnetVlanGroups 2 }

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

END
