ALCATEL-IND1-WCCP-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		MODULE-IDENTITY,
    		OBJECT-IDENTITY,
		OBJECT-TYPE,
		NOTIFICATION-TYPE,
		IpAddress,
		Counter32,
                TimeTicks,
		Integer32            FROM SNMPv2-SMI
                TEXTUAL-CONVENTION,
                DateAndTime,
        	TruthValue,
        	RowStatus            FROM SNMPv2-TC
		InterfaceIndex
				     FROM IF-MIB
                SnmpAdminString
                                     FROM SNMP-FRAMEWORK-MIB
        	MODULE-COMPLIANCE,
       		OBJECT-GROUP,
       		NOTIFICATION-GROUP   FROM SNMPv2-CONF
        	softentIND1Wccp,
         	wccpTraps	     FROM ALCATEL-IND1-BASE
                InetAddressType,
                InetAddress          FROM INET-ADDRESS-MIB;
--
-- Module Identity
--

alcatelIND1WCCPMIB MODULE-IDENTITY
	LAST-UPDATED "201008310000Z"
	ORGANIZATION "Alcatel"
	CONTACT-INFO
	       "Please consult with Customer Service to ensure the most appropriate version
         of this document is used with the products in question:

                   Alcatel-Lucent, Enterprise Solutions Division
                  (Formerly Alcatel Internetworking, Incorporated)
                          26801 West Agoura Road
                       Agoura Hills, CA  91301-5122
                         United States Of America

       Telephone:        North America  +1 800 995 2696
                                Latin America  +1 877 919 9526
                                Europe         +31 23 556 0100
                                Asia           +65 394 7933
                                All Other      +1 818 878 4507

       Electronic Mail:         support@ind.alcatel.com
       World Wide Web:          http://alcatel-lucent.com/wps/portal/enterprise
       File Transfer Protocol:  ftp://ftp.ind.alcatel.com/pub/products/mibs"

	DESCRIPTION
		    "This module describes an authoritative enterprise-specific
         Simple Network Management Protocol (SNMP) Management Information Base
         (MIB):

         The AlcatelIND1WCCPMIB is used to monitor the services for the WCCP
         (Web Cache Coordination Protocol).

         The right to make changes in specification and other information
         contained in this document without prior notice is reserved.

         No liability shall be assumed for any incidental, indirect, special,
	or consequential damages whatsoever arising from or related to this
         document or the information contained herein.

         Vendors, end-users, and other interested parties are granted
         non-exclusive license to use this specification in connection with
         management of the products for which it is intended to be used.

                     Copyright (C) 1995-2007 Alcatel-Lucent
                         ALL RIGHTS RESERVED WORLDWIDE"

::= { softentIND1Wccp 1 }

--
-- Object roots used in this MIB
--

alcatelIND1WCCPMIBNotifications OBJECT-IDENTITY
        STATUS current
        DESCRIPTION
                "Branch For WCCP Subsystem Notifications."
        ::= { alcatelIND1WCCPMIB 0 }

alcatelIND1WCCPMIBObjects OBJECT-IDENTITY
   STATUS current
   DESCRIPTION
      "Branch for WCCP application objects"
   ::= { alcatelIND1WCCPMIB 1 }

alcatelIND1WCCPMIBConformance OBJECT-IDENTITY
   STATUS current
   DESCRIPTION
      "Branch for WCCP application conformance
			information"
   ::= { alcatelIND1WCCPMIB 2 }

alcatelIND1WCCPMIBGroups OBJECT-IDENTITY
   STATUS current
   DESCRIPTION
      "Branch for WCCP application units of conformance"
   ::= { alcatelIND1WCCPMIBConformance 1 }

alcatelIND1WCCPMIBCompliances OBJECT-IDENTITY
   STATUS current
   DESCRIPTION
      "Branch for WCCP application compliance statements"
   ::= { alcatelIND1WCCPMIBConformance 2 }

--
-- Textual COnventions
--

WccpServiceType ::= TEXTUAL-CONVENTION
	STATUS current
	DESCRIPTION
	"Indicates the type of WCCP service being used.
	standard - well known service is being used.
	dynamic  - dynamic service is being used.
	unknown - cannot determine the type of service being used."

	SYNTAX INTEGER {
		standard(1),
		dynamic(2),
		unknown(3)
}

WccpVersion ::= TEXTUAL-CONVENTION
	STATUS current
	DESCRIPTION
	"Indicates the version of WCCP being used for a service.
	version1 - WCCP version 1 being used for the service.
	version2 - WCCP version 2 being used for the service.
	unknown - unknown version."
	
	SYNTAX INTEGER {
		version1(1),
		version2(2),
		unknown(3)
}

WccpServiceProtocolType ::= TEXTUAL-CONVENTION
	STATUS current
	DESCRIPTION
	"Indicates the type of protocol that a service group is defined for.
	tcp - WCCP service is identified by TCP protocol.
	udp - WCCP service is identified by UDP protocol."
	
	SYNTAX INTEGER {
		tcp(1),
		udp(2),
                unknown(3)
}

WccpServiceMessageType ::= TEXTUAL-CONVENTION
	STATUS current
	DESCRIPTION
	"Indicates the type of message Exchanged used between
          The router and the cache-engines

	unicast - Unicast method is used for WCCP message exchange,
                       i.e; the server and router exchange WCCP messages using the
                       IP address of the server and router.
        multicast - Multicast method is used for WCCP message exchange,
                          i.e; the server and router exchange WCCP messages using an IP
                          multicast group address."

	SYNTAX INTEGER {
		unicast(1),
		multicast(2),
                unknown(3)
        }

WccpServicePortType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
        "Indicates the type of Ports being referred to in the Service
         Info Component in a WCCP message.

        source - The Ports in the Service Info Component refers to TCP/UDP source ports.
        destination - The Ports in the Service Info Component refers to TCP/UDP destination ports."

        SYNTAX INTEGER {
                source(1),
                destination(2),
                unknown(3)
        }

-- A Basic Operational State
WccpOperState ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
    "The operational state of various WCCP entities
    'outOfService' : The entity is out of service.
    'inService'    : The entity operates properly."
    SYNTAX INTEGER {
      outOfService(1),
      inService(2)
    }


--
-- WCCP Feature (global parameters)
--

wccpFeature OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 1 }

wccpAdminEnabled OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This variable enables/disables WCCP feature."
	::= { wccpFeature 1 }

wccpServiceCount        OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The number of configured WCCP services."
	::= { wccpFeature 2 }

wccpGlobalStatsReset    OBJECT-TYPE
        SYNTAX  INTEGER
                {
                        default(1),
                        reset(2)
                }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"The variable will clear WCCP statistics for all the
        service groups."
	::= { wccpFeature 3 }

wccpGlobalStatsMessageInvalid OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This variable indicates the total no. of invalid WCCP Messages
         received."
        ::= { wccpFeature 4 }

--
-- WCCP Service Table
--

wccpServices OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 2 }

wccpServiceTable OBJECT-TYPE
	SYNTAX SEQUENCE OF WccpServiceTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table of WCCP services."
	::= { wccpServices 1 }

wccpServiceTableEntry OBJECT-TYPE
	SYNTAX WccpServiceTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A wccpServiceTable entry describes the WCCP service."
	INDEX { wccpServiceId }
	::= { wccpServiceTable 1 }

WccpServiceTableEntry ::= SEQUENCE {
	wccpServiceId Integer32,
	wccpServiceProtocol WccpServiceProtocolType,
        wccpServiceMessageType WccpServiceMessageType,
        wccpServicePortType WccpServicePortType,
	wccpServiceAdminEnabled TruthValue,
	wccpServicePassword SnmpAdminString,
	wccpServiceType WccpServiceType,
	wccpServiceVersion WccpVersion,
	wccpServiceWebCacheCount Counter32,
	wccpServiceReceiveId Counter32,
	wccpServiceChangeNumber Counter32,
        wccpServicePrecedence Integer32,
	wccpServiceRowStatus RowStatus
}

wccpServiceId OBJECT-TYPE
	SYNTAX Integer32 (0..255)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates the WCCP's service id."
	::= { wccpServiceTableEntry 1 }

wccpServiceProtocol OBJECT-TYPE
	SYNTAX WccpServiceProtocolType
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	" This variable indicates the protocol type
          the WCCP Service is defined for "
	::= { wccpServiceTableEntry 2 }

wccpServiceMessageType OBJECT-TYPE
	SYNTAX WccpServiceMessageType
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	" This variable indicates the mode of WCCP message
           exchanges used between router and cache-engines
           (unicast/multicast). "
	::= { wccpServiceTableEntry 3 }

wccpServicePortType OBJECT-TYPE
        SYNTAX WccpServicePortType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        " This variable indicates the type of TCP/UDP ports
          (source/destination) being referred to in Service
          Info Component in the WCCP Message."
        ::= { wccpServiceTableEntry 4 }

wccpServiceAdminEnabled OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This variable indicates WCCP's service status."
	::= { wccpServiceTableEntry 5 }

wccpServicePassword OBJECT-TYPE
	SYNTAX SnmpAdminString(SIZE(0..8))
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"This variable indicates the password for the WCCP service."
	::= { wccpServiceTableEntry 6 }

wccpServiceType OBJECT-TYPE
	SYNTAX WccpServiceType
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the WCCP service type."
	::= { wccpServiceTableEntry 7 }

wccpServiceVersion OBJECT-TYPE
	SYNTAX WccpVersion
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the WCCP service version."
	::= { wccpServiceTableEntry 8 }

wccpServiceWebCacheCount OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable show the number web caches currently active
	on the service."
	::= { wccpServiceTableEntry 9 }

wccpServiceReceiveId OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable contains the current Receive ID from the router.
	This is incremented each time a WCCP message is sent."
	::= { wccpServiceTableEntry 10 }

wccpServiceChangeNumber OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable contains the current Change Number.
	This is incremented each time there is a WCCP topology
	change."
	::= { wccpServiceTableEntry 11 }

wccpServicePrecedence OBJECT-TYPE
        SYNTAX Integer32 (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This variable indicates the priority of the Service.
        The lowest priority is 0, the highest is 255. Well known
        services have a priority of 240."
        ::= { wccpServiceTableEntry 12 }

wccpServiceRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The object is used by a management station to create
        or delete the row entry in wccpServiceTable following
        the RowStatus textual convention."
        ::= { wccpServiceTableEntry 13 }

--
-- WCCP Service Ports Table
--
wccpServicePortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF WccpServicePortTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table of WCCP service Ports."
	::= { wccpServices 2 }

wccpServicePortTableEntry OBJECT-TYPE
	SYNTAX WccpServicePortTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A wccpServicePortTable entry describes the WCCP service Ports."
	INDEX { wccpServicePortServiceId, wccpServicePortPortId}
	::= { wccpServicePortTable 1 }

WccpServicePortTableEntry ::= SEQUENCE {
        wccpServicePortServiceId Integer32,
        wccpServicePortPortId Integer32,
        wccpServicePortPortNum Integer32
}

wccpServicePortServiceId OBJECT-TYPE
	SYNTAX Integer32 (0..255)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates the WCCP's service id."
	::= { wccpServicePortTableEntry 1 }

wccpServicePortPortId OBJECT-TYPE
	SYNTAX Integer32 (0..7)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates the WCCP's service Ports' id"
	::= { wccpServicePortTableEntry 2 }


wccpServicePortPortNum OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the WCCP's service Ports' id Value."
	::= { wccpServicePortTableEntry  3 }

--
-- WCCP Web Cache Table
--

wccpWebCaches OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 3 }

wccpWebCacheTable OBJECT-TYPE
	SYNTAX SEQUENCE OF WccpWebCacheTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table of WCCP web caches."
	::= { wccpWebCaches 1 }

wccpWebCacheTableEntry OBJECT-TYPE
	SYNTAX WccpWebCacheTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A wccpWebCacheTable entry describes the status of a Web Cache."
	INDEX { wccpWebCacheServiceId,
		wccpWebCacheIpAddressType,
 		wccpWebCacheIpAddress	}
	::= { wccpWebCacheTable 1 }

WccpWebCacheTableEntry ::= SEQUENCE {
	wccpWebCacheServiceId Integer32,
	wccpWebCacheIpAddressType InetAddressType,
	wccpWebCacheIpAddress InetAddress,
        wccpWebCacheProtoVersion WccpVersion,
	wccpWebCacheReceiveId Counter32,
	wccpWebCacheChangeNum Counter32,
	wccpWebCacheNumberOfRouters Counter32,
	wccpWebCacheNumberOfWebCaches Counter32,
        wccpWebCacheState WccpOperState,
        wccpWebCacheConnectTime DateAndTime
}

wccpWebCacheServiceId OBJECT-TYPE
	SYNTAX Integer32 (0..255)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates service id for this Web Cache."
	::= { wccpWebCacheTableEntry 1 }

wccpWebCacheIpAddressType OBJECT-TYPE
  SYNTAX InetAddressType (1|2)
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
  "This variable IP address of the Web Cache.
   InetAddressType ipv4(1) is the only one supported at this time"

  ::= { wccpWebCacheTableEntry 2 }

wccpWebCacheIpAddress OBJECT-TYPE
	SYNTAX InetAddress (SIZE (4|16))
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable IP address of the Web Cache."
	::= { wccpWebCacheTableEntry 3 }

wccpWebCacheProtoVersion OBJECT-TYPE
        SYNTAX WccpVersion
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This variable indicates the WCCP version supported by
         the Web Cache."
        ::= { wccpWebCacheTableEntry 4 }

wccpWebCacheReceiveId OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable contains the current Receive ID from the Web
	Cache."
	::= { wccpWebCacheTableEntry 5 }

wccpWebCacheChangeNum OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable contains the current Change Number.
	This is incremented each time there is a WCCP topology
	change."
	::= { wccpWebCacheTableEntry 6 }
	
wccpWebCacheNumberOfRouters OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates how many WCCP routers the Web
	Cache is in contact with."
	::= { wccpWebCacheTableEntry 7 }

wccpWebCacheNumberOfWebCaches OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates how many Web Caches the Web
	Cache is in contact with."
	::= { wccpWebCacheTableEntry 8 }

wccpWebCacheState OBJECT-TYPE
	SYNTAX WccpOperState
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the operational state of the
          Cache-Engine for a WCCP service."
	::= { wccpWebCacheTableEntry 9 }

wccpWebCacheConnectTime OBJECT-TYPE
	SYNTAX DateAndTime
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	" This indicates the time at which the cache server was changed
           to usable state for the service."
	::= { wccpWebCacheTableEntry 10 }

--
-- WCCP Router Table
--

wccpRouters OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 4 }

wccpRouterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF WccpRouterTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Table of WCCP Routers."
        ::= { wccpRouters 1 }

wccpRouterTableEntry OBJECT-TYPE
        SYNTAX WccpRouterTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "A wccpRouterTable entry describes the various routers
         participating in a service group."
        INDEX { wccpRouterServiceId,
                wccpRouterIpAddressType,
                wccpRouterIpAddress   }
        ::= { wccpRouterTable 1 }

WccpRouterTableEntry ::= SEQUENCE {
        wccpRouterServiceId     Integer32,
        wccpRouterIpAddressType InetAddressType,
        wccpRouterIpAddress     InetAddress,
        wccpRouterProtoVersion  WccpVersion
}

wccpRouterServiceId OBJECT-TYPE
        SYNTAX Integer32 (0..255)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This variable indicates service id for this Router."
        ::= { wccpRouterTableEntry 1 }

wccpRouterIpAddressType OBJECT-TYPE
  SYNTAX InetAddressType (1|2)
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
  "This variable indicates IP address type of the Router.
   InetAddressType ipv4(1) is the only one supported at this time"

  ::= { wccpRouterTableEntry 2 }

wccpRouterIpAddress OBJECT-TYPE
        SYNTAX InetAddress (SIZE (4|16))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "This variable indicates IP address of the Router."
        ::= { wccpRouterTableEntry 3 }

wccpRouterProtoVersion OBJECT-TYPE
        SYNTAX WccpVersion
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This variable indicates the WCCP version supported by
         the Router."
        ::= { wccpRouterTableEntry 4 }

--
-- WCCP VLAN Restrictions
--

wccpRestrictVlan OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 5 }

wccpRestrictVlanTable OBJECT-TYPE
	SYNTAX SEQUENCE OF WccpRestrictVlanTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table of WCCP VLAN filter. Indicates on which VLANs redirection
	should take place"
	::= { wccpRestrictVlan 1 }

wccpRestrictVlanTableEntry OBJECT-TYPE
	SYNTAX WccpRestrictVlanTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A wccpRestrictVlanTable entry describes the
	status of a VLAN restriction."
	INDEX { wccpRestrictVlanServiceId,
 		wccpRestrictVlanVlanId	}
	::= { wccpRestrictVlanTable 1 }

WccpRestrictVlanTableEntry ::= SEQUENCE {
	wccpRestrictVlanServiceId Integer32,
	wccpRestrictVlanVlanId Integer32,
	wccpRestrictVlanRowStatus RowStatus
}

wccpRestrictVlanServiceId OBJECT-TYPE
	SYNTAX Integer32 (0..255)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates WCCP's service id."
	::= { wccpRestrictVlanTableEntry 1 }

wccpRestrictVlanVlanId OBJECT-TYPE
	SYNTAX Integer32 (1..4096)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates a VLAN for redirection restrictions."
	::= { wccpRestrictVlanTableEntry 2 }

wccpRestrictVlanRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The object is used by a management station to create
  or delete the row entry in wccpServiceTable following
  the RowStatus textual convention."
	::= { wccpRestrictVlanTableEntry 3 }

--
-- WCCP Web Cache Restrictions
--

wccpRestrictWebCache OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 6 }

wccpRestrictWebCacheTable OBJECT-TYPE
	SYNTAX SEQUENCE OF WccpRestrictWebCacheTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table of WCCP VLAN filter."
	::= { wccpRestrictWebCache 1 }

wccpRestrictWebCacheTableEntry OBJECT-TYPE
	SYNTAX WccpRestrictWebCacheTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A wccpRestrictWebCacheTable entry describes the
	status of a WCCP service."
	INDEX { wccpRestrictWebCacheServiceId,
		wccpRestrictWebCacheIpAddressType,
 		wccpRestrictWebCacheIpAddress,
		wccpRestrictWebCacheIpMaskAddressType,
 		wccpRestrictWebCacheIpMask	}
	::= { wccpRestrictWebCacheTable 1 }

WccpRestrictWebCacheTableEntry ::= SEQUENCE {
	wccpRestrictWebCacheServiceId Integer32,
	wccpRestrictWebCacheIpAddressType InetAddressType,
	wccpRestrictWebCacheIpAddress InetAddress,
	wccpRestrictWebCacheIpMaskAddressType InetAddressType,
	wccpRestrictWebCacheIpMask InetAddress,
	wccpRestrictWebCacheRowStatus RowStatus
}

wccpRestrictWebCacheServiceId OBJECT-TYPE
	SYNTAX Integer32 (0..255)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates WCCP's service id."
	::= { wccpRestrictWebCacheTableEntry 1 }

wccpRestrictWebCacheIpAddressType OBJECT-TYPE
  SYNTAX InetAddressType (1|2)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable is the IP address type of the Web Cache. Used
	with wccpRestrictWebCacheIpMask.
         InetAddressType ipv4(1) is the only one supported at this time"
	::= { wccpRestrictWebCacheTableEntry 2 }

wccpRestrictWebCacheIpAddress OBJECT-TYPE
	SYNTAX InetAddress (SIZE (4|16))
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable is the IP address of the Web Cache. Used
	with wccpRestrictWebCacheIpMask."
	::= { wccpRestrictWebCacheTableEntry 3 }

wccpRestrictWebCacheIpMaskAddressType OBJECT-TYPE
  SYNTAX InetAddressType (1|2)
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
  "This variable is the IP mask type of the IP Address."
  ::= { wccpRestrictWebCacheTableEntry 4 }

wccpRestrictWebCacheIpMask OBJECT-TYPE
	SYNTAX InetAddress (SIZE(4|16))
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable is the IP mask of the IP Address."
	::= { wccpRestrictWebCacheTableEntry 5 }


wccpRestrictWebCacheRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The object is used by a management station to create
  or delete the row entry in wccpServiceTable following
  the RowStatus textual convention."
	::= { wccpRestrictWebCacheTableEntry 6 }

--
-- WCCP Port Restrictions
--

wccpRestrictPort OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 7 }

wccpRestrictPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF WccpRestrictPortTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table of WCCP Port filter. Indicates on which Ports redirection
	should not take place"
	::= { wccpRestrictPort 1 }

wccpRestrictPortTableEntry OBJECT-TYPE
	SYNTAX WccpRestrictPortTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A wccpRestrictPortTable entry describes the
	status of a Port restriction."
	INDEX { wccpRestrictPortServiceId,
 		wccpRestrictPortIndex	}
	::= { wccpRestrictPortTable 1 }

WccpRestrictPortTableEntry ::= SEQUENCE {
	wccpRestrictPortServiceId Integer32,
	wccpRestrictPortIndex InterfaceIndex,
	wccpRestrictPortRowStatus RowStatus
}

wccpRestrictPortServiceId OBJECT-TYPE
	SYNTAX Integer32 (0..255)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates WCCP's service id."
	::= { wccpRestrictPortTableEntry 1 }

wccpRestrictPortIndex OBJECT-TYPE
	SYNTAX InterfaceIndex
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates a Port for redirection restrictions."
	::= { wccpRestrictPortTableEntry 2 }

wccpRestrictPortRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The object is used by a management station to create
  or delete the row entry in wccpRestrictPortTable following
  the RowStatus textual convention."
	::= { wccpRestrictPortTableEntry 3 }


wccpStatistics OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 8 }

wccpStatisticsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF WccpStatisticsTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table of WCCP traffic related Statistics."
	::= { wccpStatistics 1 }

wccpStatisticsTableEntry  OBJECT-TYPE
	SYNTAX WccpStatisticsTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A wccpStatisticsTableEntry entry describes the
	WCCP traffic related statistics for a service Group"
	INDEX { wccpStatsServiceId }
	::= { wccpStatisticsTable 1 }

WccpStatisticsTableEntry ::= SEQUENCE {
	wccpStatsServiceId Integer32,
	wccpStatsMessagesReceived Counter32,
	wccpStatsMessagesTransmitted Counter32,
	wccpStatsMessagesDropped Counter32,
	wccpStatsPacketsRedir Counter32,
	wccpStatsPacketsLowRedir Counter32,
        wccpStatsPacketsDeniedRedir Counter32,
        wccpStatsAuthFailures Counter32,
	wccpStatsReset INTEGER
}

wccpStatsServiceId OBJECT-TYPE
	SYNTAX Integer32 (0..255)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This variable indicates WCCP's service id."
	::= { wccpStatisticsTableEntry 1 }

wccpStatsMessagesReceived OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the total no. of valid WCCP Messages Received
          by the Router for the service group."
	::= { wccpStatisticsTableEntry 2 }

wccpStatsMessagesTransmitted OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the total no. of valid WCCP Messages transmitted
         by the Router for the service group."
	::= { wccpStatisticsTableEntry 3 }

wccpStatsMessagesDropped OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the total no. of WCCP Messages dropped for
         the service group, as a result of the WCCP restrictions on Port/Vlan/Ip"
	::= { wccpStatisticsTableEntry 4 }

wccpStatsPacketsRedir OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the how many packet WCCP has
	 redirected."
	::= { wccpStatisticsTableEntry 5 }

wccpStatsPacketsLowRedir OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the how many packet WCCP has
	redirected - lower 32 bits."
	::= { wccpStatisticsTableEntry 6 }

wccpStatsPacketsDeniedRedir OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This variable indicates the how many packets WCCP
	has denied to redirect."
	::= { wccpStatisticsTableEntry 7 }

wccpStatsAuthFailures OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	" This variable indicates the count of how many WCCP
         packets resulted in authentication failure because of
         mismatch in the password used for the  Service on the
         Router and a Cache-Engine."
	::= { wccpStatisticsTableEntry 8 }

wccpStatsReset OBJECT-TYPE
	SYNTAX INTEGER
		{
			default(1),
			reset(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"The object is used by a management station to reset
          the wccpStatistics info from this table "
	::= { wccpStatisticsTableEntry 9 }

--
-- Web Cache Coordination Protocol Traps
--

    wccpTrapsObj OBJECT IDENTIFIER ::= { alcatelIND1WCCPMIBObjects 9 }

--
-- Traps description
--

-- Operational status changed

wccpTrapOperStatus         NOTIFICATION-TYPE
    OBJECTS {
      wccpTrapInfoEntityGroup,
      wccpTrapInfoOperStatus,
      wccpTrapInfoServiceId,
      wccpTrapInfoWebCacheIpAddr
    }
    STATUS  current
    DESCRIPTION
        "A change occured in the operational status of a wccp entity."
    ::= { alcatelIND1WCCPMIBNotifications 1 }

--
-- Trap objects
--

-- A Service ID
wccpTrapInfoServiceId         OBJECT-TYPE
    SYNTAX                    Integer32
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION               "The WCCP Service Id."
    ::= { wccpTrapsObj 1 }


-- The Operational Status of a service
wccpTrapInfoOperStatus  OBJECT-TYPE
    SYNTAX              WccpOperState
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION         "The operational status of wccp, service or			                    		         webcache."
    ::= { wccpTrapsObj 2 }

-- The IP addr of a web cache
wccpTrapInfoWebCacheIpAddr    OBJECT-TYPE
    SYNTAX                    IpAddress
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION               "The IP address of a Web Cache."
    ::= { wccpTrapsObj 3 }

-- The Managed entity sub-group
wccpTrapInfoEntityGroup       OBJECT-TYPE
    SYNTAX                    INTEGER {
                                wccp(1),
                                service(2),
                                webcache(3)
    			      }
    MAX-ACCESS             read-only
    STATUS                 current
    DESCRIPTION            "The entity group inside wccp management."
    ::= { wccpTrapsObj 4 }


--
-- COMPLIANCE
--

alcatelIND1WCCPMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "Compliance statement for WCCP."
    MODULE
        MANDATORY-GROUPS
        {
            wccpFeatureGroup,
            wccpServiceGroup,
            wccpWebCacheGroup,
            wccpRouterGroup,
            wccpRestrictVlanGroup,
            wccpRestrictWebCacheGroup,
            wccpRestrictPortGroup,
            wccpStatisticsGroup,
      	    wccpTrapsGroup
        }
    ::= { alcatelIND1WCCPMIBCompliances 1 }

--
-- UNITS OF CONFORMANCE
--

wccpFeatureGroup OBJECT-GROUP
   OBJECTS
   {
      wccpAdminEnabled,
      wccpServiceCount,
      wccpGlobalStatsMessageInvalid,
      wccpGlobalStatsReset
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of Web Cache Coordination"
   ::= { alcatelIND1WCCPMIBGroups 1 }

wccpServiceGroup OBJECT-GROUP
   OBJECTS
   {
			wccpServiceProtocol,
			wccpServiceMessageType,
                        wccpServicePortType,
			wccpServiceAdminEnabled,
			wccpServicePassword,
			wccpServiceType,
			wccpServiceVersion,
			wccpServiceWebCacheCount,
			wccpServiceReceiveId,
			wccpServiceChangeNumber,
                        wccpServicePrecedence,
			wccpServiceRowStatus,
			wccpServicePortPortNum
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of WCCP services"
   ::= { alcatelIND1WCCPMIBGroups 2 }

wccpWebCacheGroup OBJECT-GROUP
   OBJECTS
   {
                        wccpWebCacheProtoVersion,
		 	wccpWebCacheReceiveId,
			wccpWebCacheChangeNum,
			wccpWebCacheNumberOfRouters,
			wccpWebCacheNumberOfWebCaches,
			wccpWebCacheConnectTime ,
			wccpWebCacheState
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of WCCP Web Caches"
   ::= { alcatelIND1WCCPMIBGroups 3 }

wccpRouterGroup OBJECT-GROUP
   OBJECTS
   {
                        wccpRouterProtoVersion
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of WCCP Router"
   ::= { alcatelIND1WCCPMIBGroups 4 }

wccpRestrictVlanGroup OBJECT-GROUP
   OBJECTS
   {
		wccpRestrictVlanRowStatus
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of WCCP Web Caches"
   ::= { alcatelIND1WCCPMIBGroups 5 }

wccpRestrictWebCacheGroup OBJECT-GROUP
   OBJECTS
   {
		wccpRestrictWebCacheRowStatus
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of WCCP Web Caches"
   ::= { alcatelIND1WCCPMIBGroups 6 }

wccpRestrictPortGroup OBJECT-GROUP
   OBJECTS
   {
		wccpRestrictPortRowStatus
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of WCCP Web Caches"
   ::= { alcatelIND1WCCPMIBGroups 7 }

wccpStatisticsGroup OBJECT-GROUP
   OBJECTS
   {
	            wccpStatsMessagesReceived,
	            wccpStatsMessagesTransmitted,
	            wccpStatsMessagesDropped,
		    wccpStatsPacketsRedir,
		    wccpStatsPacketsLowRedir,
		    wccpStatsPacketsDeniedRedir,
		    wccpStatsAuthFailures,
		    wccpStatsReset
   }
   STATUS current
   DESCRIPTION
      "Collection of objects for management of WCCP SG's traffic statistics"
   ::= { alcatelIND1WCCPMIBGroups 8 }

wccpTrapsGroup NOTIFICATION-GROUP
   NOTIFICATIONS
   {
      wccpTrapOperStatus
   }
   STATUS current
   DESCRIPTION
      "Collection of traps for management of WCCP"
   ::= { alcatelIND1WCCPMIBGroups 9 }

wccpOperStatusGroup         OBJECT-GROUP
   OBJECTS {
        wccpTrapInfoEntityGroup,
        wccpTrapInfoOperStatus,
        wccpTrapInfoServiceId,
        wccpTrapInfoWebCacheIpAddr
    }
    STATUS  current
    DESCRIPTION
        "Collection of objects for WCCP OperStatus Notification."
    ::= { alcatelIND1WCCPMIBGroups 10 }
END


