-- Draft Cisco-Specific IP Multicast MIB July 1994 CISCO-IPMCAST-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises FROM RFC1155-SMI MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, IpAddress FROM SNMPv2-SMI RowStatus, TruthValue FROM SNMPv2-TC OwnerString FROM RFC1271-MIB MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF igmpInterfaceEntry FROM IGMP-MIB; ciscoMcastMIB MODULE-IDENTITY LAST-UPDATED "9407301359Z" ORGANIZATION "Cisco System Inc." CONTACT-INFO " Cisco System Inc." DESCRIPTION "The MIB module for Cisco-specific management of IP Multicast in Cisco devices." ::= { enterprises 9 10 4 } -- cisco OBJECT IDENTIFIER ::= { enterprises 9 } -- ciscoExperiment OBJECT IDENTIFIER ::= { cisco 10 } ciscoMcastMIBObjects OBJECT IDENTIFIER ::= { ciscoMcastMIB 1 } mcastAccess OBJECT IDENTIFIER ::= { ciscoMcastMIBObjects 1 } mcastTrace OBJECT IDENTIFIER ::= { ciscoMcastMIBObjects 2 } mcastFilter OBJECT IDENTIFIER ::= { ciscoMcastMIBObjects 3 } -- -- The Multicast Access-list Group -- -- -- The PIM Rendezvous-Point Access-list Table -- pimRpAccessListTable OBJECT-TYPE SYNTAX SEQUENCE OF PimRpAccessListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing the access-lists of IP Multicast groups configured for specific Rendezvous- Points. An RP for which there is no entry in this table is configured for all groups." ::= { mcastAccess 1 } pimRpAccessListEntry OBJECT-TYPE SYNTAX PimRpAccessListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimRpAccessListTable." INDEX { pimRpAccessListRP } ::= { pimRpAccessListTable 1 } PimRpAccessListEntry ::= SEQUENCE { pimRpAccessListRP IpAddress, pimRpAccessListNumber INTEGER, pimRpAccessListStatus RowStatus } pimRpAccessListRP OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address of the Rendezvous Point for which this entry contains access-list information." ::= { pimRpAccessListEntry 1 } pimRpAccessListNumber OBJECT-TYPE SYNTAX INTEGER (0..100) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of the access-list which specifies the range of group addresses which have this Rendezvous Point. A value of zero is equivalent to no access-list." ::= { pimRpAccessListEntry 2 } pimRpAccessListStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row." ::= { pimRpAccessListEntry 3 } -- The IGMP Access-list Table -- igmpAccessListTable OBJECT-TYPE SYNTAX SEQUENCE OF IgmpAccessListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing the configured access- lists of IP Multicast groups for which join requests received from hosts (i.e., directly attached group members) via specific interfaces are allowed. If no access-list is defined for an interface, any group can be joined via that interace." ::= { mcastAccess 2 } igmpAccessListEntry OBJECT-TYPE SYNTAX IgmpAccessListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the igmpAccessListTable." AUGMENTS { igmpInterfaceEntry } ::= { igmpAccessListTable 1 } IgmpAccessListEntry ::= SEQUENCE { igmpAccessListNumber INTEGER } igmpAccessListNumber OBJECT-TYPE SYNTAX INTEGER (0..100) MAX-ACCESS read-write STATUS current DESCRIPTION "The number of the access-list which specifies the IP multicast groups for which joins are allowed on this interface. A value of zero is equivalent to no access- list." ::= { igmpAccessListEntry 1 } -- -- The Multicast Tracing MIB-Group -- mcastTraceRequest OBJECT IDENTIFIER ::= { mcastTrace 1 } mcastTraceResponse OBJECT IDENTIFIER ::= { mcastTrace 2 } -- -- The router provides the following a CLI command: -- -- mrbranch -- Traces a branch of a multicast tree for group in the -- reverse direction from the router with the -- up the tree to the source of the mrbranch request. Both the -- request and response are unicast addressed. The number of -- packets generated is 2 times the number of routers between -- the source and . -- -- The following objects provide for mrbranch to be invoked via SNMP -- (by multiple managers, but only one at a time) using the following -- procedure: -- -- 1. wait for mrbranchState == inactive, -- 2. issue a SetRequest with -- mrbranchGroup = group address -- mrbranchBranch = branch address -- mrbranchRequestor = unique id for this request -- mrbranchState = active -- (optionally include mrbranchTimeout and mrbranchRequestor) -- if successful, mrbranch has been started -- else if error-index == mrbranchState -- then some other NMS got in first -- else check for other errors -- 3. retrieve results by periodically polling for mrbranchState, -- 4. when mrbranchState == inactive, retrieve all entries in the -- mrbranchResponseTable to obtain the results, ensuring that -- mrbranchRequestor remains unchanged, -- 5. it is advisable to issue mrbranch multiple times to get best -- results -- mrbranchState OBJECT-TYPE SYNTAX INTEGER { inactive(1), active(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "The state of the SNMP-invoked mrbranch facility. Only one such mrbranch may be in progress at a time. When this object has the value 'inactive', setting it to 'active' causes an mrbranch to be invoked using the values of mrbranchGroup, mrbranchBranch and mrbranchTimeout which were set either concurrently or most recently. The value stays 'active' until the mrbranch completes/times-out at which time it becomes 'inactive'. Setting this value to 'active' when it is already 'active' it is an error. Setting it to 'inactive' either cancels the active mrbranch or is a no-op." ::= { mcastTraceRequest 1 } mrbranchGroup OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The IP multicast group address to be used by the next SNMP-invoked mrbranch command." ::= { mcastTraceRequest 2 } mrbranchBranch OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The branch address, i.e., the IP unicast address of the responding router, to be used by the next SNMP-invoked mrbranch command." ::= { mcastTraceRequest 3 } mrbranchTimeout OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum number of seconds to be taken by the next SNMP-invoked mrbranch command." ::= { mcastTraceRequest 4 } mrbranchRequestor OBJECT-TYPE SYNTAX OwnerString UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "An indication of the identity of invoker the last/current/next SNMP-invoked mrbranch command." ::= { mcastTraceRequest 5 } -- -- The Mrbranch Response Table -- mrbranchResponseTable OBJECT-TYPE SYNTAX SEQUENCE OF MrbranchResponseEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing mrbranch responses. Additional information from mrbranch responses is contained in the mrbranchInterfaceListTable." ::= { mcastTraceResponse 1 } mrbranchResponseEntry OBJECT-TYPE SYNTAX MrbranchResponseEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the mrbranchResponseTable, representing one mrbranch response." INDEX { mrbranchResponseResponder } ::= { mrbranchResponseTable 1 } MrbranchResponseEntry ::= SEQUENCE { mrbranchResponseResponder IpAddress, mrbranchResponseRtt Integer32, mrbranchResponseRPF IpAddress } mrbranchResponseResponder OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP address of the responder to the mrbranch request for which this entry contains information." ::= { mrbranchResponseEntry 1 } mrbranchResponseRtt OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The time taken for the request to be sent and the response to come back for this responder to the mrbranch request." ::= { mrbranchResponseEntry 2 } mrbranchResponseRPF OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the RPF neighbor of the responder to the mrbranch request." ::= { mrbranchResponseEntry 3 } -- -- The Mrbranch Response Interface List Table -- mrbranchInterfaceListTable OBJECT-TYPE SYNTAX SEQUENCE OF MrbranchInterfaceListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing information on outgoing interfaces as reported in a response to a mrbranch. Each entry is one of a list of outgoing interface from a particular responder." ::= { mcastTraceResponse 2 } mrbranchInterfaceListEntry OBJECT-TYPE SYNTAX MrbranchInterfaceListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the mrbranchInterfaceListTable containing a particular outgoing interface listed in the response to a mrbranch received from the responder indicated by mrbranchResponseResponder." INDEX { mrbranchResponseResponder, mrbranchInterfaceListAddress } ::= { mrbranchInterfaceListTable 1 } MrbranchInterfaceListEntry ::= SEQUENCE { mrbranchInterfaceListAddress IpAddress, mrbranchInterfaceListNetMask IpAddress } mrbranchInterfaceListAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the outgoing interface." ::= { mrbranchInterfaceListEntry 1 } mrbranchInterfaceListNetMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The network mask of the IP address of the outgoing interface." ::= { mrbranchInterfaceListEntry 2 } -- -- The IGMP Conditional Filtering MIB-Group -- igmpConditionalFilteringEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "An indication of whether IGMP Conditional Filtering is enabled." ::= { mcastFilter 1 } igmpMemberReportTimeout OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of seconds for which the receipt of the most recent IGMP Membership Report for a particular IP multicast group on a particular interface indicates that there is currently a member of that group on that interface." ::= { mcastFilter 2 } -- -- The IGMP Conditional Filtering Interface Table -- igmpCondFilterIfTable OBJECT-TYPE SYNTAX SEQUENCE OF IgmpCondFilterIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing information on interfaces for use with IGMP Conditional Filtering." ::= { mcastFilter 3 } igmpCondFilterIfEntry OBJECT-TYPE SYNTAX IgmpCondFilterIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the igmpCondFilterIfTable containing information on a particular interface." INDEX { igmpCondFilterIfIndex } ::= { igmpCondFilterIfTable 1 } IgmpCondFilterIfEntry ::= SEQUENCE { igmpCondFilterIfIndex Integer32, igmpCondFilterIfStatus INTEGER, igmpCondFilterIfRouter TruthValue } igmpCondFilterIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex value of the interface." ::= { igmpCondFilterIfEntry 1 } igmpCondFilterIfStatus OBJECT-TYPE SYNTAX INTEGER { routerPresent(1), noRouter(2), dynamic(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "An indication of whether the presense of an IP multicast router on this interface is to be determined statically or dynamically. The values routerPresent(1) and noRouter(2) indicate that the presence of a router is statically determined to be present or not-present, respectively. The value dynamic(3) indicates the presence is to be determined dynamically." ::= { igmpCondFilterIfEntry 2 } igmpCondFilterIfRouter OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether an IP multicast router is present on this interface." ::= { igmpCondFilterIfEntry 3 } -- -- The IGMP Conditional Filtering Multicast-Group Table -- igmpCondFilterMcastTable OBJECT-TYPE SYNTAX SEQUENCE OF IgmpCondFilterMcastEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing information on IP multicast groups for use with IGMP Conditional Filtering." ::= { mcastFilter 4 } igmpCondFilterMcastEntry OBJECT-TYPE SYNTAX IgmpCondFilterMcastEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the igmpCondFilterMcastTable containing information on a particular IP multicast group on a particular interface. An entry is created by the agent when it receives on the interface either an IP multicast datagram destined to the multicast group, or an IGMP Membership Report for the group. An entry can also be created by network management to indicate that datagrams for the multicast group are to be forwarded to the interface irrespective of the receipt/non-receipt of IGMP Membership Reports." INDEX { igmpCondFilterMcastIfIndex, igmpCondFilterMcastAddress } ::= { igmpCondFilterMcastTable 1 } IgmpCondFilterMcastEntry ::= SEQUENCE { igmpCondFilterMcastIfIndex Integer32, igmpCondFilterMcastAddress IpAddress, igmpCondFilterMcastMember TruthValue, igmpCondFilterMcastInPkts Counter32, igmpCondFilterMcastOutPkts Counter32, igmpCondFilterMcastStatus RowStatus } igmpCondFilterMcastIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex value of the interface." ::= { igmpCondFilterMcastEntry 1 } igmpCondFilterMcastAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP multicast group." ::= { igmpCondFilterMcastEntry 2 } igmpCondFilterMcastMember OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "An indication of whether there is currently a member of the IP multicast group on this interface." ::= { igmpCondFilterMcastEntry 3 } igmpCondFilterMcastInPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IP multicast datagrams destined for this multicast address which have been received on this interface." ::= { igmpCondFilterMcastEntry 4 } igmpCondFilterMcastOutPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IP multicast datagrams destined for this multicast address which have been forwarded to this interface." ::= { igmpCondFilterMcastEntry 5 } igmpCondFilterMcastStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. If a row is created for a IP multicast group on a particular interface with the instance of igmpCondFilterMcastMember set to true(1), then datagrams destined to the multicast group are to be forwarded to the interface independent of whether IGMP Membership Reports are received." ::= { igmpCondFilterMcastEntry 6 } -- conformance information ciscoMcastMIBConformance OBJECT IDENTIFIER ::= { ciscoMcastMIB 2 } ciscoMcastMIBCompliances OBJECT IDENTIFIER ::= { ciscoMcastMIBConformance 1 } ciscoMcastMIBGroups OBJECT IDENTIFIER ::= { ciscoMcastMIBConformance 2 } -- compliance statements ciscoMcastMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for routers implementing the Cisco-specific IP Multicast MIB." MODULE -- this module MANDATORY-GROUPS { ciscoMcastAccessMIBGroup, ciscoMrbranchMIBGroup } OBJECT pimRpAccessListNumber MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT pimRpAccessListStatus MIN-ACCESS read-only DESCRIPTION "Create and write access is not required." OBJECT igmpAccessListNumber MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { ciscoMcastMIBCompliances 1 } ciscoMcastCondFilterMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for bridges/switches which implement Conditional IGMP Filtering." MODULE -- this module MANDATORY-GROUPS { ciscoMcastFilterMIBGroup } ::= { ciscoMcastMIBCompliances 2 } -- units of conformance ciscoMcastAccessMIBGroup OBJECT-GROUP OBJECTS { pimRpAccessListNumber, pimRpAccessListStatus, igmpAccessListNumber } STATUS current DESCRIPTION "A collection of objects providing management of Access- Lists for IP Multicast in Cisco routers." ::= { ciscoMcastMIBGroups 1 } ciscoMrbranchMIBGroup OBJECT-GROUP OBJECTS { mrbranchState, mrbranchGroup, mrbranchBranch, mrbranchTimeout, mrbranchRequestor, mrbranchResponseRtt, mrbranchResponseRPF, mrbranchInterfaceListNetMask } STATUS current DESCRIPTION "A collection of objects providing for the invocation of mrbranch commands in Cisco routers." ::= { ciscoMcastMIBGroups 2 } ciscoMcastFilterMIBGroup OBJECT-GROUP OBJECTS { igmpConditionalFilteringEnable, igmpMemberReportTimeout, igmpCondFilterIfStatus, igmpCondFilterIfRouter, igmpCondFilterMcastMember, igmpCondFilterMcastInPkts, igmpCondFilterMcastOutPkts, igmpCondFilterMcastStatus } STATUS current DESCRIPTION "A collection of objects for management of bridges/switches which implement IGMP Conditional Filtering." ::= { ciscoMcastMIBGroups 3 } END