-- =================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- 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 hpnicfSubnetVlanPortStatus object to support the subnet vlan status
--       of port applied.
-- =================================================================
HPN-ICF-SUBNET-VLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hpnicfCommon
        FROM HPN-ICF-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;


hpnicfSubnetVlan MODULE-IDENTITY
    LAST-UPDATED "200508021353Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    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."
    ::= { hpnicfCommon 61 }

--
-- Textual Conventions
--

--
-- Node definitions
--

hpnicfSubnetVlanObjects OBJECT IDENTIFIER ::= { hpnicfSubnetVlan 1 }

hpnicfSubnetVlanScalarObjects OBJECT IDENTIFIER ::= { hpnicfSubnetVlanObjects 1 }

hpnicfSubnetNumAllVlan OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum number of subnets that can be configured on all VLANs."
    ::= { hpnicfSubnetVlanScalarObjects 1 }

hpnicfSubnetNumPerVlan OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum number of subnets that can be configured on each VLAN."
    ::= { hpnicfSubnetVlanScalarObjects 2 }

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

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

hpnicfSubnetVlanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HpnicfSubnetVlanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based VLAN configuration table."
    ::= { hpnicfSubnetVlanObjects 2 }

hpnicfSubnetVlanEntry OBJECT-TYPE
    SYNTAX HpnicfSubnetVlanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based VLAN configuration entry."
    INDEX { hpnicfSubnetVlanVlanId, hpnicfSubnetVlanSubnetIndex }
    ::= { hpnicfSubnetVlanTable 1 }

HpnicfSubnetVlanEntry ::=
    SEQUENCE {
        hpnicfSubnetVlanVlanId
            Integer32,
        hpnicfSubnetVlanSubnetIndex
            Integer32,
        hpnicfSubnetVlanVlanIpAddressType
            InetAddressType,
        hpnicfSubnetVlanIpAddressValue
            InetAddress,
        hpnicfSubnetVlanNetMaskValue
            InetAddress,
        hpnicfSubnetVlanRowStatus
            RowStatus
         }

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

hpnicfSubnetVlanSubnetIndex 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 hpnicfSubnetNumPerVlan subtracting one."
    ::= { hpnicfSubnetVlanEntry 2 }

hpnicfSubnetVlanVlanIpAddressType 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."
    ::= { hpnicfSubnetVlanEntry 3 }

hpnicfSubnetVlanIpAddressValue 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."
    ::= { hpnicfSubnetVlanEntry 4 }

hpnicfSubnetVlanNetMaskValue 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."
    ::= { hpnicfSubnetVlanEntry 5 }

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


hpnicfSubnetVlanPortCreateTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HpnicfSubnetVlanPortCreateEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based VLAN port table."
    ::= { hpnicfSubnetVlanObjects 3 }

hpnicfSubnetVlanPortCreateEntry OBJECT-TYPE
    SYNTAX HpnicfSubnetVlanPortCreateEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Subnet-based VLAN port creation entry."
    INDEX { hpnicfSubnetVlanPortCreateIndex, hpnicfSubnetVlanPortCreateVlanId }
    ::= { hpnicfSubnetVlanPortCreateTable 1 }

HpnicfSubnetVlanPortCreateEntry ::=
    SEQUENCE {
        hpnicfSubnetVlanPortCreateIndex
            Integer32,
        hpnicfSubnetVlanPortCreateVlanId
            Integer32,
        hpnicfSubnetVlanPortInfoVlanId
            Integer32,
        hpnicfSubnetVlanPortRowStatus
            RowStatus,
        hpnicfSubnetVlanPortStatus
            INTEGER
         }

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

hpnicfSubnetVlanPortCreateVlanId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The subnet-based VLAN id."
    ::= { hpnicfSubnetVlanPortCreateEntry  2 }

hpnicfSubnetVlanPortInfoVlanId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This value is the same as the value of hpnicfSubnetVlanPortCreateVlanId index.
         All of the subnet information in this port,
         is described on vlan, whose VLAN id is the value of hpnicfSubnetVlanPortInfoVlanId.
         The VLAN id of vlan including subnet information can be obtained here.
         The subnet information can be obtained in the hpnicfSubnetVlanTable above."
    ::= { hpnicfSubnetVlanPortCreateEntry  3 }

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

hpnicfSubnetVlanPortStatus 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 hpnicfSubnetVlanPortCreateVlanId has the corresponding entry in
        hpnicfSubnetVlanTable, 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."
    ::= { hpnicfSubnetVlanPortCreateEntry  5 }
hpnicfSubnetVlanConformance OBJECT IDENTIFIER ::= { hpnicfSubnetVlan 2 }


hpnicfSubnetVlanCompliances OBJECT IDENTIFIER ::= { hpnicfSubnetVlanConformance 1 }


hpnicfSubnetVlanCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The compliance statement for subnet VLAN MIB."
    MODULE -- this module
        MANDATORY-GROUPS {
                   hpnicfSubnetVlanScalarObjectGroup,
                   hpnicfSubnetVlanSubnetGroup,
                   hpnicfSubnetVlanPortCreateGroup }
    ::= { hpnicfSubnetVlanCompliances 1 }


hpnicfSubnetVlanGroups OBJECT IDENTIFIER ::= { hpnicfSubnetVlanConformance 2 }

hpnicfSubnetVlanScalarObjectGroup OBJECT-GROUP
    OBJECTS { hpnicfSubnetNumAllVlan,
          hpnicfSubnetNumPerVlan,
          hpnicfSubnetNumAllPort,
          hpnicfSubnetNumPerPort }
    STATUS current
    DESCRIPTION
        "A group of scalar objects describing the maximum number."
    ::= { hpnicfSubnetVlanGroups 1 }

hpnicfSubnetVlanSubnetGroup OBJECT-GROUP
    OBJECTS { hpnicfSubnetVlanVlanIpAddressType,
          hpnicfSubnetVlanIpAddressValue,
          hpnicfSubnetVlanNetMaskValue,
          hpnicfSubnetVlanRowStatus }
    STATUS current
    DESCRIPTION
        "A group of subnet VLAN subnets."
    ::= { hpnicfSubnetVlanGroups 2 }

hpnicfSubnetVlanPortCreateGroup OBJECT-GROUP
    OBJECTS { hpnicfSubnetVlanPortInfoVlanId,
          hpnicfSubnetVlanPortRowStatus }
    STATUS current
    DESCRIPTION
        "A group of subnet VLAN port creation table."
    ::= { hpnicfSubnetVlanGroups 3 }

END
