-- -----------------------------------------------------------------------------
-- MIB NAME : IP-MCST-VLAN-REP-MIB
-- FILE NAME: IpMcstVlanRep.mib
-- DATE     : 2009/06/15
-- VERSION  : 1.01
-- PURPOSE  : To construct the MIB structure of static configuration of IP 
--            multicast VLAN replication function for proprietary enterprise
-- -----------------------------------------------------------------------------
-- MODIFICTION HISTORY:
-- -----------------------------------------------------------------------------
-- Version, Date, Author
-- Description:
--  [New Object]
--  [Modification]
-- Notes: (Requested by who and which project)
--
-- Version 1.01 2009/06/15, Phoenix Xie
-- [New Object]
-- Add swIpMcastInfoTable for displaying the IP multicast VLAN replication entries.
-- 
-- Version 1.00, 2008/9/28, Bob Li
-- This is the first formal version for universal MIB definition.
-- -----------------------------------------------------------------------------


IP-MCST-VLAN-REP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY,OBJECT-TYPE,Unsigned32,Integer32
                                          FROM SNMPv2-SMI
        DisplayString,RowStatus           FROM SNMPv2-TC
        InetAddressType, InetAddress      FROM INET-ADDRESS-MIB
        dlink-common-mgmt		  FROM DLINK-ID-REC-MIB;

		
    	
    swIpMcstVlanRepMIB MODULE-IDENTITY
          LAST-UPDATED "0906150000Z"
          ORGANIZATION "D-Link Corp."
          CONTACT-INFO
                       "http://support.dlink.com"
          DESCRIPTION
		    "The structure of static IP multicast VLAN 
		    replication for the proprietary enterprise."
        ::= { dlink-common-mgmt 71 }

-- -----------------------------------------------------------------------------
-- Textual Conventions
-- -----------------------------------------------------------------------------

             
    PortList                 ::= OCTET STRING(SIZE (0..127))
    VlanId	             ::= INTEGER (1..4094)    
   	
    swIpMcstVlanRepCtrl        OBJECT IDENTIFIER ::= { swIpMcstVlanRepMIB 1 }
    swIpMcstVlanRepInfo        OBJECT IDENTIFIER ::= { swIpMcstVlanRepMIB 2 }
    swIpMcstVlanRepMgmt        OBJECT IDENTIFIER ::= { swIpMcstVlanRepMIB 3 }

-- -----------------------------------------------------------------------------
-- swIpMcstVlanRepCtrl
-- -----------------------------------------------------------------------------

     swIpMcstVlanRepState  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  enabled(1),
                  disabled(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "This indicates the global state of the static IP multicast VLAN replication."
        ::={ swIpMcstVlanRepCtrl 1 }
    
-- -----------------------------------------------------------------------------
--  swIpMcstVlanRepInfo		OBJECT IDENTIFIER ::= { swIpMcstVlanRepMIB 2 }
-- -----------------------------------------------------------------------------
                                                                                                  	
-- -----------------------------------------------------------------------------
-- swIpMcastVlanRepInfoTable		OBJECT-TYPE ::= { swIpMcstVlanRepInfo 1 }
-- -----------------------------------------------------------------------------

  swIpMcastVlanRepInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwIpMcastVlanRepInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This contains information about the whether (S,G) has been inserted successfully."
        ::= { swIpMcstVlanRepInfo 1 }

    swIpMcastVlanRepInfoEntry OBJECT-TYPE
        SYNTAX  SwIpMcastVlanRepInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This is an entry of the swIpMcastInfoTable."
        INDEX  {
        	 swIpMcstVlanRepName,
        	 swIpMcstVlanRepGroupAddrType,
                 swIpMcstVlanRepGroupAddr,
                 swIpMcstVlanRepSourceAddrType,
                 swIpMcstVlanRepSourceAddr}
        ::= { swIpMcastVlanRepInfoTable 1 }

    SwIpMcastVlanRepInfoEntry ::=
        SEQUENCE {
            swIpMcstVlanRepGroupAddrType
                InetAddressType,
            swIpMcstVlanRepGroupAddr
                InetAddress,
            swIpMcstVlanRepSourceAddrType
                InetAddressType,
            swIpMcstVlanRepSourceAddr
                InetAddress,
            swIpMcstVlanRepStatus
                INTEGER
       		 }

    swIpMcstVlanRepGroupAddrType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object indicates the destination IP Address type of
            IP Multicast VLAN Replication."
        ::= { swIpMcastVlanRepInfoEntry 1 }	        	

     swIpMcstVlanRepGroupAddr OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object indicates the destination IP Address of
            IP Multicast VLAN Replication."
        ::= { swIpMcastVlanRepInfoEntry 2 }
        
      swIpMcstVlanRepSourceAddrType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object indicates the source IP Address type of
            IP Multicast VLAN Replication."
        ::= { swIpMcastVlanRepInfoEntry 3 }

      swIpMcstVlanRepSourceAddr OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object indicates the source IP Address of
            IP Multicast VLAN Replication."
        ::= { swIpMcastVlanRepInfoEntry 4 }
                        	
     swIpMcstVlanRepStatus OBJECT-TYPE
       SYNTAX  INTEGER
                {
                  active(1),
                  inactive(2)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates whether the (S,G) has been inserted successfully."
        ::= { swIpMcastVlanRepInfoEntry 5 }	        	

	     	
-- -----------------------------------------------------------------------------
-- swMcstVlanMgmt
-- -----------------------------------------------------------------------------

    swIpMcstVlanRepTTLStatus  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  decrease(1),
                  nodecrease(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "This indicates the TTL decrease state of the static IP multicast VLAN replication."
        ::={ swIpMcstVlanRepMgmt 1 }
        
    swIpMcstVlanRepSrcMacStatus  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  replace(1),
                  noreplace(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "This indicates the SourceMac replace state of the static IP multicast VLAN replication."
        ::={ swIpMcstVlanRepMgmt 2 }

    swIpMcstVlanRepTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwIpMcstVlanRepEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This contains information about the static IP multicast VLAN replication entry."
        ::= { swIpMcstVlanRepMgmt 3 }

    swIpMcstVlanRepEntry OBJECT-TYPE
        SYNTAX  SwIpMcstVlanRepEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This is an entry of the swIpMcstVlanRepTable."
        INDEX  { swIpMcstVlanRepName }
        ::= { swIpMcstVlanRepTable 1 }

    SwIpMcstVlanRepEntry ::=
        SEQUENCE {
            swIpMcstVlanRepName
            	DisplayString,
            swIpMcstVlanRepSrcVID
               	VlanId,
            swIpMcstVlanRepRowStatus
                RowStatus
            	}
            	
    swIpMcstVlanRepName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This indicates the name of the static IP multicast 
             VLAN replication entry."
        ::= { swIpMcstVlanRepEntry 1 }      	
        
    swIpMcstVlanRepSrcVID OBJECT-TYPE
        SYNTAX  VlanId
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This indicates the source VLAN ID of the static IP multicast VLAN replication entry.
            The source VLAN must be in 802.1Q static VLAN list."
        ::= { swIpMcstVlanRepEntry 2 }
        
    swIpMcstVlanRepRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This indicates the status of this entry."
        ::= { swIpMcstVlanRepEntry 3 }	
   
--source info   
        
     swIpMcstVlanRepSrcTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwIpMcstVlanRepSrcEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This contains information about source traffic of static IP multicast VLAN replication.
            It depends on the swIpMcstVlanRepTable."
        ::= { swIpMcstVlanRepMgmt 4 }  	
        
    swIpMcstVlanRepSrcEntry OBJECT-TYPE
        SYNTAX  SwIpMcstVlanRepSrcEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This is an entry of the swIpMcstVlanRepSrcTable."
        INDEX  { swIpMcstVlanRepName,swIpMcstVlanRepGrpAddrType,swIpMcstVlanRepGrpAddrStart,
        		swIpMcstVlanRepGrpAddrEnd,swIpMcstVlanRepSrcAddrType,swIpMcstVlanRepSrcAddr}
        ::= { swIpMcstVlanRepSrcTable 1 }
        
    SwIpMcstVlanRepSrcEntry ::=
        SEQUENCE {
       	   swIpMcstVlanRepGrpAddrType
            	InetAddressType,
            swIpMcstVlanRepGrpAddrStart
            	InetAddress,
            swIpMcstVlanRepGrpAddrEnd
            	InetAddress,
           swIpMcstVlanRepSrcAddrType
           	InetAddressType,
           swIpMcstVlanRepSrcAddr
           	InetAddress,
           swIpMcstVlanRepSrcRowStatus
                RowStatus
            	}
            	
            
      swIpMcstVlanRepGrpAddrType OBJECT-TYPE
    	SYNTAX  InetAddressType
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This indicates the type of group IP of the static IP multicast 
            VLAN replication entry."
        ::= { swIpMcstVlanRepSrcEntry 1 }     	
            
      swIpMcstVlanRepGrpAddrStart OBJECT-TYPE
    	SYNTAX  InetAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This indicates the starting address of the group range of the static IP multicast 
            VLAN replication entry."
        ::= { swIpMcstVlanRepSrcEntry 2 }     		
        
      swIpMcstVlanRepGrpAddrEnd OBJECT-TYPE
    	SYNTAX  InetAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This indicates the ending address of the group range of the static IP multicast 
            VLAN replication entry."
        ::= { swIpMcstVlanRepSrcEntry 3 }     		    	
            	
      swIpMcstVlanRepSrcAddrType OBJECT-TYPE
    	SYNTAX  InetAddressType
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This indicates the type of source IP of the static IP multicast 
            VLAN replication entry."
        ::= { swIpMcstVlanRepSrcEntry 4 }     	     	
            	
     swIpMcstVlanRepSrcAddr OBJECT-TYPE
    	SYNTAX  InetAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This indicates the source IP address of the static IP multicast 
            VLAN replication entry."
        ::= { swIpMcstVlanRepSrcEntry 5 }     	
        
     swIpMcstVlanRepSrcRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The attribute value reverts to 'other (1)' once the action has been completed."
        ::= { swIpMcstVlanRepSrcEntry 6 }	
 
 --destination info    
   
    swIpMcstVlanRepDstTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwIpMcstVlanRepDstEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This contains information about destination info of static IP multicast VLAN replication.
            It depends on the swIpMcstVlanRepTable."
        ::= { swIpMcstVlanRepMgmt 5 }  	
        
    swIpMcstVlanRepDstEntry OBJECT-TYPE
        SYNTAX  SwIpMcstVlanRepDstEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This is an entry of the swIpMcstVlanRepDstTable."
        INDEX  { swIpMcstVlanRepName,swIpMcstVlanRepDstVID}
        ::= { swIpMcstVlanRepDstTable 1 }
    
    SwIpMcstVlanRepDstEntry ::=
        SEQUENCE {
       	   swIpMcstVlanRepDstVID
            	VlanId,
           swIpMcstVlanRepDstPort
                PortList,
           swIpMcstVlanRepDstRowStatus
                RowStatus
            	}
    swIpMcstVlanRepDstVID OBJECT-TYPE
       SYNTAX  VlanId
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "This indicates the destination VLAN ID of the IP multicast
          VLAN replication entry."
        ::= { swIpMcstVlanRepDstEntry 1 } 
    
    swIpMcstVlanRepDstPort   OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This indicates the outgoing port list of the IP multicast
            VLAN replication entry."
        ::={ swIpMcstVlanRepDstEntry 2}
        
    swIpMcstVlanRepDstRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The attribute value reverts to 'other (1)' once the action has been completed."
        ::= { swIpMcstVlanRepDstEntry 3 }	      	
   
END
