SSPM-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY,
	OBJECT-TYPE,
	Counter32,
	Integer32,
	Unsigned32
		FROM SNMPv2-SMI		--[RFC2578]
	TEXTUAL-CONVENTION,
	StorageType,
	TruthValue,
	RowStatus
		FROM SNMPv2-TC		--[RFC2579]
	MODULE-COMPLIANCE,
	OBJECT-GROUP
		FROM SNMPv2-CONF		--[RFC2578,
-- RFC2579,
-- RFC2580]
	OwnerString,
	rmon
		FROM RMON-MIB		--[RFC2819]
	InetAddressType,
	InetAddress
		FROM INET-ADDRESS-MIB		--[RFC3291]
	InterfaceIndexOrZero
		FROM IF-MIB		--[RFC2863]
	AppLocalIndex
		FROM APM-MIB		--[RFC3729]
	Utf8String
		FROM SYSAPPL-MIB;

--[RFC2287]

sspmMIB MODULE-IDENTITY
	LAST-UPDATED "200507280000Z"	-- Jul 28, 2005 12:00:00 AM
	ORGANIZATION "IETF RMON MIB working group"
	CONTACT-INFO
		"Carl W. Kalbfleisch
		        Consultant

		E-mail: ietf@kalbfleisch.us

		Working group mailing list: rmonmib@ietf.org
		To subscribe send email to rmonmib-request@ietf.org"
	DESCRIPTION
		"This SSPM MIB module is applicable to probes
		implementing Synthetic Source for Performance
		Monitoring functions.

		Copyright (C) The Internet Society (2005).  This version
		of this MIB module is part of RFC 4149; see the RFC
		itself for full legal notices."
	REVISION "200507280000Z"	-- Jul 28, 2005 12:00:00 AM
	DESCRIPTION
		"The original version of this MIB module,
		was published as RFC4149."
	-- 1.3.6.1.2.1.16.28
	::= { rmon 28 }


--
-- Object Identifier Assignments
--

sspmMIBObjects OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.1
	::= { sspmMIB 1 }

sspmMIBNotifications OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.2
	::= { sspmMIB 2 }

sspmMIBConformance OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.3
	::= { sspmMIB 3 }

--
-- Textual Conventions
--

SspmMicroSeconds ::= TEXTUAL-CONVENTION
	DISPLAY-HINT "d"
	STATUS  current
	DESCRIPTION
		"A unit of time with resolution of MicroSeconds."
	SYNTAX Unsigned32


SspmClockSource ::= TEXTUAL-CONVENTION
	DISPLAY-HINT "d"
	STATUS  current
	DESCRIPTION
		"An indication of the source of the clock as defined by the
		NTP specification RFC1305 [RFC1305] definition of stratum:

		Stratum (sys.stratum, peer.stratum, pkt.stratum): This is
		an integer indicating the stratum of the local clock,
		with values defined as follows:

		0      unspecified

		1      primary reference (e.g., calibrated atomic clock,
		       radio clock)

		2-255  secondary reference (via NTP)."
	REFERENCE
		"RFC1305."
	SYNTAX Integer32 (0..255)


SspmClockMaxSkew ::= TEXTUAL-CONVENTION
	DISPLAY-HINT "d"
	STATUS  current
	DESCRIPTION
		"An indication of the accuracy of the clock as defined by
		RFC1305.  This variable indicates the maximum offset
		error due to skew of the local clock over the
		time interval 86400 seconds, in seconds."
	REFERENCE
		"RFC1305."
	SYNTAX Integer32 (1..65535)


--
-- sspmGeneral
--

sspmGeneral OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.1.1
	::= { sspmMIBObjects 1 }

sspmGeneralClockResolution OBJECT-TYPE
	SYNTAX  SspmMicroSeconds
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"A read-only variable indicating the resolution
		of the measurements possible by this device."
	-- 1.3.6.1.2.1.16.28.1.1.1
	::= { sspmGeneral 1 }


sspmGeneralClockMaxSkew OBJECT-TYPE
	SYNTAX  SspmClockMaxSkew
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"A read-only variable indicating the maximum offset
		error due to skew of the local clock over the
		time interval 86400 seconds, in seconds."
	-- 1.3.6.1.2.1.16.28.1.1.2
	::= { sspmGeneral 2 }


sspmGeneralClockSource OBJECT-TYPE
	SYNTAX  SspmClockSource
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"A read-only variable indicating the source of the clock.
		This is provided to allow a user to determine how accurate
		the timing mechanism is compared with other devices.  This
		is needed for the coordination of time values
		between probes for one-way measurements."
	-- 1.3.6.1.2.1.16.28.1.1.3
	::= { sspmGeneral 3 }


sspmGeneralMinFrequency OBJECT-TYPE
	SYNTAX  SspmMicroSeconds
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"A read-only variable that indicates the devices'
		capability for the minimum supported
		sspmSourceFrequency.  If sspmSourceFrequency is
		set to a value lower than the value reported
		by this attribute, then the set of sspmSourceFrequency
		will fail with an inconsistent value error."
	-- 1.3.6.1.2.1.16.28.1.1.4
	::= { sspmGeneral 4 }


--
-- sspmCapabilities
--
-- Describes the capabilities of the SSPM device.
--

sspmCapabilitiesTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SspmCapabilitiesEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The table of SSPM capabilities."
	-- 1.3.6.1.2.1.16.28.1.1.5
	::= { sspmGeneral 5 }


sspmCapabilitiesEntry OBJECT-TYPE
	SYNTAX  SspmCapabilitiesEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"Details about a particular SSPM capability."
	INDEX {
		sspmCapabilitiesInstance }
	-- 1.3.6.1.2.1.16.28.1.1.5.1
	::= { sspmCapabilitiesTable 1 }


SspmCapabilitiesEntry ::= SEQUENCE {

	sspmCapabilitiesInstance AppLocalIndex }


sspmCapabilitiesInstance OBJECT-TYPE
	SYNTAX  AppLocalIndex
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Indicates whether SSPM configuration of the corresponding
		AppLocalIndex is supported by this device.  Generally,
		entries in this table are only made by the device when the
		configuration of the measurement is available."
	-- 1.3.6.1.2.1.16.28.1.1.5.1.1
	::= { sspmCapabilitiesEntry 1 }


--
-- sspmSource
--
-- Contains the details of the source of the
-- Synthetic Sources for Performance Monitoring algorithms.
-- This information is split into two tables.  The first defines
-- profiles that can be applied to specific sources in the
-- control table.
--

sspmSource OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.1.2
	::= { sspmMIBObjects 2 }

--
-- sspmSourceProfileTable
-- Defines template profiles for measurements.
--

sspmSourceProfileTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SspmSourceProfileEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The table of SSPM Source Profiles configured."
	-- 1.3.6.1.2.1.16.28.1.2.1
	::= { sspmSource 1 }


sspmSourceProfileEntry OBJECT-TYPE
	SYNTAX  SspmSourceProfileEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"Details about a particular SSPM Source Profile
		configuration.  Entries must exist in this table
		in order to be referenced by rows in the
		sspmSourceControlTable."
	INDEX {
		sspmSourceProfileInstance }
	-- 1.3.6.1.2.1.16.28.1.2.1.1
	::= { sspmSourceProfileTable 1 }


SspmSourceProfileEntry ::= SEQUENCE {

	sspmSourceProfileInstance        Unsigned32,
	sspmSourceProfileType            AppLocalIndex,
	sspmSourceProfilePacketSize      Unsigned32,
	sspmSourceProfilePacketFillType  INTEGER,
	sspmSourceProfilePacketFillValue OCTET STRING,
	sspmSourceProfileTOS             Integer32,
	sspmSourceProfileFlowLabel       Integer32,
	sspmSourceProfileLooseSrcRteFill OCTET STRING,
	sspmSourceProfileLooseSrcRteLen  Integer32,
	sspmSourceProfileTTL             Integer32,
	sspmSourceProfileNoFrag          TruthValue,
	sspmSourceProfile8021Tagging     Integer32,
	sspmSourceProfileUsername        Utf8String,
	sspmSourceProfilePassword        Utf8String,
	sspmSourceProfileParameter       OCTET STRING,
	sspmSourceProfileOwner           OwnerString,
	sspmSourceProfileStorageType     StorageType,
	sspmSourceProfileStatus          RowStatus }


sspmSourceProfileInstance OBJECT-TYPE
	SYNTAX  Unsigned32 (1..65535)
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An arbitrary index."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.1
	::= { sspmSourceProfileEntry 1 }


sspmSourceProfileType OBJECT-TYPE
	SYNTAX  AppLocalIndex
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The AppLocalIndex value that uniquely identifies the
		measurement per the APM-MIB.  In order to create a row
		in this table, there must be a corresponding row in the
		sspmCapabilitiesTable.

		When attempting to set this object, if no
		corresponding row exists in the sspmCapabilitiesTable,
		then the agent should return a 'badValue' error."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.2
	::= { sspmSourceProfileEntry 2 }


sspmSourceProfilePacketSize OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The size of packet to be transmitted in bytes.  The
		size accounts for all data within the IPv4 or IPv6
		payloads, excluding the IP headers, IP header options
		and link-level protocol headers.

		If the size is set smaller than the minimum allowed
		packet size or greater than the maximum allowed
		packet size, then the set should fail, and the agent
		should return a 'badValue' error."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.3
	::= { sspmSourceProfileEntry 3 }


sspmSourceProfilePacketFillType OBJECT-TYPE
	SYNTAX  INTEGER {
			random(1),
			pattern(2),
			url(3) }
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Indicates how the packet is filled.

		'random' indicates that the packet contains random
		data patterns.  This is probe and implementation
		dependent.






		'pattern' indicates that the pattern defined in the
		sspmSourceProfilePacketFillValue attribute is used to
		fill the packet.

		'url' indicates that the value of
		sspmSourceProfilePacketFillValue should
		contain a URL.  The contents of the document
		at that URL are retrieved when sspmSourceStatus becomes
		active and utilized in the packet.  If the attempt to
		access that URL fails, then the row status is set to
		'notReady', and the set should fail with
		'inconsistentValue'.  This value must contain a
		dereferencable URL of the type 'http:', 'https:', or
		'ftp:' only."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.4
	::= { sspmSourceProfileEntry 4 }


sspmSourceProfilePacketFillValue OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (0..255))
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The string value with which to fill the packet.  If
		sspmSourceProfilePacketFillType is set to 'pattern',
		then this pattern is repeated until the packet is
		sspmSourcePacketSize in bytes.  Note that if the
		length of the octet string specified for this
		value does not divide evenly into the packet
		size, then an incomplete last copy of this data
		may be copied into the packet.  If the value of
		sspmSourceProfilePacketFillType is set to 'random', then
		this attribute is unused.  If the value of the
		sspmSourceProfilePacketFillType is set to 'url', then
		the URL specified in this attribute is retrieved
		and used by the probe.  In the case of a URL, this value
		must contain a dereferencable URL of the type
		'http:', 'https:', or 'ftp:' only."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.5
	::= { sspmSourceProfileEntry 5 }


sspmSourceProfileTOS OBJECT-TYPE
	SYNTAX  Integer32 (0..255)
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Represents the TOS field in the IP packet header.  The
		value of this object defaults to zero if not set."
	DEFVAL { 0 }
	-- 1.3.6.1.2.1.16.28.1.2.1.1.6
	::= { sspmSourceProfileEntry 6 }


sspmSourceProfileFlowLabel OBJECT-TYPE
	SYNTAX  Integer32 (0..1048575)
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"This object is used to specify the Flow Label in a IPv6
		packet (RFC 2460) to force special handling by the IPv6
		routers; e.g., non-default quality-of-service handling.

		This object is meaningful only when the object
		sspmSourceDestAddressType is IPv6(2).
		The value of this object defaults to zero if not set."
	DEFVAL { 0 }
	-- 1.3.6.1.2.1.16.28.1.2.1.1.7
	::= { sspmSourceProfileEntry 7 }


sspmSourceProfileLooseSrcRteFill OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (0..240))
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"In the event that the test should run over a
		specific route, the intent is to force the route using the
		Loose Source Route option in IPv4 [RFC791] and
		IPv6 [RFC2460].  This object contains a
		series of IP addresses along the path that would be
		put into the loose source route option in the IP header.

		The IPv4 addresses are to be listed as 32-bit
		address values, and the IPv6 addresses are to be
		listed as a string of 128-bit addresses.  The
		maximum length allowed within the IPv4 source route
		option is 63 addresses.  To simply account for
		IPv6 addresses as well, the maximum length of the
		octet string is 240.  This allows up to 60
		IPv4 addresses or up to 15 IPv6 addresses in the
		string."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.8
	::= { sspmSourceProfileEntry 8 }


sspmSourceProfileLooseSrcRteLen OBJECT-TYPE
	SYNTAX  Integer32 (0..240)
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"In the event that the test should run over a
		specific route, the intent is to force the route.
		This attribute specifies the length of data to
		be copied from the sspmSourceProfileLooseSrcRteFill
		into the route data fields of the loose source route





		options in the IPv4 or IPv6 headers."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.9
	::= { sspmSourceProfileEntry 9 }


sspmSourceProfileTTL OBJECT-TYPE
	SYNTAX  Integer32 (1..255)
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"If non-zero, this specifies the value to place into
		the TTL field on transmission."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.10
	::= { sspmSourceProfileEntry 10 }


sspmSourceProfileNoFrag OBJECT-TYPE
	SYNTAX  TruthValue
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"When true, the 'Don't Fragment Bit' should be set
		on the packet header."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.11
	::= { sspmSourceProfileEntry 11 }


sspmSourceProfile8021Tagging OBJECT-TYPE
	SYNTAX  Integer32 (-1..65535)
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"IEEE 802.1Q tagging used in IEEE 802.1D bridged
		environments.

		A value of -1 indicates that the packets are untagged.

		A value of 0 to 65535 is the value of the tag to be
		inserted in the tagged packets.

		Note that according to IEEE 802.1Q, VLAN-ID tags with
		a value of 4095 shall not be transmitted on the wire.
		As the VLAN-ID is encoded in the 12 least significant
		bits on the tag, values that translate in a binary
		representation of all 1's in the last 12 bits
		SHALL NOT be configured.  In this case, the set should
		fail, and return an error-status of 'inconsistentValue'."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.12
	::= { sspmSourceProfileEntry 12 }


sspmSourceProfileUsername OBJECT-TYPE
	SYNTAX  Utf8String
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"An optional username used by the application protocol."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.13
	::= { sspmSourceProfileEntry 13 }


sspmSourceProfilePassword OBJECT-TYPE
	SYNTAX  Utf8String
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"An optional password used by the application protocol."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.14
	::= { sspmSourceProfileEntry 14 }


sspmSourceProfileParameter OBJECT-TYPE
	SYNTAX  OCTET STRING (SIZE (0..65535))
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"An optional parameter used by the application protocol.
		For DNS, this would be the hostname or IP.  For HTTP,
		this would be the URL.  For nntp, this would be the
		news group.  For TCP, this would be the port number.
		For SMTP, this would be the recipient (and could
		assume the message is predefined)."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.15
	::= { sspmSourceProfileEntry 15 }


sspmSourceProfileOwner OBJECT-TYPE
	SYNTAX  OwnerString
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Name of the management station/application that
		set up the profile."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.16
	::= { sspmSourceProfileEntry 16 }


sspmSourceProfileStorageType OBJECT-TYPE
	SYNTAX  StorageType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The storage type of this sspmSourceProfileEntry.  If the
		value of this object is 'permanent', no objects in this row
		need to be writable."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.17
	::= { sspmSourceProfileEntry 17 }


sspmSourceProfileStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Status of this profile.

		An entry may not exist in the active state unless all
		objects in the entry have an appropriate value.

		Once this object is set to active(1), no objects in the
		sspmSourceProfileTable can be changed."
	-- 1.3.6.1.2.1.16.28.1.2.1.1.18
	::= { sspmSourceProfileEntry 18 }


--
-- sspmSourceControlTable
-- Defines specific measurement instances based on template
-- profiles in the sspmSourceProfileTable which must be
-- pre-configured.
--

sspmSourceControlTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SspmSourceControlEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The table of SSPM measurements configured."
	-- 1.3.6.1.2.1.16.28.1.2.2
	::= { sspmSource 2 }


sspmSourceControlEntry OBJECT-TYPE
	SYNTAX  SspmSourceControlEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"Details about a particular SSPM configuration."
	INDEX {
		sspmSourceControlInstance }
	-- 1.3.6.1.2.1.16.28.1.2.2.1
	::= { sspmSourceControlTable 1 }


SspmSourceControlEntry ::= SEQUENCE {

	sspmSourceControlInstance     Unsigned32,
	sspmSourceControlProfile      Integer32,
	sspmSourceControlSrc          InterfaceIndexOrZero,
	sspmSourceControlDestAddrType InetAddressType,
	sspmSourceControlDestAddr     InetAddress,
	sspmSourceControlEnabled      TruthValue,
	sspmSourceControlTimeOut      SspmMicroSeconds,
	sspmSourceControlSamplingDist INTEGER,
	sspmSourceControlFrequency    SspmMicroSeconds,
	sspmSourceControlFirstSeqNum  Unsigned32,
	sspmSourceControlLastSeqNum   Unsigned32,
	sspmSourceControlOwner        OwnerString,
	sspmSourceControlStorageType  StorageType,
	sspmSourceControlStatus       RowStatus }


sspmSourceControlInstance OBJECT-TYPE
	SYNTAX  Unsigned32 (1..65535)
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An arbitrary index."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.1
	::= { sspmSourceControlEntry 1 }


sspmSourceControlProfile OBJECT-TYPE
	SYNTAX  Integer32 (1..65535)
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"A pointer to the profile (sspmSourceProfileEntry) that
		this control entry uses to define the test being
		performed."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.2
	::= { sspmSourceControlEntry 2 }


sspmSourceControlSrc OBJECT-TYPE
	SYNTAX  InterfaceIndexOrZero
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The ifIndex where the packet should originate from the
		probe (if it matters).  A value of zero indicates that
		it does not matter and that the device decides."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.3
	::= { sspmSourceControlEntry 3 }


sspmSourceControlDestAddrType OBJECT-TYPE
	SYNTAX  InetAddressType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The type of Internet address by which the destination
		is accessed."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.4
	::= { sspmSourceControlEntry 4 }


sspmSourceControlDestAddr OBJECT-TYPE
	SYNTAX  InetAddress
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The Internet address for the destination.  The formatting
		of this object is controlled by the
		sspmSourceControlDestAddrType object above.






		When this object contains a DNS name, then the name is
		resolved to an address each time measurement is to be made.
		Further, the agent should not cache this address,
		but instead should perform the resolution prior to each
		measurement."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.5
	::= { sspmSourceControlEntry 5 }


sspmSourceControlEnabled OBJECT-TYPE
	SYNTAX  TruthValue
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"When set to 'true', this test is enabled.  When set to
		'false', it is disabled."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.6
	::= { sspmSourceControlEntry 6 }


sspmSourceControlTimeOut OBJECT-TYPE
	SYNTAX  SspmMicroSeconds
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Timeout value for the measurement response.  If no
		response is received in the time specified, then
		the test fails."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.7
	::= { sspmSourceControlEntry 7 }


sspmSourceControlSamplingDist OBJECT-TYPE
	SYNTAX  INTEGER {
			deterministic(1),
			poisson(2) }
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"When this attribute is set to 'deterministic', then
		packets are generated at with a fixed inter-packet
		injection time specified by sspmSourceFrequency.

		When this attribute is set to 'Poisson', then packets
		are generated with inter-packet injection times sampled
		from an exponential distribution with the single
		distributional parameter determined by the inverse
		frequency)."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.8
	::= { sspmSourceControlEntry 8 }


sspmSourceControlFrequency OBJECT-TYPE
	SYNTAX  SspmMicroSeconds
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The inverse of this value is the rate at which packets
		are generated.  Refer to sspmSourceSamplingDistribution.
		If the value set is less than the value of
		sspmGeneralMinFrequency, then the set will fail with an
		error-status of 'inconsistentValue'."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.9
	::= { sspmSourceControlEntry 9 }


sspmSourceControlFirstSeqNum OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The first sequence number of packets to be transmitted."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.10
	::= { sspmSourceControlEntry 10 }


sspmSourceControlLastSeqNum OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The last sequence number transmitted.  This value is updated
		by the agent after packet generation."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.11
	::= { sspmSourceControlEntry 11 }


sspmSourceControlOwner OBJECT-TYPE
	SYNTAX  OwnerString
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Name of the management station/application that set
		up the test."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.12
	::= { sspmSourceControlEntry 12 }


sspmSourceControlStorageType OBJECT-TYPE
	SYNTAX  StorageType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The storage type of this sspmSourceControlEntry.  If the
		value of this object is 'permanent', no objects in this row
		need to be writable."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.13
	::= { sspmSourceControlEntry 13 }


sspmSourceControlStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Status of this source control entry.

		An entry may not exist in the active state unless all
		objects in the entry have an appropriate value.

		When this attribute has the value of
		'active', none of the read-write or read-create attributes
		in this table may be modified, with the exception of
		sspmSourceControlEnabled."
	-- 1.3.6.1.2.1.16.28.1.2.2.1.14
	::= { sspmSourceControlEntry 14 }


--
-- sspmSinkTable
--
-- Contains attributes for configuration of Synthetic
-- Sources for Performance Monitoring sinks, i.e.,
-- sinks for receipt of one-way delay measurements.
--

sspmSink OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.1.5
	::= { sspmMIBObjects 5 }

sspmSinkTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SspmSinkEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"A table configuring the sink for measurements."
	-- 1.3.6.1.2.1.16.28.1.5.1
	::= { sspmSink 1 }


sspmSinkEntry OBJECT-TYPE
	SYNTAX  SspmSinkEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"The details of a particular sink entry.  If the measurement
		is a round-trip type, then the sink entry will be on the
		same probe as the corresponding sspmSourceEntry.  If the
		measurement is a one-way, type then the sink entry will be
		on a different probe."
	INDEX {
		sspmSinkInstance }
	-- 1.3.6.1.2.1.16.28.1.5.1.1
	::= { sspmSinkTable 1 }


SspmSinkEntry ::= SEQUENCE {

	sspmSinkInstance                 Unsigned32,
	sspmSinkType                     AppLocalIndex,
	sspmSinkSourceAddressType        InetAddressType,
	sspmSinkSourceAddress            InetAddress,
	sspmSinkExpectedRate             SspmMicroSeconds,
	sspmSinkEnable                   TruthValue,
	sspmSinkExpectedFirstSequenceNum Unsigned32,
	sspmSinkLastSequenceNumber       Unsigned32,
	sspmSinkLastSequenceInvalid      Counter32,
	sspmSinkStorageType              StorageType,
	sspmSinkStatus                   RowStatus }


sspmSinkInstance OBJECT-TYPE
	SYNTAX  Unsigned32 (1..65535)
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An index.  When the measurement is for a round-trip
		measurement, then this table entry is on the same probe as
		the corresponding sspmSourceEntry, and the value of this
		attribute should correspond to the value of
		sspmSourceInstance.  Management applications configuring
		sinks for one-way measurements could define some
		scheme whereby the sspmSinkInstance is unique across
		all probes.  Note that the unique key to this entry is
		also constructed with sspmSinkType,
		sspmSinkSourceAddressType, and sspmSinkSourceAddress.
		To make the implementation simpler, those other
		attributes are not included in the index but uniqueness
		is still needed to receive all the packets."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.1
	::= { sspmSinkEntry 1 }


sspmSinkType OBJECT-TYPE
	SYNTAX  AppLocalIndex
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The AppLocalIndex value that uniquely identifies the
		measurement per the APM-MIB.  In order to create a row
		in this table, there must be a corresponding row in the
		sspmCapabilitiesTable.  If there is no corresponding
		row in the sspmCapabilitiestable, then the agent will
		return an error-status of 'inconsistentValue'."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.2
	::= { sspmSinkEntry 2 }


sspmSinkSourceAddressType OBJECT-TYPE
	SYNTAX  InetAddressType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The type of Internet address of the source."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.3
	::= { sspmSinkEntry 3 }


sspmSinkSourceAddress OBJECT-TYPE
	SYNTAX  InetAddress
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The Internet address of the source.  The formatting
		of this object is controlled by the sspmSinkSourceAddressType
		object above.

		This object should be set only to a valid device address
		that has been administratively configured into the
		device.  If a set attempts to set this object to an
		address that does not belong (i.e., is not administratively
		configured into the device), the set should fail, and the
		agent should return a error-status of 'inconsistentValue'."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.4
	::= { sspmSinkEntry 4 }


sspmSinkExpectedRate OBJECT-TYPE
	SYNTAX  SspmMicroSeconds
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The expected rate at which packets will arrive."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.5
	::= { sspmSinkEntry 5 }


sspmSinkEnable OBJECT-TYPE
	SYNTAX  TruthValue
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Indicates if the sink is enabled or not."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.6
	::= { sspmSinkEntry 6 }


sspmSinkExpectedFirstSequenceNum OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The expected first sequence number of packets.
		This is used by the sink to determine if packets
		were lost at the initiation of the test."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.7
	::= { sspmSinkEntry 7 }


sspmSinkLastSequenceNumber OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The last sequence number received."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.8
	::= { sspmSinkEntry 8 }


sspmSinkLastSequenceInvalid OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The number of packets that arrived whose
		sequence number was not one plus the value of
		sspmSinkLastSequenceNumber."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.9
	::= { sspmSinkEntry 9 }


sspmSinkStorageType OBJECT-TYPE
	SYNTAX  StorageType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The storage type of this sspmSinkEntry.  If the value
		of this object is 'permanent', no objects in this row
		need to be writable."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.10
	::= { sspmSinkEntry 10 }


sspmSinkStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"Status of this conceptual row.
		An entry may not exist in the active state unless all
		objects in the entry have an appropriate value.

		Once this object is set to active(1), no objects with
		MAX-ACCESS of read-create in the sspmSinkTable can
		be changed."
	-- 1.3.6.1.2.1.16.28.1.5.1.1.11
	::= { sspmSinkEntry 11 }


--
-- Notifications
--
--
-- Conformance information
--

sspmCompliances OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.3.1
	::= { sspmMIBConformance 1 }

sspmGroups OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.16.28.3.2
	::= { sspmMIBConformance 2 }


-- Compliance Statements

sspmGeneralCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"A general compliance that allows all things to be optional."

	MODULE 
	MANDATORY-GROUPS {
			sspmGeneralGroup }

	GROUP sspmSourceGroup
	  DESCRIPTION
		"The SSPM Source Group is optional."
	GROUP sspmSinkGroup
	  DESCRIPTION
		"The SSPM Sink Group is optional."
	GROUP sspmUserPassGroup
	  DESCRIPTION
		"The SSPM User Pass Group is optional."
	-- 1.3.6.1.2.1.16.28.3.1.1
	::= { sspmCompliances 1 }


--
-- SSPM Source Compliance
--

sspmSourceFullCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"A source compliance.  Use this compliance when implementing
		a traffic-source-only device.  This is useful for implementing
		devices that probe other devices for intrusive application
		monitoring.  It is also useful for implementing the source
		of one-way tests used with a sink-only device."

	MODULE 
	MANDATORY-GROUPS {
			sspmGeneralGroup,
			sspmSourceGroup }

	GROUP sspmUserPassGroup
	  DESCRIPTION
		"The SSPM User Pass Group is optional."
	-- 1.3.6.1.2.1.16.28.3.1.2
	::= { sspmCompliances 2 }


--
-- SSPM Sink Compliance
--

sspmSinkFullCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"A sink-only compliance.  Use this compliance when implementing a
		sink-only device.  This is useful for devices to receive one-way
		measurements."

	MODULE 
	MANDATORY-GROUPS {
			sspmGeneralGroup,
			sspmSinkGroup }

	-- 1.3.6.1.2.1.16.28.3.1.3
	::= { sspmCompliances 3 }

--
-- Groups
--

sspmGeneralGroup OBJECT-GROUP
	OBJECTS {
		sspmGeneralClockResolution,
		sspmGeneralClockMaxSkew,
		sspmGeneralClockSource,
		sspmGeneralMinFrequency,
		sspmCapabilitiesInstance }
	STATUS  current
	DESCRIPTION
		"The objects in the SSPM General Group."
	-- 1.3.6.1.2.1.16.28.3.2.1
	::= { sspmGroups 1 }

sspmSourceGroup OBJECT-GROUP
	OBJECTS {
		sspmSourceProfileType,
		sspmSourceProfilePacketSize,
		sspmSourceProfilePacketFillType,
		sspmSourceProfilePacketFillValue,
		sspmSourceProfileTOS,
		sspmSourceProfileFlowLabel,
		sspmSourceProfileLooseSrcRteFill,
		sspmSourceProfileLooseSrcRteLen,
		sspmSourceProfileTTL,
		sspmSourceProfileNoFrag,
		sspmSourceProfile8021Tagging,
		sspmSourceProfileUsername,
		sspmSourceProfilePassword,
		sspmSourceProfileParameter,
		sspmSourceProfileOwner,
		sspmSourceProfileStorageType,
		sspmSourceProfileStatus,
		sspmSourceControlProfile,
		sspmSourceControlSrc,
		sspmSourceControlDestAddrType,
		sspmSourceControlDestAddr,
		sspmSourceControlEnabled,
		sspmSourceControlTimeOut,
		sspmSourceControlSamplingDist,
		sspmSourceControlFrequency,
		sspmSourceControlFirstSeqNum,
		sspmSourceControlLastSeqNum,
		sspmSourceControlOwner,
		sspmSourceControlStorageType,
		sspmSourceControlStatus }
	STATUS  current
	DESCRIPTION
		"The objects in the SSPM Source Group."
	-- 1.3.6.1.2.1.16.28.3.2.2
	::= { sspmGroups 2 }

sspmUserPassGroup OBJECT-GROUP
	OBJECTS {
		sspmSourceProfileUsername,
		sspmSourceProfilePassword }
	STATUS  current
	DESCRIPTION
		"The objects in the SSPM Username and password group."
	-- 1.3.6.1.2.1.16.28.3.2.3
	::= { sspmGroups 3 }

sspmSinkGroup OBJECT-GROUP
	OBJECTS {
		sspmSinkType,
		sspmSinkSourceAddressType,
		sspmSinkSourceAddress,
		sspmSinkExpectedRate,
		sspmSinkEnable,
		sspmSinkExpectedFirstSequenceNum,
		sspmSinkLastSequenceNumber,
		sspmSinkLastSequenceInvalid,
		sspmSinkStorageType,
		sspmSinkStatus }
	STATUS  current
	DESCRIPTION
		"The objects in the SSPM Sink Group."
	-- 1.3.6.1.2.1.16.28.3.2.4
	::= { sspmGroups 4 }

END
