marsRegClientAtmAddr OBJECT-TYPE SYNTAX AtmAddr MAX-ACCESS read-only STATUS current DESCRIPTION "The registered client's ATM address." ::= { marsRegClientEntry 2 } --*************************************************************** -- IP ATM MARS Registered Server Member List Table --*************************************************************** marsRegMcsTable OBJECT-TYPE SYNTAX SEQUENCE OF MarsRegMcsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains ATM identities of all the currently registered MCSs at a MARS. Each entry represents one set of ATM identities associated with one MCS." ::= { marsObjects 7 } marsRegMcsEntry OBJECT-TYPE SYNTAX MarsRegMcsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry row contains attributes associated with one registered MCS." INDEX { marsIndex, marsIfIndex, marsRegMcsAtmAddr } ::= { marsRegMcsTable 1 } MarsRegMcsEntry ::= SEQUENCE { marsRegMcsAtmAddr AtmAddr } marsRegMcsAtmAddr OBJECT-TYPE SYNTAX AtmAddr MAX-ACCESS read-only STATUS current DESCRIPTION "The registered MCS's ATM address." ::= { marsRegMcsEntry 1 }
--*************************************************************** -- IP ATM MARS Statistics Object Definition Table --*************************************************************** marsStatTable OBJECT-TYPE SYNTAX SEQUENCE OF MarsStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table contains statistics collected at MARS." ::= { marsObjects 8 } marsStatEntry OBJECT-TYPE SYNTAX MarsStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains statistics collected at one MARS." INDEX { marsIndex, marsIfIndex } ::= { marsStatTable 1 } MarsStatEntry ::= SEQUENCE { marsStatTxMultiMsgs Counter32, marsStatTxGrpLstRplyMsgs Counter32, marsStatTxRedirectMapMsgs Counter32, marsStatTxMigrateMsgs Counter32, marsStatTxNakMsgs Counter32, marsStatTxJoinMsgs Counter32, marsStatTxLeaveMsgs Counter32, marsStatTxSjoinMsgs Counter32, marsStatTxSleaveMsgs Counter32, marsStatTxMservMsgs Counter32, marsStatTxUnservMsgs Counter32, marsStatRxReqMsgs Counter32, marsStatRxGrpLstReqMsgs Counter32, marsStatRxJoinMsgs Counter32, marsStatRxLeaveMsgs Counter32, marsStatRxMservMsgs Counter32, marsStatRxUnservMsgs Counter32, marsStatRxBlkJoinMsgs Counter32, marsStatRegMemGroups Counter32, marsStatRegMcsGroups Counter32 } marsStatTxMultiMsgs OBJECT-TYPE
SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_MULTI transmitted by this MARS." ::= { marsStatEntry 1 } marsStatTxGrpLstRplyMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_GROUPLIST_REPLY messages transmitted by this MARS." ::= { marsStatEntry 2 } marsStatTxRedirectMapMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_REDIRECT_MAP messages transmitted by this MARS." ::= { marsStatEntry 3 } marsStatTxMigrateMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_MIGRATE messages transmitted by this MARS." ::= { marsStatEntry 4 } marsStatTxNakMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_NAK messages transmitted by this MARS." ::= { marsStatEntry 5 } marsStatTxJoinMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_JOIN messages transmitted by this
MARS." ::= { marsStatEntry 6 } marsStatTxLeaveMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_LEAVE messages transmitted by this MARS." ::= { marsStatEntry 7 } marsStatTxSjoinMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_SJOIN messages transmitted by this MARS." ::= { marsStatEntry 8 } marsStatTxSleaveMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_SLEAVE messages transmitted by this MARS." ::= { marsStatEntry 9 } marsStatTxMservMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_MSERV messages transmitted by this MARS." ::= { marsStatEntry 10 } marsStatTxUnservMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_UNSERV messages transmitted by this MARS." ::= { marsStatEntry 11 }
marsStatRxReqMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_REQUEST messages received by this MARS." ::= { marsStatEntry 12 } marsStatRxGrpLstReqMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_GROUPLIST_REQUEST messages received by this MARS." ::= { marsStatEntry 13 } marsStatRxJoinMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_JOINS messages received by this MARS." ::= { marsStatEntry 14 } marsStatRxLeaveMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_LEAVES messages received by this MARS." ::= { marsStatEntry 15 } marsStatRxMservMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_MSERV messages received by this MARS." ::= { marsStatEntry 16 } marsStatRxUnservMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_UNSERV messages received by this MARS."
::= { marsStatEntry 17 } marsStatRxBlkJoinMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of block joins messages received by this MARS." ::= { marsStatEntry 18 } marsStatRegMemGroups OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP multicast groups with 1 or more joined cluster members." ::= { marsStatEntry 19 } marsStatRegMcsGroups OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP multicast groups with 1 or more joined MCSs." ::= { marsStatEntry 20 } --*************************************************************** -- IP ATM MARS MCS Object Definitions --*************************************************************** marsMcsObjects OBJECT IDENTIFIER ::= { marsMIB 3 } marsMcsTable OBJECT-TYPE SYNTAX SEQUENCE OF MarsMcsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The objects defined in this table are used for the management of a multicast server (MCS)." ::= { marsMcsObjects 1 } marsMcsEntry OBJECT-TYPE SYNTAX MarsMcsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION
"Each entry contains a MCS and its associated attributes." INDEX { marsMcsIndex, marsMcsIfIndex } ::= { marsMcsTable 1 } MarsMcsEntry ::= SEQUENCE { marsMcsIndex Integer32, marsMcsIfIndex InterfaceIndex, marsMcsAddr AtmAddr, marsMcsDefaultMarsAddr AtmAddr, marsMcsRegistration INTEGER, marsMcsSsn Unsigned32, marsMcsDefaultMtu INTEGER, marsMcsFailureTimer INTEGER, marsMcsRetranDelayTimer INTEGER, marsMcsRdmMulReqAddRetrTimer INTEGER, marsMcsRdmVcRevalidateTimer INTEGER, marsMcsRegisterRetrInterval INTEGER, marsMcsRegisterRetrLimit INTEGER, marsMcsRegWithMarsRdmTimer INTEGER, marsMcsForceWaitTimer INTEGER, marsMcsIdleTimer INTEGER, marsMcsLmtToMissRedirMapTimer INTEGER, marsMcsRowStatus RowStatus } marsMcsIndex OBJECT-TYPE SYNTAX Integer32(1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The auxiliary variable used to identify instances of the columnar objects in the MCS table." ::= { marsMcsEntry 1 } marsMcsIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex of the interface that the MCS is associated with." ::= { marsMcsEntry 2 } marsMcsAddr OBJECT-TYPE SYNTAX AtmAddr MAX-ACCESS read-create
STATUS current DESCRIPTION "The ATM address associated with the MCS." ::= { marsMcsEntry 3 } marsMcsDefaultMarsAddr OBJECT-TYPE SYNTAX AtmAddr MAX-ACCESS read-create STATUS current DESCRIPTION "The default MARS ATM address which is needed to setup the initial signalling path between a MCS and its associated MARS." ::= { marsMcsEntry 4 } marsMcsRegistration OBJECT-TYPE SYNTAX INTEGER { notRegistered (1), registering (2), registered (3), reRegisteringFault (4), reRegisteringRedirMap (5) } MAX-ACCESS read-create STATUS current DESCRIPTION "An indication with regards to the registration STATUS of this MCS. The registration codes of 'notRegistered (1)', 'registered (2)', and registered (3) are self-explanatory. The 'reRegisteringFault (4)' indicates the MCS is in the process of re-registering with a MARS due to some fault conditions. The 'reRegisteringRedMap (5)' status code shows that MCS is re-registering because it has received a MARS_REDIRECT_MAP message and was told to register with a shift MARS." ::= { marsMcsEntry 5 } marsMcsSsn OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The MCS own 32 bit Server Sequence Number. It is used to track the Mars sequence number." ::= { marsMcsEntry 6 } marsMcsDefaultMtu OBJECT-TYPE
SYNTAX INTEGER (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The default maximum transmission unit (MTU) used for this cluster. Note that the actual size used for a VC between two members of the cluster may be negotiated during connection setup and may be different than this value. Default value = 9180 bytes." DEFVAL { 9180 } ::= { marsMcsEntry 7 } marsMcsFailureTimer OBJECT-TYPE SYNTAX INTEGER (1..2147483647) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "A timer used to flag the failure of last MARS_MULTI to arrive. Default value = 10 seconds (recommended)." DEFVAL { 10 } ::= { marsMcsEntry 8 } marsMcsRetranDelayTimer OBJECT-TYPE SYNTAX INTEGER (5..10) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The delay timer for sending out new MARS_REQUEST for the group after the MCS learned that there is no other group in the cluster. The timer must be set between 5 and 10 seconds inclusive." ::= { marsMcsEntry 9 } marsMcsRdmMulReqAddRetrTimer OBJECT-TYPE SYNTAX INTEGER (5..10) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The initial random L_MULTI_RQ/ADD retransmit timer which can be set between 5 and 10 seconds inclusive." ::= { marsMcsEntry 10 } marsMcsRdmVcRevalidateTimer OBJECT-TYPE SYNTAX INTEGER (1..10)
UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The random time to set VC_revalidate flag. The timer value ranges between 1 and 10 seconds inclusive." ::= { marsMcsEntry 11 } marsMcsRegisterRetrInterval OBJECT-TYPE SYNTAX INTEGER(5..2147483647) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "MARS_MSERV/UNSERV retransmit interval. The minimum and recommended values are 5 and 10 seconds, respectively." DEFVAL { 10 } ::= { marsMcsEntry 12 } marsMcsRegisterRetrLimit OBJECT-TYPE SYNTAX INTEGER (0..5) MAX-ACCESS read-create STATUS current DESCRIPTION "MARS_MSERV/UNSERV retransmit limit. The maximum value is 5." ::= { marsMcsEntry 13 } marsMcsRegWithMarsRdmTimer OBJECT-TYPE SYNTAX INTEGER (1..10) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "Random time for a MCS to register with a MARS." ::= { marsMcsEntry 14 } marsMcsForceWaitTimer OBJECT-TYPE SYNTAX INTEGER (1..2147483647) UNITS "minutes" MAX-ACCESS read-create STATUS current DESCRIPTION "Force wait if MARS re-registration is looping. The minimum value is 1 minute." ::= { marsMcsEntry 15 }
marsMcsLmtToMissRedirMapTimer OBJECT-TYPE SYNTAX INTEGER (1..4) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "Timer limit for MCS to miss MARS_REDIRECT_MAPS." ::= { marsMcsEntry 16 } marsMcsIdleTimer OBJECT-TYPE SYNTAX INTEGER (1..2147483647) UNITS "minutes" MAX-ACCESS read-create STATUS current DESCRIPTION "The configurable inactivity timer associated with a MCS. When a VC is created at this MCS, it gets the idle timer value from this configurable timer. The minimum suggested value is 1 minute and the recommended default value is 20 minutes." DEFVAL { 20 } ::= { marsMcsEntry 17 } marsMcsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The object is used to create, delete or modify a row in this table. A row cannot be made 'active' until instances of all corresponding columns in the row of this table are appropriately configured and until the agent has also created a corresponding row in the marsMcsStatTable. When this object has a value of 'active', the following columnar objects can not be modified: marsMcsDefaultMarsAddr, marsMcsSsn, marsMcsRegstration, marsMcsDefaultMtu while other objects in this conceptual row can be modified irrespective of the value of this object.
Deletion of this row is allowed regardless of whether or not a row in any associated tables (i.e., marsMcsVcTable) still exists or is in use. Once this row is deleted, it is recommended that the agent or the SNMP management station (if possible) through the set command deletes any stale rows that are associated with this row." ::= { marsMcsEntry 18 } --**************************************************************** -- IP ATM MARS MCS Multicast Group Address Object Definitions --**************************************************************** marsMcsMcGrpTable OBJECT-TYPE SYNTAX SEQUENCE OF MarsMcsMcGrpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of IP multicast group address blocks associated by a MARS MCS. The MCS uses the information contained in list to advertise its multicast group service to the MARS. Each row can be created or deleted via configuration." ::= { marsMcsObjects 2 } marsMcsMcGrpEntry OBJECT-TYPE SYNTAX MarsMcsMcGrpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents a consecutive block of multicast group addresses." INDEX { marsMcsIndex, marsMcsIfIndex, marsMcsMcMinGrpAddr, marsMcsMcMaxGrpAddr } ::= { marsMcsMcGrpTable 1 } MarsMcsMcGrpEntry ::= SEQUENCE { marsMcsMcMinGrpAddr IpAddress, marsMcsMcMaxGrpAddr IpAddress, marsMcsMcGrpRowStatus RowStatus } marsMcsMcMinGrpAddr OBJECT-TYPE
SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "Minimum multicast group address - the min and max multicast forms multi-group block. If the MinGrpAddr and MaxGrpAddr are the same, it indicates that this block contains a single group address. Since the block joins are no allowed by a MCS as implied in the RFC2022, the MinGrpAddr and MaxGrpAddress should be set to the same value at this time when an entry row is created." ::= { marsMcsMcGrpEntry 1 } marsMcsMcMaxGrpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "Maximum multicast group address - the min and max multicast forms a multi-group block. If the MinGrpAddr and MaxGrpAddr are the same, it indicates that this block contains a single group address. Since the block joins are no allowed by a MCS as implied in the RFC2022, the MinGrpAddr and MaxGrpAddress should be set to the same value at this time when an entry row is created." ::= { marsMcsMcGrpEntry 2 } marsMcsMcGrpRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The object is used to create or delete a row in this table. Since other objects in this row are not-accessible 'index-objects', the value of this object has no effect on whether those objects in this conceptual row can be modified." ::= { marsMcsMcGrpEntry 3 } --**************************************************************** -- IP ATM MARS MCS Backup MARS Object Definitions --**************************************************************** marsMcsBackupMarsTable OBJECT-TYPE
SYNTAX SEQUENCE OF MarsMcsBackupMarsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of backup MARS addresses that a MCS can make contact to in case of failure for connecting to the primary server. The list of addresses is in descending order of preference. It should be noted that the backup list provided by the MARS to the MCS via the MARS_REDIRECT_MAP message has a higher preference than addresses that are manually configured into the MCS. When such a list is received from the MARS, this information should be inserted at the top of the list. Each row can be created or deleted via configuration." ::= { marsMcsObjects 3 } marsMcsBackupMarsEntry OBJECT-TYPE SYNTAX MarsMcsBackupMarsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents an ATM address of a backup MARS." INDEX { marsMcsIndex, marsMcsIfIndex, marsMcsBackupMarsPriority, marsMcsBackupMarsAddr } ::= { marsMcsBackupMarsTable 1 } MarsMcsBackupMarsEntry ::= SEQUENCE { marsMcsBackupMarsPriority Unsigned32, marsMcsBackupMarsAddr AtmAddr, marsMcsBackupMarsRowStatus RowStatus } marsMcsBackupMarsPriority OBJECT-TYPE SYNTAX Unsigned32(0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The priority associated with a backup MARS. A lower priority value inidcates a higher preference." ::= { marsMcsBackupMarsEntry 1 } marsMcsBackupMarsAddr OBJECT-TYPE SYNTAX AtmAddr MAX-ACCESS not-accessible STATUS current
DESCRIPTION "The ATM address associated with a backup MARS." ::= { marsMcsBackupMarsEntry 2 } marsMcsBackupMarsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The object is used to create or delete a row in this table. Since other objects in this row are not-accessible 'index-objects', the value of this object has no effect on whether those objects in this conceptual row can be modified." ::= { marsMcsBackupMarsEntry 3 } --*************************************************************** -- IP ATM MARS MCS VC Object Definition Table --*************************************************************** marsMcsVcTable OBJECT-TYPE SYNTAX SEQUENCE OF MarsMcsVcEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about open virtual circuits (VCs) that a MCS has. For point to point circuit, each entry represents a single VC connection between this MCS ATM address to another party ATM address. In the case of point to multipoint connection where a single source address is associated with multiple destinations, several entries are used to represent the relationship. An example of point to multi-point VC represented in a table is shown below. MCS VPI/VCI Grp Addr1/Addr2 Part Addr 1 0,1 g1,g2 p1 1 0,1 g1,g2 p2 1 0,1 g1,g2 p3" ::= { marsMcsObjects 4 } marsMcsVcEntry OBJECT-TYPE SYNTAX MarsMcsVcEntry MAX-ACCESS not-accessible STATUS current
DESCRIPTION "The objects contained in the entry are VC related attributes such as VC signalling type, control VC type, idle timer, negotiated MTU size, etc." INDEX { marsMcsIndex, marsMcsIfIndex, marsMcsVcVpi, marsMcsVcVci, marsMcsVcMinGrpAddr, marsMcsVcMaxGrpAddr, marsMcsVcPartyAddr } ::= { marsMcsVcTable 1 } MarsMcsVcEntry ::= SEQUENCE { marsMcsVcVpi INTEGER, marsMcsVcVci INTEGER, marsMcsVcMinGrpAddr IpAddress, marsMcsVcMaxGrpAddr IpAddress, marsMcsVcPartyAddr AtmAddr, marsMcsVcPartyAddrType INTEGER, marsMcsVcType INTEGER, marsMcsVcCtrlType INTEGER, marsMcsVcIdleTimer INTEGER, marsMcsVcRevalidate TruthValue, marsMcsVcEncapsType INTEGER, marsMcsVcNegotiatedMtu INTEGER, marsMcsVcRowStatus RowStatus } marsMcsVcVpi OBJECT-TYPE SYNTAX INTEGER (0..4095) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of virtual path identifier (VPI). Since a VPI can be numbered 0, this sub-index can take a value of 0." ::= { marsMcsVcEntry 1 } marsMcsVcVci OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of virtual circuit identifier (VCI). Since a VCI can be numbered 0, this sub-index can take a value of 0."
::= { marsMcsVcEntry 2 } marsMcsVcMinGrpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "Minimum IP multicast group address - the min and max multicast forms a multi-group block which is associated with a VC. If the MinGrpAddr and MaxGrpAddr are the same, it indicates that the size of multi-group block is 1, a single IP group." ::= { marsMcsVcEntry 3 } marsMcsVcMaxGrpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "Maximum IP multicast group address - the min and max multicast forms a multi-group block which is associated with a VC. If the MinGrpAddr and MaxGrpAddr are the same, it indicates that the size of multi-group block is 1, a single IP group." ::= { marsMcsVcEntry 4 } marsMcsVcPartyAddr OBJECT-TYPE SYNTAX AtmAddr MAX-ACCESS not-accessible STATUS current DESCRIPTION "An ATM party address in which this VC is linked. The party type is identified by the marsMcsVcPartyAddrType." ::= { marsMcsVcEntry 5 } marsMcsVcPartyAddrType OBJECT-TYPE SYNTAX INTEGER { called (1), calling (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The party type is associated with the party address. The called (1) indicates that the party address is
a destination address which implies that VC is originated from this MCS. The calling (2) indicates the VC was initiated externally to this MCS. In this case, the party address is the source address." ::= { marsMcsVcEntry 6 } marsMcsVcType OBJECT-TYPE SYNTAX INTEGER { pvc (1), svc (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Circuit Connection type: permanent virtual circuit or switched virtual circuit." ::= { marsMcsVcEntry 7 } marsMcsVcCtrlType OBJECT-TYPE SYNTAX INTEGER { pointToPointVC (1), serverControlVC (2), pointToMultiPointVC (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Control VC type used to specify a particular connection. pointToPointVC (1): used by the ATM Clients for the registration and queries. This VC or the initial signalling path is set up from the source MCS to a MARS. It is bi-directional. serverControlVC (2): used by a MARS to issue asynchronous updates to an ATM Client. This VC is established from the MARS to the MCS. pointToMultiPointVC (3): used by the client to transfer multicast data packets from layer 3. This VC is established from this VC to a cluster member." ::= { marsMcsVcEntry 8 } marsMcsVcIdleTimer OBJECT-TYPE SYNTAX INTEGER (1..2147483647) UNITS "minutes" MAX-ACCESS read-create
STATUS current DESCRIPTION "The idle timer associated with this VC. The minimum suggested value is 1 minute and the recommended default value is 20 minutes." DEFVAL { 20 } ::= { marsMcsVcEntry 9 } marsMcsVcRevalidate OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "A flag associated with an open and active multipoint VC. It is checked every time a packet is queued for transmission on that VC. The object has the value of true (1) if revalidate is required and the value false (2) otherwise." ::= { marsMcsVcEntry 10 } marsMcsVcEncapsType OBJECT-TYPE SYNTAX INTEGER { other (1), llcSnap (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The encapsulation type used when communicating over this VC." ::= { marsMcsVcEntry 11 } marsMcsVcNegotiatedMtu OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The negotiated MTU when communicating over this VC." ::= { marsMcsVcEntry 12 } marsMcsVcRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The object is used to create, delete or modify a row in this table.
A row cannot be made 'active' until instances of all corresponding columns in the row of this table are appropriately configured. While objects: marsMcsVcIdleTimer and marsMcsVcRevalidate in this conceptual row can be modified irrespective of the value of this object, all other objects in the row can not be modified when this object has a value of 'active'. It is possible for an SNMP management station to set the row to 'notInService' and modify the entry and then set it back to 'active' with the following exception. That is, rows for which the corresponding instance of marsMcsVcType has a value of 'svc' can not be modified or deleted." ::= { marsMcsVcEntry 13 } --*************************************************************** -- IP ATM MARS MCS Statistics Definition Table --*************************************************************** marsMcsStatTable OBJECT-TYPE SYNTAX SEQUENCE OF MarsMcsStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table contains statistics collected at MARS MCSs." ::= { marsMcsObjects 5 } marsMcsStatEntry OBJECT-TYPE SYNTAX MarsMcsStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains statistics collected at one MARS MCS." INDEX { marsMcsIndex, marsMcsIfIndex } ::= { marsMcsStatTable 1 } MarsMcsStatEntry ::= SEQUENCE { marsMcsStatTxReqMsgs Counter32, marsMcsStatTxMservMsgs Counter32, marsMcsStatTxUnservMsgs Counter32, marsMcsStatRxMultiMsgs Counter32, marsMcsStatRxSjoinMsgs Counter32,
marsMcsStatRxSleaveMsgs Counter32, marsMcsStatRxNakMsgs Counter32, marsMcsStatRxMigrateMsgs Counter32, marsMcsStatFailMultiMsgs Counter32 } marsMcsStatTxReqMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_REQUEST messages transmitted from this MCS." ::= { marsMcsStatEntry 1 } marsMcsStatTxMservMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_MSERV messages transmitted from this MCS." ::= { marsMcsStatEntry 2 } marsMcsStatTxUnservMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_UNSERV messages transmitted from this MCS." ::= { marsMcsStatEntry 3 } marsMcsStatRxMultiMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_MULTI messages received by this MCS." ::= { marsMcsStatEntry 4 } marsMcsStatRxSjoinMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_SJOIN messages received by
this MCS." ::= { marsMcsStatEntry 5 } marsMcsStatRxSleaveMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_SLEAVE messages received by this MCS." ::= { marsMcsStatEntry 6 } marsMcsStatRxNakMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_NAK messages received by this MCS." ::= { marsMcsStatEntry 7 } marsMcsStatRxMigrateMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of MARS_MIGRATE messages received by this MCS." ::= { marsMcsStatEntry 8 } marsMcsStatFailMultiMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of timeouts occurred indicating failure of the last MARS_MULTI to arrive." ::= { marsMcsStatEntry 9 } --*************************************************************** -- IP ATM MARS Notification Definitions --*************************************************************** marsTrapInfo OBJECT IDENTIFIER ::= { marsMIB 0 } marsFaultTrap NOTIFICATION-TYPE OBJECTS { marsAddr,
marsServStatus } STATUS current DESCRIPTION "This trap/inform is sent to the manager whenever there is a fault condition occurred on a MARS." ::= { marsTrapInfo 1 } --*************************************************************** -- IP ATM MARS Conformance Definitions --*************************************************************** marsConformance OBJECT IDENTIFIER ::= { marsMIB 4 } marsClientConformance OBJECT IDENTIFIER ::= { marsConformance 1 } marsServerConformance OBJECT IDENTIFIER ::= { marsConformance 2 } marsMcsConformance OBJECT IDENTIFIER ::= { marsConformance 3 } marsClientCompliances OBJECT IDENTIFIER ::= { marsClientConformance 1 } marsClientGroups OBJECT IDENTIFIER ::= { marsClientConformance 2 } marsServerCompliances OBJECT IDENTIFIER ::= { marsServerConformance 1 } marsServerGroups OBJECT IDENTIFIER ::= { marsServerConformance 2 } marsMcsCompliances OBJECT IDENTIFIER ::= { marsMcsConformance 1 } marsMcsGroups OBJECT IDENTIFIER ::= { marsMcsConformance 2 } --*************************************************************** -- MARS Client Compliance Statements --*************************************************************** marsClientCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities that are required for the management of MARS clients." MODULE MANDATORY-GROUPS { marsClientGroup } OBJECT marsClientAddr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientDefaultMarsAddr
MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientHsn MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientRegistration MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientCmi MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientDefaultMtu MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientFailureTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientRetranDelayTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientRdmMulReqAddRetrTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientRdmVcRevalidateTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientJoinLeaveRetrInterval MIN-ACCESS read-only DESCRIPTION
"Write access is not required." OBJECT marsClientJoinLeaveRetrLimit MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientRegWithMarsRdmTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientForceWaitTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientLmtToMissRedirMapTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientIdleTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientMcGrpRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientBackupMarsRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientVcType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientVcCtrlType
MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientVcIdleTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientVcRevalidate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientVcEncapsType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientVcNegotiatedMtu MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsClientVcRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { marsClientCompliances 1 } marsClientGroup OBJECT-GROUP OBJECTS { marsClientAddr, marsClientDefaultMarsAddr, marsClientHsn, marsClientRegistration, marsClientCmi, marsClientDefaultMtu, marsClientFailureTimer, marsClientRetranDelayTimer, marsClientRdmMulReqAddRetrTimer, marsClientRdmVcRevalidateTimer, marsClientJoinLeaveRetrInterval, marsClientJoinLeaveRetrLimit, marsClientRegWithMarsRdmTimer, marsClientForceWaitTimer, marsClientIdleTimer,
marsClientLmtToMissRedirMapTimer, marsClientRowStatus, marsClientMcGrpRowStatus, marsClientBackupMarsRowStatus, marsClientVcPartyAddrType, marsClientVcType, marsClientVcCtrlType, marsClientVcIdleTimer, marsClientVcRevalidate, marsClientVcEncapsType, marsClientVcNegotiatedMtu, marsClientVcRowStatus, marsClientStatTxReqMsgs, marsClientStatTxJoinMsgs, marsClientStatTxLeaveMsgs, marsClientStatTxGrpLstReqMsgs, marsClientStatRxJoinMsgs, marsClientStatRxLeaveMsgs, marsClientStatRxMultiMsgs, marsClientStatRxNakMsgs, marsClientStatRxGrpLstRplyMsgs, marsClientStatRxMigrateMsgs, marsClientStatFailMultiMsgs } STATUS current DESCRIPTION "A collection of objects to be implemented in a MIB for the management of MARS clients." ::= { marsClientGroups 1 } --*************************************************************** -- MARS Server Compliance Statements --*************************************************************** marsServerCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities that are required for the management of MARS servers." MODULE -- this module MANDATORY-GROUPS { marsServerGroup, marsServerEventGroup } OBJECT marsAddr MIN-ACCESS read-only DESCRIPTION
"Write access is not required." OBJECT marsLocal MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsServStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsServType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsServPriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsRedirMapMsgTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsCsn MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsSsn MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcGrpAddrUsage MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcGrpRowStatus
MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsHostMapRowType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsHostMapRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsServerMapRowType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsServerMapRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsVcPartyAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsVcType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsVcCtrlType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsVcIdleTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsVcCmi MIN-ACCESS read-only DESCRIPTION "Write access is not required."
OBJECT marsVcEncapsType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsVcNegotiatedMtu MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsVcRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { marsServerCompliances 1 } marsServerGroup OBJECT-GROUP OBJECTS { marsAddr, marsLocal, marsServStatus, marsServType, marsServPriority, marsRedirMapMsgTimer, marsCsn, marsSsn, marsRowStatus, marsMcGrpAddrUsage, marsMcGrpRxLayer3GrpSets, marsMcGrpRxLayer3GrpResets, marsMcGrpRowStatus, marsHostMapRowType, marsHostMapRowStatus, marsServerMapRowType, marsServerMapRowStatus, marsVcPartyAddrType, marsVcType, marsVcCtrlType, marsVcIdleTimer, marsVcCmi, marsVcEncapsType, marsVcNegotiatedMtu, marsVcRowStatus, marsRegClientAtmAddr, marsRegMcsAtmAddr, marsStatTxMultiMsgs, marsStatTxGrpLstRplyMsgs,
marsStatTxRedirectMapMsgs, marsStatTxMigrateMsgs, marsStatTxNakMsgs, marsStatTxJoinMsgs, marsStatTxLeaveMsgs, marsStatTxSjoinMsgs, marsStatTxSleaveMsgs, marsStatTxMservMsgs, marsStatTxUnservMsgs, marsStatRxReqMsgs, marsStatRxGrpLstReqMsgs, marsStatRxJoinMsgs, marsStatRxLeaveMsgs, marsStatRxMservMsgs, marsStatRxUnservMsgs, marsStatRxBlkJoinMsgs, marsStatRegMemGroups, marsStatRegMcsGroups } STATUS current DESCRIPTION "A collection of objects to be implemented in a MIB for the management of MARS servers." ::= { marsServerGroups 1 } marsServerEventGroup NOTIFICATION-GROUP NOTIFICATIONS { marsFaultTrap } STATUS current DESCRIPTION "A collection of events that can be generated from a MARS server." ::= { marsServerGroups 2 } --*************************************************************** -- MARS Multicast Server (MCS) Compliance Statements --*************************************************************** marsMcsCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities that are required for the management of MARS multicast servers (MCS)." MODULE MANDATORY-GROUPS { marsMcsGroup } OBJECT marsMcsAddr
MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsDefaultMarsAddr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsRegistration MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsSsn MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsDefaultMtu MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsFailureTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsRetranDelayTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsRdmMulReqAddRetrTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsRdmVcRevalidateTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsRegisterRetrInterval MIN-ACCESS read-only DESCRIPTION "Write access is not required."
OBJECT marsMcsRegisterRetrLimit MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsForceWaitTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsLmtToMissRedirMapTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsIdleTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsMcGrpRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsBackupMarsRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsVcPartyAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsVcType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsVcCtrlType MIN-ACCESS read-only DESCRIPTION
"Write access is not required." OBJECT marsMcsVcIdleTimer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsVcRevalidate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsVcEncapsType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsVcNegotiatedMtu MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT marsMcsVcRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { marsMcsCompliances 1 } marsMcsGroup OBJECT-GROUP OBJECTS { marsMcsAddr, marsMcsDefaultMarsAddr, marsMcsRegistration, marsMcsSsn , marsMcsDefaultMtu, marsMcsFailureTimer, marsMcsRetranDelayTimer, marsMcsRdmMulReqAddRetrTimer, marsMcsRdmVcRevalidateTimer, marsMcsRegisterRetrInterval, marsMcsRegisterRetrLimit, marsMcsRegWithMarsRdmTimer, marsMcsForceWaitTimer, marsMcsIdleTimer, marsMcsLmtToMissRedirMapTimer, marsMcsRowStatus, marsMcsMcGrpRowStatus,
marsMcsVcPartyAddrType, marsMcsBackupMarsRowStatus, marsMcsVcType, marsMcsVcCtrlType, marsMcsVcIdleTimer, marsMcsVcRevalidate, marsMcsVcEncapsType, marsMcsVcNegotiatedMtu, marsMcsVcRowStatus, marsMcsStatTxReqMsgs, marsMcsStatTxMservMsgs, marsMcsStatTxUnservMsgs, marsMcsStatRxMultiMsgs, marsMcsStatRxSjoinMsgs, marsMcsStatRxSleaveMsgs, marsMcsStatRxNakMsgs, marsMcsStatRxMigrateMsgs, marsMcsStatFailMultiMsgs } STATUS current DESCRIPTION "A collection of objects to be implemented in a MIB for the management of MARS multicast servers (MCS)." ::= { marsMcsGroups 1 } END 4. Acknowledgments This document is a product of the IETF's Internetworking Over NBMA Networks (ion) Working Group. The original work of the MARS MIB developement was sponsored by Science Applications International Corporation (SAIC). The author would like to recognize Grenville Armitage (Bellcore), Ken Carlberg (SAIC), Ramesh Uppuluri (Fore Systems), and Radha Gowda SYNNET), and Bill Willcox (Fujitsu Nexion) for their support and comments in completing the MARS MIB. Also thanks to Bert Wijnen (IBM) for his thorough review of the MARS MIB. 5. References [1] Armitage, G., "Support for Multicast over UNI 3.0/3.1 based ATM Networks", RFC 2022, November 1996.
[2] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996. [3] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual Conventions for Version 2 of the of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996. [4] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Conformance Statements for Version 2 of the of the Simple Network Management Protocol (SNMPv2)", RFC 1904, January 1996. [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [6] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [7] McCloghrie, K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, March 1991. [8] SNMPv3 Working Group, Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of Simple Network Management Protocol (SNMPv3)", RFC 2274, January 1998. [9] SNMPv3 Working Group, Wijnen, B., Presuhn, R., and K. McCloghire, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2275, January 1998.
6. Security Considerations There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such object may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. SNMPv1 by itself is such an insecure environment. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and SET (change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2274 [8] and the View-based Access Control Model RFC 2275 [9] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to this MIB, is properly configured to give access to those objects only to those principals (users) that have a legitimate rights to indeed SET (change/create/delete) them. Note: read-access in fact may also need access-control. 7. Authors' Addresses Chris Chung Independent Consultant EMail: chihschung@aol.com Maria Greene (editor) Independent Contractor EMail: maria@xedia.com
8. Full Copyright Statement Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.