LLDP-EXT-PNO-MIB DEFINITIONS ::= BEGIN

IMPORTS             
	SnmpAdminString					FROM SNMP-FRAMEWORK-MIB
	Unsigned32,
    MODULE-IDENTITY,
    OBJECT-TYPE						FROM SNMPv2-SMI
	DisplayString,
    TruthValue						FROM SNMPv2-TC
    MODULE-COMPLIANCE,
    OBJECT-GROUP					FROM SNMPv2-CONF
    lldpExtensions,
	lldpRemTimeMark,
	lldpRemLocalPortNum,
	lldpRemIndex,                      
	lldpPortConfigEntry,
    lldpLocPortNum 					FROM LLDP-MIB;

lldpXPnoMIB							MODULE-IDENTITY
LAST-UPDATED "200603090000Z" -- March 9, 2006
ORGANIZATION "PROFIBUS International (PNO)"
CONTACT-INFO "
				URL: http://www.profibus.com
				email: info@profibus.com
				Postal: Haid-und-Neu-Strasse 7
				D-76131 Karlsruhe
				Tel: ++49 721 9658 - 590
			"
DESCRIPTION "
				The LLDP Management Information Base extension module
				for PROFINET organizationally defined discovery	information.
				Copyright (C) PROFIBUS Nutzerorganisation e.V. (2005).
			"
REVISION "200603090000Z" -- March 9, 2006
DESCRIPTION "MRRT status added"
REVISION "200602280000Z" -- February 28, 2006
DESCRIPTION "
				added MRP UUID information, port status values and
				naming of tables changed
			"
REVISION "200508310000Z" -- August 31, 2005
DESCRIPTION "added RT port status"
REVISION "200505300000Z" -- May 30, 2005
DESCRIPTION "initial version"

-- OUI for PNO 3791 (00-0E-CF) 
   ::= { lldpExtensions 3791 }

------------------------------------------------------------------------------
--
-- Organizationally Defined Information Extension - PNO
--
------------------------------------------------------------------------------

lldpXPnoObjects						OBJECT IDENTIFIER ::= { lldpXPnoMIB 1 }

-- LLDP PNO extension MIB groups
lldpXPnoConfig						OBJECT IDENTIFIER ::= { lldpXPnoObjects 1 }
lldpXPnoLocalData					OBJECT IDENTIFIER ::= { lldpXPnoObjects 2 }
lldpXPnoRemoteData					OBJECT IDENTIFIER ::= { lldpXPnoObjects 3 }

------------------------------------------------------------------------------
-- PNO - Configuration
------------------------------------------------------------------------------
lldpXPnoConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF LldpXPnoConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "
				A table that controls selection of LLDP
				TLVs to be transmitted on individual ports.
			"
::= { lldpXPnoConfig 1 }

lldpXPnoConfigEntry OBJECT-TYPE
SYNTAX LldpXPnoConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "
				LLDP configuration information that controls the
				transmission of PNO organizationally defined TLVs
				on LLDP transmission capable ports.
				This configuration object augments the
				lldpPortConfigEntry of the LLDP-MIB, therefore it
				is only present along with the port configuration
				defined by the associated lldpPortConfigEntry
				entry.
				Each active lldpXPnoConfigEntry must be restored
				from non-volatile storage (along with the
				corresponding
				lldpPortConfigEntry) after a re-initialization of
				the management system.
			"
AUGMENTS { lldpPortConfigEntry}
::= { lldpXPnoConfigTable 1 }

LldpXPnoConfigEntry ::= SEQUENCE {
lldpXPnoConfigSPDTxEnable TruthValue,
lldpXPnoConfigPortStatusTxEnable TruthValue,
lldpXPnoConfigAliasTxEnable TruthValue,
lldpXPnoConfigMrpTxEnable TruthValue
}
lldpXPnoConfigSPDTxEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION "
				The lldpXPnoConfigSPDTxEnable, which is defined as
				a truth value and configured by the network
				management,
				determines whether the PNO organizationally defined
				signal propagation delay TLV transmission is
				allowed on a given LLDP transmission capable port.
				The signal propagation delay is composed of the
				port transmission delay, the port receiving delay and
				the line delay. These values can't be transmitted
				independently of each other.
				The value of this object must be restored from nonvolatile
				storage after a re-initialization of the management
				system.
			"
DEFVAL { true }
::= { lldpXPnoConfigEntry 1 }

lldpXPnoConfigPortStatusTxEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION "
				The lldpXPnoConfigPortStatusTxEnable, which is
				defined as a truth value and configured by the network
				management,	determines whether the PNO organizationally 
				defined	RT port status TLV transmission is allowed on a
				given LLDP transmission capable port.
				The value of this object must be restored from nonvolatile
				storage after a re-initialization of the management
				system.
			"
DEFVAL { true }
::= { lldpXPnoConfigEntry 2 }

lldpXPnoConfigAliasTxEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION "
				The lldpXPnoConfigAliasTxEnable, which is defined
				as a truth value and configured by the network
				management, determines whether the PNO organizationally 
				defined alias TLV (chassisId) transmission is allowed on a
				given LLDP transmission capable port.
				The value of this object must be restored from nonvolatile
				storage after a re-initialization of the management
				system.
"
DEFVAL { false }
::= { lldpXPnoConfigEntry 3 }

lldpXPnoConfigMrpTxEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION "
				The lldpXPnoConfigMrpTxEnable, which is defined as
				a truth value and configured by the network
				management, determines whether the PNO organizationally 
				defined MRP TLV transmission is allowed on a given
				LLDP transmission capable port.
				The value of this object must be restored from nonvolatile
				storage after a re-initialization of the management	system.
			"
DEFVAL { true }
::= { lldpXPnoConfigEntry 4 }

------------------------------------------------------------------------------
-- PNO - Local System Information
------------------------------------------------------------------------------           
lldpXPnoLocTable OBJECT-TYPE
SYNTAX SEQUENCE OF LldpXPnoLocEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "
				This table contains one row per port for PNO
				organizationally defined LLDP extension on the
				local system known to this agent.
			"
::= { lldpXPnoLocalData 1 }
lldpXPnoLocEntry OBJECT-TYPE
SYNTAX LldpXPnoLocEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "
				Additional information about a particular port
				component.
				This object is indexed by the lldpLocPortNum
				of the LLDP-MIB, therefore it is only present
				along with the port entry defined by the
				associated lldpLocPortEntry entry.
				Each active lldpXPnoLocEntry must be restored
				from non-volatile storage (along with the
				corresponding lldpLocPortEntry) after a
				re-initialization of the management system.
			"
INDEX { lldpLocPortNum }
::= { lldpXPnoLocTable 1 }

LldpXPnoLocEntry ::= SEQUENCE {
lldpXPnoLocLPDValue Unsigned32,
lldpXPnoLocPortTxDValue Unsigned32,
lldpXPnoLocPortRxDValue Unsigned32,
lldpXPnoLocPortStatusRT2 INTEGER,
lldpXPnoLocPortStatusRT3 INTEGER,
lldpXPnoLocPortNoS DisplayString,
lldpXPnoLocPortMrpUuId OCTET STRING,
lldpXPnoLocPortMrrtStatus INTEGER
}

lldpXPnoLocLPDValue OBJECT-TYPE
SYNTAX Unsigned32
UNITS "ns"
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This integer value represents the line propagation
				delay in nanoseconds which was measured by the
				local system on the corresponding port.
				A value of zero shall be used if the system either
				could not accomplish the measurement or does not
				support such a measurement.
"
DEFVAL { 0 }
::= { lldpXPnoLocEntry 1 }

lldpXPnoLocPortTxDValue OBJECT-TYPE
SYNTAX Unsigned32
UNITS "ns"
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This integer value represents the PortTxDelay
				in nanoseconds which was measured by the local
				system on the corresponding port.
				A value of zero shall be used if the system either
				could not accomplish the measurement or does not
				support such a measurement.
			"
DEFVAL { 0 }
::= { lldpXPnoLocEntry 2 }

lldpXPnoLocPortRxDValue OBJECT-TYPE
SYNTAX Unsigned32
UNITS "ns"
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
This integer value represents the PortRxDelay
in nanoseconds which was measured by the local
system on the corresponding port.
A value of zero shall be used if the system either
could not accomplish the measurement or does not
support such a measurement.
"
DEFVAL { 0 }
::= { lldpXPnoLocEntry 3 }

lldpXPnoLocPortStatusRT2 OBJECT-TYPE
SYNTAX INTEGER {
off(0),
configured(1),
running(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This value represents the status of the 
				corresponding port of the local system according to RT class 2.
				A value of off(0) means that there isn't any RT2
				capability available for this port. When the port
				is configured for RT2 mode, but the mode isn't active
				yet the value will be configured(1). If the RT2 mode is
				configured for this port and the mode is active,
				the value will be running(2).
			"
::= { lldpXPnoLocEntry 4 }

lldpXPnoLocPortStatusRT3 OBJECT-TYPE
SYNTAX INTEGER {
off(0),
configured(1),
up(2),
down(3),
running(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This value represents the status of the	corresponding
				port of the local system according to RT class 3.
				A value of off(0) means that there isn't any RT3
				capability available for this port. When the port
				is configured for RT3 mode, but the mode isn't active
				yet the value will be configured(1).
				When the port is ready for transmission and
				reception of RT3 traffic, the port status will be running(4).
"
::= { lldpXPnoLocEntry 5 }

lldpXPnoLocPortNoS OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				The local PROFINET NameofStation. If the station
				isn't configured yet, the value of this object will be
				the MAC address of the device as a string.
			"
::= { lldpXPnoLocEntry 6 }

lldpXPnoLocPortMrpUuId OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				The UUID of the MRP domain to which this port
				belongs to. 
				If the port doesn't belong to a MRP domain, the
				value must be NIL ('0000000000000000').
			"
::= { lldpXPnoLocEntry 7 }

lldpXPnoLocPortMrrtStatus OBJECT-TYPE
SYNTAX INTEGER {
off(0),
configured(1),
up(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This object reports the status of the MRRT entity
				of the corresponding port.
				A value of off(0) means that there isn't any MRRT
				capability available for this port or it is
				switched off.
				The value configured(1) indicates that MRRT is
				configured for the port. 
				When MRRT is active on the port, the value will be up(2).
			"
::= { lldpXPnoLocEntry 8 }

------------------------------------------------------------------------------
-- PNO - Remote System Information
------------------------------------------------------------------------------
lldpXPnoRemTable OBJECT-TYPE
SYNTAX SEQUENCE OF LldpXPnoRemEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "
				This table contains one or more rows per physical network
				connection known to this agent. The agent may wish to
				ensure that only one lldpXPnoRemEntry is present
				for each local port, or it may choose to maintain
				multiple lldpXPnoRemEntries for the same local port.
			"
::= { lldpXPnoRemoteData 1 }

lldpXPnoRemEntry OBJECT-TYPE
SYNTAX LldpXPnoRemEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "
				Each entry represents the received information of the
				communication partner on this physical connection.
				The entries feature multiple indices from the
				lldpRemEntry of the LLDP-MIB, therefore it is
				only present along with the description defined
				by the associated lldpRemEntry entry.
			"
INDEX { lldpRemTimeMark, lldpRemLocalPortNum, lldpRemIndex }
::= { lldpXPnoRemTable 1 }

LldpXPnoRemEntry ::= SEQUENCE {
lldpXPnoRemLPDValue Unsigned32,
lldpXPnoRemPortTxDValue Unsigned32,
lldpXPnoRemPortRxDValue Unsigned32,
lldpXPnoRemPortStatusRT2 INTEGER,
lldpXPnoRemPortStatusRT3 INTEGER,
lldpXPnoRemPortNoS DisplayString,
lldpXPnoRemPortMrpUuId OCTET STRING,
lldpXPnoRemPortMrrtStatus INTEGER
}

lldpXPnoRemLPDValue OBJECT-TYPE
SYNTAX Unsigned32
UNITS "ns"
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This integer value represents the line propagation
				delay in nanoseconds which was measured by the
				remote system on the corresponding port.
				A value of zero shall be used if the remote system
				either could not accomplish the measurement or does not
				support such a measurement.
			"
::= { lldpXPnoRemEntry 1 }

lldpXPnoRemPortTxDValue OBJECT-TYPE
SYNTAX Unsigned32
UNITS "ns"
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This integer value represents the PortTxDelay in
				nanoseconds which was measured by the remote
				system on the corresponding port.
				A value of zero shall be used if the remote system
				either could not accomplish the measurement or does not
				support such a measurement.
			"
::= { lldpXPnoRemEntry 2 }

lldpXPnoRemPortRxDValue OBJECT-TYPE
SYNTAX Unsigned32
UNITS "ns"
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This integer value represents the PortRxDelay in
				nanoseconds which was measured by the remote
				system on the corresponding port.
				A value of zero shall be used if the remote system
				either could not accomplish the measurement or does not
				support such a measurement.
			"
::= { lldpXPnoRemEntry 3 }

lldpXPnoRemPortStatusRT2 OBJECT-TYPE
SYNTAX INTEGER {
off(0),
configured(1),
running(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This value represents the status of the corresponding
				port of the remote system according to RT class 2.
				A value of off(0) means that there isn't any RT2
				capability available for this port. When the port
				is configured for RT2 mode, but the mode isn't active
				yet the value will be configured(1). If the RT2 mode is
				configured for this port and the mode is active,
				the value will be running(2).
			"
::= { lldpXPnoRemEntry 4 }

lldpXPnoRemPortStatusRT3 OBJECT-TYPE
SYNTAX INTEGER {
off(0),
configured(1),
up(2),
down(3),
running(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This value represents the status of the corresponding
				port of the remote system according to RT class 3.
				A value of off(0) means that there isn't any RT3
				capability available for this port. When the port
				is configured for RT3 mode, but the mode isn't active
				yet the value will be configured(1).
				When the port is ready for transmission and reception 
				of RT3 traffic, the port status will be running(4).
			"
::= { lldpXPnoRemEntry 5 }

lldpXPnoRemPortNoS OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				The PROFINET NameofStation of the remote partner.
				If the station isn't configured yet, the value of this
				object will be the MAC address of the device as a string.
			"
::= { lldpXPnoRemEntry 6 }

lldpXPnoRemPortMrpUuId OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				The UUID of the MRP domain to which the
				corresponding port
				of the remote system belongs to. If the port
				doesn't belong
				to a MRP domain, the value must be NIL
				('0000000000000000').
			"
::= { lldpXPnoRemEntry 7 }

lldpXPnoRemPortMrrtStatus OBJECT-TYPE
SYNTAX INTEGER {
off(0),
configured(1),
up(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION "
				This object reports the status of the MRRT entity
				of the corresponding port.
				A value of off(0) means that there isn't any MRRT
				capability available for this port or it is
				switched off.
				The value configured(1) indicates that MRRT is
				configured for the port. When MRRT is active on
				the port, the value will be up(2).
			"
::= { lldpXPnoRemEntry 8 }

------------------------------------------------------------------------
-- Conformance Information
------------------------------------------------------------------------------
lldpXPnoConformance OBJECT IDENTIFIER ::= { lldpXPnoMIB 2 }
lldpXPnoCompliances OBJECT IDENTIFIER ::= { lldpXPnoConformance 1 }
lldpXPnoGroups OBJECT IDENTIFIER ::= { lldpXPnoConformance 2 }
-- compliance statements
lldpXPnoCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "
				The compliance statement for SNMP entities which
				implement the PNO organizationally defined LLDP
				extension MIB.
			"
MODULE -- compliant to this module
MANDATORY-GROUPS { lldpXPnoConfigGroup, lldpXPnoLocGroup,
lldpXPnoRemGroup }
GROUP lldpXPnoMRPGroup
DESCRIPTION "Required if the system provides MRP."
::= { lldpXPnoCompliances 1 }

-- MIB groupings
lldpXPnoConfigGroup OBJECT-GROUP
OBJECTS {
lldpXPnoConfigSPDTxEnable,
lldpXPnoConfigPortStatusTxEnable,
lldpXPnoConfigAliasTxEnable
}
STATUS current
DESCRIPTION "
				The collection of objects which are used to configure
				the PNO organizationally defined LLDP extension
				implementation behavior.
				This group is mandatory for agents which implement
				the PNO organizationally defined LLDP extension, because
				the information about the signal propagation delay is 
				necessary to configure PROFINET domains.
			"
::= { lldpXPnoGroups 1 }

lldpXPnoLocGroup OBJECT-GROUP
OBJECTS { lldpXPnoLocLPDValue,
lldpXPnoLocPortTxDValue,
lldpXPnoLocPortRxDValue,
lldpXPnoLocPortStatusRT2,
lldpXPnoLocPortStatusRT3,
lldpXPnoLocPortNoS
}
STATUS current
DESCRIPTION "
				The collection of objects which are used to
				configure the PNO organizationally defined 
				LLDP extension implementation behavior.
				This group is mandatory for agents which implement
				the PNO organizationally defined LLDP extension, 
				because the information about the signal propagation
				delay is necessary to configure PROFINET domains.
			"
::= { lldpXPnoGroups 2 }

lldpXPnoRemGroup OBJECT-GROUP
OBJECTS { lldpXPnoRemLPDValue,
lldpXPnoRemPortTxDValue,
lldpXPnoRemPortRxDValue,
lldpXPnoRemPortStatusRT2,
lldpXPnoRemPortStatusRT3,
lldpXPnoRemPortNoS
}
STATUS current
DESCRIPTION "
				The collection of objects which are used to
				configure the PNO organizationally defined 
				LLDP extension implementation behavior.
				This group is mandatory for agents which implement
				the PNO organizationally defined LLDP extension, 
				because the information about the signal propagation 
				delay is necessary to configure PROFINET domains.
			"
::= { lldpXPnoGroups 3 }

lldpXPnoMRPGroup OBJECT-GROUP
OBJECTS { lldpXPnoConfigMrpTxEnable,
lldpXPnoLocPortMrpUuId,
lldpXPnoLocPortMrrtStatus,
lldpXPnoRemPortMrpUuId,
lldpXPnoRemPortMrrtStatus
}
STATUS current
DESCRIPTION "
				The collection of objects which are used to
				configure the PNO organizationally defined 
				LLDP extension implementation behavior.
				This group is mandatory for agents which implement
				the PNO organizationally defined LLDP extension, 
				because the information about the signal propagation 
				delay is necessary to configure PROFINET domains.
			"
::= { lldpXPnoGroups 4 }
END
