--  =======================================================================
--  File        : oadiffsr.mib
--  Description : Private MIB for Optical Access Device
--  By          : Sharon Yakov, Yakov Vaisman.
--  Version     : $Revision:   1.0
--  Date        : $Date:   November 17, 2000
--  =======================================================================
--
--
-- Copyright (c) 2000 Optical Access.  All Rights Reserved.
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This NBase SNMP MIB Specification
-- embodies Optical Access's proprietary intellectual property.  NBase
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is Optical Access's intent to encourage the widespread use of this
-- specification in connection with the management of Optical Access's
-- products. Optical Access grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of Optical Access's products.
--
-- This specification is supplied "AS IS," and Optical Access makes no
-- warranty, either express or implied, as to the use, operation,
-- condition, or performance of the specification.
--
-- Optical Access retains the right to change this MIB without notification.
--
OA-DIFFSERV-MIB DEFINITIONS ::= BEGIN

	 IMPORTS
		enterprises,
                IpAddress                     FROM RFC1155-SMI

		OBJECT-TYPE                   FROM RFC-1212
		DisplayString                 FROM RFC1213-MIB;

	FlowType0           ::= INTEGER 
                             {	
                    other	(1),	
		    none	(2),
		    interior	(3),
		    lastInterior(4),
		    portAccess	(5),
		    srcIpAccess	(6),
		    borderAccess(7),
		    dstIpAccess	(8),
	            upStreamAccess (11),
	            downStreamAccess (12),
	            upStreamDeny (13),
	            downStreamDeny (14) 
                             } 
-- ************************************************************
-- NBase Object Identifier Definition
-- ************************************************************

oaccess			OBJECT IDENTIFIER ::= { enterprises 6926 }
oaManagement		OBJECT IDENTIFIER ::= { oaccess 1 }

oaClassification	OBJECT IDENTIFIER ::= { oaManagement 21}
oaDiffServ		OBJECT IDENTIFIER ::= { oaClassification 1}

-- *************************************************************
-- Object in the Device Configuration Group
-- *************************************************************

	 oaDifSrSaveMode	OBJECT-TYPE
	 SYNTAX    INTEGER{
			other		(1),
			allDifSrParams  (2)
			}                
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Save whole  DiffServ feature Configuration
		  in the NVRAM for the corresponding Device.
		  In case of GET command - always responds with 1=other.
		  In case of SET command - always needs 2=allDifSrParams."
		 ::= { oaDiffServ 1 }

-- *************************************************************
-- Objects in the Module Configuration Group
-- *************************************************************

	 oaDifSrModuleStatusTable OBJECT-TYPE
	 SYNTAX    SEQUENCE OF OaDifSrModuleStatusEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "Table contains the DiffServ feature Status in Modules."
		 ::= { oaDiffServ 2 }

	 oaDifSrModuleStatusEntry OBJECT-TYPE
	 SYNTAX    OaDifSrModuleStatusEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "An entry in the table, describes whether the
                  DiffServ feature is supported by the Module."
	 INDEX   { oaDifSrSlotId,oaDifSrModuleId }
		 ::= { oaDifSrModuleStatusTable 1 }

	 OaDifSrModuleStatusEntry ::=
	 SEQUENCE   {
		     oaDifSrSlotId		INTEGER,
		     oaDifSrModuleId		INTEGER,
		     oaDifSrModuleStatus	INTEGER
		    }

	 oaDifSrSlotId		OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 "The Slot Index in the Device."
		 ::= { oaDifSrModuleStatusEntry 1 }

	 oaDifSrModuleId	OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 " The Module Index in the Slot."
		 ::= { oaDifSrModuleStatusEntry 2 }

	 oaDifSrModuleStatus	OBJECT-TYPE
	 SYNTAX    INTEGER{
			other		(1),
			supported	(2),
			notSupported	(3)
			}
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 "Status of the DiffServ feature in the corresponding Module.
		  In case of 1=other        - module is in the other mode.
		  In case of 2=supported    - feature is supported.
		  In case of 3=notSupported - feature is not supported."
		 ::= { oaDifSrModuleStatusEntry 3 }


-- *************************************************************
-- DiffServ Data Base Groups 3 - 9 are Reserved
-- *************************************************************

	 oaDiffServRun		OBJECT IDENTIFIER ::= { oaDiffServ 10}
         oaDiffServPerm		OBJECT IDENTIFIER ::= { oaDiffServ 11}

-- *************************************************************
-- 'oaDiffServ' Run Data Base Groups
-- *************************************************************

-- *************************************************************
-- Objects in the DiffServ Run Data Base Flow Description Group
-- *************************************************************

	 oaDifSrCPUServiceLevel	OBJECT-TYPE
	 SYNTAX    INTEGER	(0..8)
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Service Level of the CPU. "
		 ::= { oaDiffServRun 1 }

-- *************************************************************
-- 'DiffServRun' Data Base Groups 2 - 5 are Reserved
-- *************************************************************

	 oaDifSrFlowTable OBJECT-TYPE
	 SYNTAX    SEQUENCE OF OaDifSrFlowEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "Table of DiffServ Flows."
		 ::= { oaDiffServRun 6 }

	 oaDifSrFlowEntry OBJECT-TYPE
	 SYNTAX    OaDifSrFlowEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "An entry in the table, containing the necessary
                  parameters to describe a certain DiffServ Flow."
	 INDEX   { oaDifSrFlowId }
		 ::= { oaDifSrFlowTable 1 }

	 OaDifSrFlowEntry ::=
	 SEQUENCE   {
		     oaDifSrFlowId		INTEGER,
		     oaDifSrGlobalFlowId	INTEGER,
		     oaDifSrSrcPort		INTEGER,
		     oaDifSrDstPorts		OCTET STRING,
		     oaDifSrSrcIPAddr		IpAddress,
		     oaDifSrSrcMask		IpAddress,
		     oaDifSrDstIPAddr		IpAddress,
		     oaDifSrDstMask		IpAddress,
		     oaDifSrProtocol		INTEGER,                         
		     oaDifSrTCPSrcFirstPort	INTEGER,                         
		     oaDifSrTCPSrcPortsMask	INTEGER,                         
		     oaDifSrTCPDstFirstPort	INTEGER,                         
		     oaDifSrTCPDstPortsMask	INTEGER,
		     oaDifSrFlowDescription	DisplayString,
		     oaDifSrServiceLevel	INTEGER,
		     oaDifSrMaxRate		INTEGER,                         
		     oaDifSrMaxBurstSize	INTEGER,
		     oaDifSrAvrgPackSize	INTEGER,
		     oaDifSrVPTag		INTEGER,
		     oaDifSrSelectedTOS		INTEGER,
		     oaDifSrStatus		INTEGER,
	             oaDifSrFlowType            FlowType
		    }

	 oaDifSrFlowId	 OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 " Index of the flow"
		 ::= { oaDifSrFlowEntry 1 }

	 oaDifSrGlobalFlowId	 OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 "Index of the flow in the All  Services Flow Global Table"
		 ::= { oaDifSrFlowEntry 2 }

	 oaDifSrSrcPort		OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 "Source Port, The port on which the flow is configured.
		  This parameter must be set by the user, when configuraing a new flow."
		 ::= { oaDifSrFlowEntry 3 }

	 oaDifSrDstPorts	OBJECT-TYPE
	 SYNTAX    OCTET STRING
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Contains the list of the Destination Ports of the Flow.
                  The representation is a bit map.
                  Each octet within the value of this object specifies
                  a set of eight ports, with the first octet specifying
                  ports 1 through 8, the second octet specifying ports 9
                  through 16, etc.  Within each octet, the least
		  significant bit represents the lowest numbered
		  port, and the most significant bit represents the
		  highest numbered port.  Thus, each port is represented
		  by a single bit within the value of this object.
		  If that bit has a value of <1> then that port exists in the Flow.
		  The port is not exists in the Flow if its bit has a value of <0>."
		 ::= { oaDifSrFlowEntry 4 }
       
	 oaDifSrSrcIPAddr	OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Source IP Address of the flow."
		 ::= { oaDifSrFlowEntry 5 }

	 oaDifSrSrcMask		OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Source IP Mask of the flow."
		 ::= { oaDifSrFlowEntry 6 }

	 oaDifSrDstIPAddr	OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Destination IP Address of the flow."
		 ::= { oaDifSrFlowEntry 7 }


	 oaDifSrDstMask		OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Destination IP Mask of the flow."
		 ::= { oaDifSrFlowEntry 8 }

	 oaDifSrProtocol	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Layer 4 Protocol Type."
		 ::= { oaDifSrFlowEntry 9 }

	 oaDifSrTCPSrcFirstPort	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " First TCP/UDP Source Port."
		 ::= { oaDifSrFlowEntry 10 }

	 oaDifSrTCPSrcPortsMask	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 "TCP/UDP Source Port Mask.
		  This parameter gives the ability to configure
		  a range of TCP/UDP ports, without using oaDifSrTCPSrcLastPort object."
		 ::= { oaDifSrFlowEntry 11 }

	 oaDifSrTCPDstFirstPort	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " First TCP\UDP Destination Port."
		 ::= { oaDifSrFlowEntry 12 }

	 oaDifSrTCPDstPortsMask	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 "TCP/UDP Destination Port Mask.
		  This parameter gives the ability to configure
		  a range of TCP/UDP ports, without using oaDifSrTCPDstLastPort object."
		 ::= { oaDifSrFlowEntry 14 }

	 oaDifSrFlowDescription	 OBJECT-TYPE
	 SYNTAX    DisplayString
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "DiffServ Flow Description."
		 ::= { oaDifSrFlowEntry 15 }

	 oaDifSrServiceLevel	OBJECT-TYPE
	 SYNTAX    INTEGER (1..9)
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 " Service Level of the corresponding Flow.
		   1 - The lowest service level,
		   8 - The highest service level.
		   9 - cos is not used."
		 ::= { oaDifSrFlowEntry 17 }

	 oaDifSrMaxRate		OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Maximum rate in kilobits per second for the corresponding flow."
		 ::= { oaDifSrFlowEntry 18 }

	 oaDifSrMaxBurstSize	OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Maximum burst size in Kilobits for the corresponding flow."
		 ::= { oaDifSrFlowEntry 19 }

	 oaDifSrAvrgPackSize	OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Average Packet Size for the corresponding flow."
		 ::= { oaDifSrFlowEntry 20 }

	 oaDifSrVPTag		OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 ""
		 ::= { oaDifSrFlowEntry 21 }

	 oaDifSrSelectedTOS	OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 ""
		 ::= { oaDifSrFlowEntry 22 }

         oaDifSrStatus		OBJECT-TYPE
         SYNTAX  INTEGER {
                 valid  (1),     -- the entry is valid and active
                 invalid(2),     -- the entry is invalid
                 create(3)       -- to create the entry
                 }
         ACCESS  read-write
         STATUS  mandatory
	 DESCRIPTION
                "The object is used to create/delete entries in the
		 oaDifSrFlowDescrTable table.
                 Setting this value to invalid(2) for a certain
		 oaDifSrFlowDescrId, deletes this entry.
		 To create a new entry a SET PDU with the
		 oaDifSrFlowDescrEntry and value = valid(1)
                 objects is required."
		 ::= { oaDifSrFlowEntry 23 }

	 oaDifSrFlowType          OBJECT-TYPE
         SYNTAX     FlowType
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION	
		 ""
		 ::= { oaDifSrFlowEntry 24 }
 
-- *************************************************************
-- Objects in the Run Data Base Diff Serv Ports Configuration Group
-- *************************************************************
        
	 oaDifSrPortsCfgTable	OBJECT-TYPE
	 SYNTAX    SEQUENCE OF OaDifSrPortsCfgEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
		 "Table of DiffServ Port Types Configuration."
		 ::= { oaDiffServRun 8 }

	 oaDifSrPortsCfgEntry	OBJECT-TYPE
	 SYNTAX    OaDifSrPortsCfgEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "An entry in the table, containing information
				  about the DiffServ Port Configuration."
	 INDEX   { oaDifSrPortCfgId }
		 ::= { oaDifSrPortsCfgTable 1 }

	 OaDifSrPortsCfgEntry ::=
	 SEQUENCE   {
		     oaDifSrPortCfgId	INTEGER,
		     oaDifSrPortType	FlowType
                    }

	 oaDifSrPortCfgId	OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 "Port Index."
		 ::= { oaDifSrPortsCfgEntry 1 }

	 oaDifSrPortType	OBJECT-TYPE
	 SYNTAX    FlowType
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "The DiffServ Type of the corresponding Port."
		 ::= { oaDifSrPortsCfgEntry 2 }

	 oaDifSrPorts	OBJECT-TYPE
	 SYNTAX    OCTET STRING
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 ""
		 ::= { oaDifSrPortsCfgEntry 3 }

-- *****************************************************************************
-- Objects in the Run Data Base Diff Serv Access List Ports Configuration Group
-- *****************************************************************************
	 oaDifSrAclPortCfg     OBJECT IDENTIFIER ::= { oaDiffServRun 9 }

oaDifSrAclPortInfo  OBJECT-TYPE
	 SYNTAX    OCTET STRING
     ACCESS    write-only
     STATUS    mandatory
     DESCRIPTION
	 "This is a casting to stucture
	 typedef struct kuku {
       FLOW_TYPE_T	flowType;
       BITMAP_T		ports;
       TAG			tag;
	 } KUKU_T;"
		 ::= { oaDifSrAclPortCfg 1 }

--oaDifSrAclPortType	OBJECT-TYPE
--	 SYNTAX    FlowType
--	 ACCESS    read-write
--     STATUS    mandatory
--     DESCRIPTION
--	 "The DiffServ Type of the corresponding Port."
--		 ::= { oaDifSrAclPortCfg 1 }
--
--oaDifSrAclPortBitmap	OBJECT-TYPE
--	 SYNTAX    OCTET STRING
--     ACCESS    read-write
--     STATUS    mandatory
--     DESCRIPTION
--	 ""
--		 ::= { oaDifSrAclPortCfg 2 }
--
--oaDifSrAclPortTag	OBJECT-TYPE
--     SYNTAX  INTEGER
--     ACCESS  read-write
--     STATUS  mandatory
--     DESCRIPTION
--     ""
--	::= { oaDifSrAclPortCfg 3 }

         
-- *************************************************************
-- 'oaDiffServ' Perm Data Base Groups
-- *************************************************************

-- *************************************************************
-- Objects in the DiffServ Perm Data Base Flow Description Group
-- *************************************************************

	 oaDifSrPermCPUServiceLevel	OBJECT-TYPE
	 SYNTAX    INTEGER	(0..8)
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Service Level of the CPU. "
		 ::= { oaDiffServPerm 1 }

-- *************************************************************
-- DiffServ Perm Data Base Groups 2 - 5 are Reserved
-- *************************************************************

	 oaDifSrPermFlowTable	OBJECT-TYPE
	 SYNTAX    SEQUENCE OF OaDifSrPermFlowEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "Table of DiffServ Flows."
		 ::= { oaDiffServPerm 6 }

	 oaDifSrPermFlowEntry	OBJECT-TYPE
	 SYNTAX    OaDifSrPermFlowEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "An entry in the table, containing the necessary
                  parameters to describe a certain DiffServ Flow."
	 INDEX   { oaDifSrPermFlowId }
		 ::= { oaDifSrPermFlowTable 1 }

	 OaDifSrPermFlowEntry ::=
	 SEQUENCE   {
		     oaDifSrPermFlowId		INTEGER,
		     oaDifSrPermGlobalFlowId	INTEGER,
		     oaDifSrPermSrcPort		INTEGER,
		     oaDifSrPermDstPorts	OCTET STRING,
		     oaDifSrPermSrcIPAddr	IpAddress,
		     oaDifSrPermSrcMask		IpAddress,
		     oaDifSrPermDstIPAddr	IpAddress,
		     oaDifSrPermDstMask		IpAddress,
		     oaDifSrPermProtocol	INTEGER,
		     oaDifSrPermTCPSrcFirstPort	INTEGER,
		     oaDifSrPermTCPSrcPortsMask	INTEGER,
		     oaDifSrPermTCPDstFirstPort	INTEGER,
		     oaDifSrPermTCPDstPortsMask	INTEGER,
		     oaDifSrPermFlowDescription	DisplayString,
		     oaDifSrPermServiceLevel	INTEGER,
		     oaDifSrPermMaxRate		INTEGER,
		     oaDifSrPermMaxBurstSize	INTEGER,
		     oaDifSrPermAvrgPackSize	INTEGER,
		     oaDifSrPermVPTag		INTEGER,
		     oaDifSrPermSelectedTOS	INTEGER,
		     oaDifSrPermStatus		INTEGER
		    }

	 oaDifSrPermFlowId		OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 " Index of the flow"
		 ::= { oaDifSrPermFlowEntry 1 }

	 oaDifSrPermGlobalFlowId	OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 "Index of the flow in the All  Services Flow Global Table"
		 ::= { oaDifSrPermFlowEntry 2 }

	 oaDifSrPermSrcPort		OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 "Source Port, The port on which the flow is configured.
		  This parameter must be set by the user, when configuraing a new flow."
		 ::= { oaDifSrPermFlowEntry 3 }

	 oaDifSrPermDstPorts		OBJECT-TYPE
	 SYNTAX    OCTET STRING
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Contains the list of the Destination Ports of the Flow.
                  The representation is a bit map.
                  Each octet within the value of this object specifies
                  a set of eight ports, with the first octet specifying
                  ports 1 through 8, the second octet specifying ports 9
                  through 16, etc.  Within each octet, the least
		  significant bit represents the lowest numbered
		  port, and the most significant bit represents the
		  highest numbered port.  Thus, each port is represented
		  by a single bit within the value of this object.
		  If that bit has a value of <1> then that port exists in the Flow.
		  The port is not exists in the Flow if its bit has a value of <0>."
		 ::= { oaDifSrPermFlowEntry 4 }
       
	 oaDifSrPermSrcIPAddr		OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Source IP Address of the flow."
		 ::= { oaDifSrPermFlowEntry 5 }

	 oaDifSrPermSrcMask		OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Source IP Mask of the flow."
		 ::= { oaDifSrPermFlowEntry 6 }

	 oaDifSrPermDstIPAddr		OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Destination IP Address of the flow."
		 ::= { oaDifSrPermFlowEntry 7 }

	 oaDifSrPermDstMask		OBJECT-TYPE
	 SYNTAX    IpAddress
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Destination IP Mask of the flow."
		 ::= { oaDifSrPermFlowEntry 8 }

	 oaDifSrPermProtocol		OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " Layer 4 Protocol Type."
		 ::= { oaDifSrPermFlowEntry 9 }

	 oaDifSrPermTCPSrcFirstPort	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " First TCP/UDP Source Port."
		 ::= { oaDifSrPermFlowEntry 10 }

	 oaDifSrPermTCPSrcPortsMask	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 "TCP/UDP Source Port Mask.
		  This parameter gives the ability to configure
		  a range of TCP/UDP ports, without using oaDifSrPermTCPSrcLastPort object."
		 ::= { oaDifSrPermFlowEntry 11 }

	 oaDifSrPermTCPDstFirstPort	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 " First TCP\UDP Destination Port."
		 ::= { oaDifSrPermFlowEntry 12 }

	 oaDifSrPermTCPDstPortsMask	OBJECT-TYPE
	 SYNTAX    INTEGER 
	 ACCESS    read-write
	 STATUS    mandatory
         DESCRIPTION
		 "TCP/UDP Destination Port Mask.
		  This parameter gives the ability to configure
		  a range of TCP/UDP ports, without using oaDifSrPermTCPDstLastPort object."
		 ::= { oaDifSrPermFlowEntry 14 }

	 oaDifSrPermFlowDescription	OBJECT-TYPE
	 SYNTAX    DisplayString
         ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "DiffServ Flow Description."
		 ::= { oaDifSrPermFlowEntry 15 }

	 oaDifSrPermServiceLevel	OBJECT-TYPE
	 SYNTAX    INTEGER (1..8)
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 " Service Level of the corresponding Flow.
		   1 - The lowest service level,
		   8 - The highest service level."
		 ::= { oaDifSrPermFlowEntry 17 }

	 oaDifSrPermMaxRate		OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Maximum rate in kilobits per second for the corresponding flow."
		 ::= { oaDifSrPermFlowEntry 18 }

	 oaDifSrPermMaxBurstSize	OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Maximum burst size in Kilobits for the corresponding flow."
		 ::= { oaDifSrPermFlowEntry 19 }

	 oaDifSrPermAvrgPackSize	OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "Average Packet Size for the corresponding flow."
		 ::= { oaDifSrPermFlowEntry 20 }

	 oaDifSrPermVPTag		OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 ""
		 ::= { oaDifSrPermFlowEntry 21 }

	 oaDifSrPermSelectedTOS		OBJECT-TYPE
         SYNTAX    INTEGER
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 ""
		 ::= { oaDifSrPermFlowEntry 22 }

         oaDifSrPermStatus		OBJECT-TYPE
         SYNTAX  INTEGER {
                 valid  (1),     -- the entry is valid and active
                 invalid(2),     -- the entry is invalid
		 create (3)      -- to create the entry
		 }
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
                "The object is used to create/delete entries in the
		 oaDifSrPermFlowDescrTable table.
                 Setting this value to invalid(2) for a certain
		 oaDifSrPermFlowDescrId, deletes this entry.
		 To create a new entry a SET PDU with the
		 oaDifSrPermFlowDescrEntry and value = valid(1)
                 objects is required."
		 ::= { oaDifSrPermFlowEntry 23 }

-- *************************************************************
-- Objects in the Perm Data Base Diff Serv Ports Configuration Group
-- *************************************************************
        
	 oaDifSrPermPortsCfgTable	OBJECT-TYPE
	 SYNTAX    SEQUENCE OF OaDifSrPermPortsCfgEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
		 "Table of DiffServ Port Types Configuration."
		 ::= { oaDiffServPerm 8 }

	 oaDifSrPermPortsCfgEntry	OBJECT-TYPE
	 SYNTAX    OaDifSrPermPortsCfgEntry
         ACCESS    not-accessible
         STATUS    mandatory
         DESCRIPTION
                 "An entry in the table, containing information
		  about the DiffServ Port Configuration."
	 INDEX   { oaDifSrPermPortCfgId }
		 ::= { oaDifSrPermPortsCfgTable 1 }

	 OaDifSrPermPortsCfgEntry ::=
	 SEQUENCE   {
		     oaDifSrPermPortCfgId	INTEGER,
		     oaDifSrPermPortType	INTEGER
                    }

	 oaDifSrPermPortCfgId		OBJECT-TYPE
         SYNTAX    INTEGER
         ACCESS    read-only
         STATUS    mandatory
         DESCRIPTION
		 "Port Index."
		 ::= { oaDifSrPermPortsCfgEntry 1 }

	 oaDifSrPermPortType		OBJECT-TYPE
	 SYNTAX    INTEGER {
		    other	(1),
		    none	(2),
		    interior	(3),
		    lastInterior(4),
		    portAccess	(5),
		    srcIpAccess	(6),
		    borderAccess(7),
		    dstIpAccess	(8)
		   }
	 ACCESS    read-write
         STATUS    mandatory
         DESCRIPTION
		 "The DiffServ Type of the corresponding Port."
		 ::= { oaDifSrPermPortsCfgEntry 2 }

-- *************************************************************

END
