-- *********************************************************************
-- **
-- ** BATM Advanced Communications.
-- **
-- *********************************************************************
-- ** Filename: PRVT-SWITCH-IPVLAN-MIB.mib
-- ** Project: T-Metro Switches.
-- ** Purpose: Private MIB
-- *********************************************************************
-- (c) Copyright, 2009, BATM Advanced Communications. All rights reserved.
-- WARNING:
--
-- BY UTILIZING THIS FILE, YOU AGREE TO THE FOLLOWING:
--
-- This file is the property of BATM Advanced Communications and contains
-- proprietary and confidential information. This file is made
-- available to authorized BATM customers on the express
-- condition that neither it, nor any of the information contained
-- therein, shall be disclosed to third parties or be used for any
-- purpose other than to replace, modify or upgrade firmware and/or
-- software components of BATM manufactured equipment within the
-- authorized customer's network, and that such transfer be
-- completed in accordance with the instructions provided by
-- BATM. Any other use is strictly prohibited.
--
-- EXCEPT AS RESTRICTED BY LAW, OR AS PROVIDED IN BATM'S LIMITED
-- WARRANTY, THE SOFTWARE PROGRAMS CONTAINED IN THIS FILE ARE
-- PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES
-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--
-- IN NO EVENT SHALL BATM BE LIABLE FOR ANY DAMAGES WHATSOEVER
-- INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-- PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR
-- OTHER CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY
-- TO USE, THE SOFTWARE CONTAINED IN THIS FILE.
--
-- ----------------------------------------------------------------------------

PRVT-SWITCH-IPVLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    ipSwitch
        FROM PRVT-SWITCH-MIB
    dot1qVlanIndex
        FROM Q-BRIDGE-MIB
    Integer32, IpAddress, MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    RowStatus, TruthValue
        FROM SNMPv2-TC;

prvtSwitchIpVlanMIB MODULE-IDENTITY
    LAST-UPDATED "200910050000Z"
    ORGANIZATION 
        "BATM Advanced Communication"
    CONTACT-INFO 
        "BATM/Telco Systems Support team
         Email:
         For North America: techsupport@telco.com
         For North Europe: support@batm.de, info@batm.de
         For the rest of the world: techsupport@telco.com"
    DESCRIPTION 
        "The IpVlan MIB module that controls the assignment
         of IP subnets to VLANs in L3 switches."
    REVISION    "200910050000Z"
    DESCRIPTION 
        "Initial version."
    ::= { ipSwitch 2 }


ipInterface OBJECT IDENTIFIER
    ::= { prvtSwitchIpVlanMIB 1 }

ipInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "This table controls the creation of IP interfaces (subnets)."
    ::= { ipInterface 1 }

ipInterfaceEntry OBJECT-TYPE
    SYNTAX      IpInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "An entry within the ipInterfaceTable."
    INDEX       { ipInterfaceName }
    ::= { ipInterfaceTable 1 }

IpInterfaceEntry ::= SEQUENCE {
    ipInterfaceName         OCTET STRING,
    ipInterfaceIndex        Integer32,
    ipInterfaceIpAddress    IpAddress,
    ipInterfaceSubnetMask   IpAddress,
    ipInterfaceRowStatus    RowStatus,
    ipInterfaceIPv6Address  OCTET STRING
}

ipInterfaceName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "This object identifies the name of the IP interface, serves as an
         index to this table.
         Valid names are system-dependent. Some common examples are swX, and
         loX, where X represents an integer from 0 to 9."
    ::= { ipInterfaceEntry 1 }

ipInterfaceIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "This object identifies the index of the IP interface.
         This is the same index as ifIndex from ifTable, which is also the
         same as ipAdEntIfIndex from MIB-II (ipAddrTable)."
    ::= { ipInterfaceEntry 2 }

ipInterfaceIpAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
        "This object has the value of the switch IP address in this subnet."
    ::= { ipInterfaceEntry 3 }

ipInterfaceSubnetMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
        "This object together with ipInterfaceIpAddress forms the IP
         subnet, assigned to this IP interface. In the case that ipInterfaceIpAddress
         has the value of 0.0.0.0, this object will be ignored."
    ::= { ipInterfaceEntry 4 }

ipInterfaceRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
        "This object indicates the row status, and enables the creation and
         deletion of rows in this table. See SNMPv2-TC for more information."
    ::= { ipInterfaceEntry 5 }

ipInterfaceIPv6Address OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
        "This object indicated the IPv6 address of the interface."
    ::= { ipInterfaceEntry 6 }

ipVlan OBJECT IDENTIFIER
    ::= { prvtSwitchIpVlanMIB 2 }

ipVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "This table extends the table dot1qVlanStaticTable from Q-BRIDGE-MIB.
         It gives a connection between the IP Interface and the IP VLAN."
    ::= { ipVlan 1 }

ipVlanEntry OBJECT-TYPE
    SYNTAX      IpVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "An entry within the ipVlanTable."
    INDEX       { dot1qVlanIndex, ipInterfaceName }
    ::= { ipVlanTable 1 }

IpVlanEntry ::= SEQUENCE {
    ipVlanStatus    INTEGER
}

ipVlanStatus OBJECT-TYPE
    SYNTAX      INTEGER { attached(1), detached(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object shows the VLAN on which the interface in the index
         of the entry is installed and vice versa."
    ::= { ipVlanEntry 1 }

ipVlanManagementTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpVlanManagementEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "This table extends the table dot1qVlanStaticTable from Q-BRIDGE-MIB."
    ::= { ipVlan 2 }

ipVlanManagementEntry OBJECT-TYPE
    SYNTAX      IpVlanManagementEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "An entry within the ipVlanManagementTable."
    INDEX       { ipVlanManagementVlanId }
    ::= { ipVlanManagementTable 1 }

IpVlanManagementEntry ::= SEQUENCE {
    ipVlanManagementVlanId  Integer32,
    ipVlanManagementStatus  TruthValue
}

ipVlanManagementVlanId OBJECT-TYPE
    SYNTAX      Integer32 (1..4092)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "Vlan id"
    ::= { ipVlanManagementEntry 1 }

ipVlanManagementStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object shows if Vlan manageble"
    ::= { ipVlanManagementEntry 2 }

END -- end of module PRVT-SWITCH-IPVLAN-MIB.