1 -- Draft Cisco-Specific IP Multicast MIB July 1994 2 3 CISCO-IPMCAST-MIB DEFINITIONS ::= BEGIN 4 5 IMPORTS 6 enterprises FROM RFC1155-SMI 7 MODULE-IDENTITY, OBJECT-TYPE, 8 Integer32, Counter32, IpAddress FROM SNMPv2-SMI 9 RowStatus, TruthValue FROM SNMPv2-TC 10 OwnerString FROM RFC1271-MIB 11 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF 12 igmpInterfaceEntry FROM IGMP-MIB; 13 14 ciscoMcastMIB MODULE-IDENTITY 15 LAST-UPDATED "9407301359Z" 16 ORGANIZATION "Cisco System Inc." 17 CONTACT-INFO 18 " Cisco System Inc." 19 DESCRIPTION 20 "The MIB module for Cisco-specific management of IP 21 Multicast in Cisco devices." 22 ::= { enterprises 9 10 4 } 23 24 -- cisco OBJECT IDENTIFIER ::= { enterprises 9 } 25 -- ciscoExperiment OBJECT IDENTIFIER ::= { cisco 10 } 26 27 28 ciscoMcastMIBObjects OBJECT IDENTIFIER ::= { ciscoMcastMIB 1 } 29 30 mcastAccess OBJECT IDENTIFIER ::= { ciscoMcastMIBObjects 1 } 31 mcastTrace OBJECT IDENTIFIER ::= { ciscoMcastMIBObjects 2 } 32 mcastFilter OBJECT IDENTIFIER ::= { ciscoMcastMIBObjects 3 } 33 34 -- 35 -- The Multicast Access-list Group 36 -- 37 38 -- 39 -- The PIM Rendezvous-Point Access-list Table 40 -- 41 pimRpAccessListTable OBJECT-TYPE 42 SYNTAX SEQUENCE OF PimRpAccessListEntry 43 MAX-ACCESS not-accessible 44 STATUS current 45 DESCRIPTION 46 "The (conceptual) table containing the access-lists of IP 47 Multicast groups configured for specific Rendezvous- 48 Points. An RP for which there is no entry in this table 49 is configured for all groups." 50 ::= { mcastAccess 1 } 51 52 pimRpAccessListEntry OBJECT-TYPE 53 SYNTAX PimRpAccessListEntry 54 MAX-ACCESS not-accessible 55 STATUS current 56 DESCRIPTION 57 "An entry (conceptual row) in the pimRpAccessListTable." 58 INDEX { pimRpAccessListRP } 59 ::= { pimRpAccessListTable 1 } 60 61 PimRpAccessListEntry ::= SEQUENCE { 62 pimRpAccessListRP IpAddress, 63 pimRpAccessListNumber INTEGER, 64 pimRpAccessListStatus RowStatus 65 } 66 67 pimRpAccessListRP OBJECT-TYPE 68 SYNTAX IpAddress 69 MAX-ACCESS not-accessible 70 STATUS current 71 DESCRIPTION 72 "The address of the Rendezvous Point for which this entry 73 contains access-list information." 74 ::= { pimRpAccessListEntry 1 } 75 76 pimRpAccessListNumber OBJECT-TYPE 77 SYNTAX INTEGER (0..100) 78 MAX-ACCESS read-create 79 STATUS current 80 DESCRIPTION 81 "The number of the access-list which specifies the range 82 of group addresses which have this Rendezvous Point. A 83 value of zero is equivalent to no access-list." 84 ::= { pimRpAccessListEntry 2 } 85 86 pimRpAccessListStatus OBJECT-TYPE 87 SYNTAX RowStatus 88 MAX-ACCESS read-create 89 STATUS current 90 DESCRIPTION 91 "The status of this row." 92 ::= { pimRpAccessListEntry 3 } 93 94 95 -- The IGMP Access-list Table 96 -- 97 igmpAccessListTable OBJECT-TYPE 98 SYNTAX SEQUENCE OF IgmpAccessListEntry 99 MAX-ACCESS not-accessible 100 STATUS current 101 DESCRIPTION 102 "The (conceptual) table containing the configured access- 103 lists of IP Multicast groups for which join requests 104 received from hosts (i.e., directly attached group 105 members) via specific interfaces are allowed. If no 106 access-list is defined for an interface, any group can be 107 joined via that interace." 108 ::= { mcastAccess 2 } 109 110 igmpAccessListEntry OBJECT-TYPE 111 SYNTAX IgmpAccessListEntry 112 MAX-ACCESS not-accessible 113 STATUS current 114 DESCRIPTION 115 "An entry (conceptual row) in the igmpAccessListTable." 116 AUGMENTS { igmpInterfaceEntry } 117 ::= { igmpAccessListTable 1 } 118 119 IgmpAccessListEntry ::= SEQUENCE { 120 igmpAccessListNumber INTEGER 121 } 122 123 igmpAccessListNumber OBJECT-TYPE 124 SYNTAX INTEGER (0..100) 125 MAX-ACCESS read-write 126 STATUS current 127 DESCRIPTION 128 "The number of the access-list which specifies the IP 129 multicast groups for which joins are allowed on this 130 interface. A value of zero is equivalent to no access- 131 list." 132 ::= { igmpAccessListEntry 1 } 133 134 135 -- 136 -- The Multicast Tracing MIB-Group 137 -- 138 139 mcastTraceRequest OBJECT IDENTIFIER ::= { mcastTrace 1 } 140 mcastTraceResponse OBJECT IDENTIFIER ::= { mcastTrace 2 } 141 142 -- 143 -- The router provides the following a CLI command: 144 -- 145 -- mrbranch <group> <branch-address> 146 -- Traces a branch of a multicast tree for group <group> in the 147 -- reverse direction from the router with the <branch-address> 148 -- up the tree to the source of the mrbranch request. Both the 149 -- request and response are unicast addressed. The number of 150 -- packets generated is 2 times the number of routers between 151 -- the source and <branch-address>. 152 -- 153 -- The following objects provide for mrbranch to be invoked via SNMP 154 -- (by multiple managers, but only one at a time) using the following 155 -- procedure: 156 -- 157 -- 1. wait for mrbranchState == inactive, 158 -- 2. issue a SetRequest with 159 -- mrbranchGroup = group address 160 -- mrbranchBranch = branch address 161 -- mrbranchRequestor = unique id for this request 162 -- mrbranchState = active 163 -- (optionally include mrbranchTimeout and mrbranchRequestor) 164 -- if successful, mrbranch has been started 165 -- else if error-index == mrbranchState 166 -- then some other NMS got in first 167 -- else check for other errors 168 -- 3. retrieve results by periodically polling for mrbranchState, 169 -- 4. when mrbranchState == inactive, retrieve all entries in the 170 -- mrbranchResponseTable to obtain the results, ensuring that 171 -- mrbranchRequestor remains unchanged, 172 -- 5. it is advisable to issue mrbranch multiple times to get best 173 -- results 174 -- 175 176 mrbranchState OBJECT-TYPE 177 SYNTAX INTEGER { inactive(1), active(2) } 178 MAX-ACCESS read-write 179 STATUS current 180 DESCRIPTION 181 "The state of the SNMP-invoked mrbranch facility. Only 182 one such mrbranch may be in progress at a time. When this 183 object has the value 'inactive', setting it to 'active' 184 causes an mrbranch to be invoked using the values of 185 mrbranchGroup, mrbranchBranch and mrbranchTimeout which 186 were set either concurrently or most recently. The value 187 stays 'active' until the mrbranch completes/times-out at 188 which time it becomes 'inactive'. Setting this value to 189 'active' when it is already 'active' it is an error. 190 Setting it to 'inactive' either cancels the active 191 mrbranch or is a no-op." 192 ::= { mcastTraceRequest 1 } 193 194 mrbranchGroup OBJECT-TYPE 195 SYNTAX IpAddress 196 MAX-ACCESS read-write 197 STATUS current 198 DESCRIPTION 199 "The IP multicast group address to be used by the next 200 SNMP-invoked mrbranch command." 201 ::= { mcastTraceRequest 2 } 202 203 mrbranchBranch OBJECT-TYPE 204 SYNTAX IpAddress 205 MAX-ACCESS read-write 206 STATUS current 207 DESCRIPTION 208 "The branch address, i.e., the IP unicast address of the 209 responding router, to be used by the next SNMP-invoked 210 mrbranch command." 211 ::= { mcastTraceRequest 3 } 212 213 mrbranchTimeout OBJECT-TYPE 214 SYNTAX Integer32 215 UNITS "seconds" 216 MAX-ACCESS read-write 217 STATUS current 218 DESCRIPTION 219 "The maximum number of seconds to be taken by the next 220 SNMP-invoked mrbranch command." 221 ::= { mcastTraceRequest 4 } 222 223 mrbranchRequestor OBJECT-TYPE 224 SYNTAX OwnerString 225 UNITS "seconds" 226 MAX-ACCESS read-write 227 STATUS current 228 DESCRIPTION 229 "An indication of the identity of invoker the 230 last/current/next SNMP-invoked mrbranch command." 231 ::= { mcastTraceRequest 5 } 232 233 234 235 -- 236 -- The Mrbranch Response Table 237 -- 238 mrbranchResponseTable OBJECT-TYPE 239 SYNTAX SEQUENCE OF MrbranchResponseEntry 240 MAX-ACCESS not-accessible 241 STATUS current 242 DESCRIPTION 243 "The table containing mrbranch responses. Additional 244 information from mrbranch responses is contained in the 245 mrbranchInterfaceListTable." 246 ::= { mcastTraceResponse 1 } 247 248 mrbranchResponseEntry OBJECT-TYPE 249 SYNTAX MrbranchResponseEntry 250 MAX-ACCESS not-accessible 251 STATUS current 252 DESCRIPTION 253 "An entry in the mrbranchResponseTable, representing one 254 mrbranch response." 255 INDEX { mrbranchResponseResponder } 256 ::= { mrbranchResponseTable 1 } 257 258 MrbranchResponseEntry ::= SEQUENCE { 259 mrbranchResponseResponder IpAddress, 260 mrbranchResponseRtt Integer32, 261 mrbranchResponseRPF IpAddress 262 } 263 264 mrbranchResponseResponder OBJECT-TYPE 265 SYNTAX IpAddress 266 MAX-ACCESS not-accessible 267 STATUS current 268 DESCRIPTION 269 "The IP address of the responder to the mrbranch request 270 for which this entry contains information." 271 ::= { mrbranchResponseEntry 1 } 272 273 mrbranchResponseRtt OBJECT-TYPE 274 SYNTAX Integer32 275 MAX-ACCESS read-only 276 STATUS current 277 DESCRIPTION 278 "The time taken for the request to be sent and the 279 response to come back for this responder to the mrbranch 280 request." 281 ::= { mrbranchResponseEntry 2 } 282 283 mrbranchResponseRPF OBJECT-TYPE 284 SYNTAX IpAddress 285 MAX-ACCESS read-only 286 STATUS current 287 DESCRIPTION 288 "The IP address of the RPF neighbor of the responder to 289 the mrbranch request." 290 ::= { mrbranchResponseEntry 3 } 291 292 293 -- 294 -- The Mrbranch Response Interface List Table 295 -- 296 mrbranchInterfaceListTable OBJECT-TYPE 297 SYNTAX SEQUENCE OF MrbranchInterfaceListEntry 298 MAX-ACCESS not-accessible 299 STATUS current 300 DESCRIPTION 301 "The table containing information on outgoing interfaces 302 as reported in a response to a mrbranch. Each entry is 303 one of a list of outgoing interface from a particular 304 responder." 305 ::= { mcastTraceResponse 2 } 306 307 mrbranchInterfaceListEntry OBJECT-TYPE 308 SYNTAX MrbranchInterfaceListEntry 309 MAX-ACCESS not-accessible 310 STATUS current 311 DESCRIPTION 312 "An entry in the mrbranchInterfaceListTable containing a 313 particular outgoing interface listed in the response to a 314 mrbranch received from the responder indicated by 315 mrbranchResponseResponder." 316 INDEX { mrbranchResponseResponder, 317 mrbranchInterfaceListAddress } 318 ::= { mrbranchInterfaceListTable 1 } 319 320 MrbranchInterfaceListEntry ::= SEQUENCE { 321 mrbranchInterfaceListAddress IpAddress, 322 mrbranchInterfaceListNetMask IpAddress 323 } 324 325 mrbranchInterfaceListAddress OBJECT-TYPE 326 SYNTAX IpAddress 327 MAX-ACCESS read-only 328 STATUS current 329 DESCRIPTION 330 "The IP address of the outgoing interface." 331 ::= { mrbranchInterfaceListEntry 1 } 332 333 mrbranchInterfaceListNetMask OBJECT-TYPE 334 SYNTAX IpAddress 335 MAX-ACCESS read-only 336 STATUS current 337 DESCRIPTION 338 "The network mask of the IP address of the outgoing 339 interface." 340 ::= { mrbranchInterfaceListEntry 2 } 341 342 343 -- 344 -- The IGMP Conditional Filtering MIB-Group 345 -- 346 347 igmpConditionalFilteringEnable OBJECT-TYPE 348 SYNTAX TruthValue 349 MAX-ACCESS read-write 350 STATUS current 351 DESCRIPTION 352 "An indication of whether IGMP Conditional Filtering is 353 enabled." 354 ::= { mcastFilter 1 } 355 356 igmpMemberReportTimeout OBJECT-TYPE 357 SYNTAX Integer32 358 UNITS "seconds" 359 MAX-ACCESS read-write 360 STATUS current 361 DESCRIPTION 362 "The number of seconds for which the receipt of the most 363 recent IGMP Membership Report for a particular IP 364 multicast group on a particular interface indicates that 365 there is currently a member of that group on that 366 interface." 367 ::= { mcastFilter 2 } 368 369 370 -- 371 -- The IGMP Conditional Filtering Interface Table 372 -- 373 igmpCondFilterIfTable OBJECT-TYPE 374 SYNTAX SEQUENCE OF IgmpCondFilterIfEntry 375 MAX-ACCESS not-accessible 376 STATUS current 377 DESCRIPTION 378 "The table containing information on interfaces for use 379 with IGMP Conditional Filtering." 380 ::= { mcastFilter 3 } 381 382 igmpCondFilterIfEntry OBJECT-TYPE 383 SYNTAX IgmpCondFilterIfEntry 384 MAX-ACCESS not-accessible 385 STATUS current 386 DESCRIPTION 387 "An entry in the igmpCondFilterIfTable containing 388 information on a particular interface." 389 INDEX { igmpCondFilterIfIndex } 390 ::= { igmpCondFilterIfTable 1 } 391 392 IgmpCondFilterIfEntry ::= SEQUENCE { 393 igmpCondFilterIfIndex Integer32, 394 igmpCondFilterIfStatus INTEGER, 395 igmpCondFilterIfRouter TruthValue 396 } 397 398 igmpCondFilterIfIndex OBJECT-TYPE 399 SYNTAX Integer32 400 MAX-ACCESS not-accessible 401 STATUS current 402 DESCRIPTION 403 "The ifIndex value of the interface." 404 ::= { igmpCondFilterIfEntry 1 } 405 406 igmpCondFilterIfStatus OBJECT-TYPE 407 SYNTAX INTEGER { routerPresent(1), 408 noRouter(2), 409 dynamic(3) } 410 MAX-ACCESS read-write 411 STATUS current 412 DESCRIPTION 413 "An indication of whether the presense of an IP multicast 414 router on this interface is to be determined statically or 415 dynamically. The values routerPresent(1) and noRouter(2) 416 indicate that the presence of a router is statically 417 determined to be present or not-present, respectively. 418 The value dynamic(3) indicates the presence is to be 419 determined dynamically." 420 ::= { igmpCondFilterIfEntry 2 } 421 422 igmpCondFilterIfRouter OBJECT-TYPE 423 SYNTAX TruthValue 424 MAX-ACCESS read-only 425 STATUS current 426 DESCRIPTION 427 "An indication of whether an IP multicast router is 428 present on this interface." 429 ::= { igmpCondFilterIfEntry 3 } 430 431 432 -- 433 -- The IGMP Conditional Filtering Multicast-Group Table 434 -- 435 igmpCondFilterMcastTable OBJECT-TYPE 436 SYNTAX SEQUENCE OF IgmpCondFilterMcastEntry 437 MAX-ACCESS not-accessible 438 STATUS current 439 DESCRIPTION 440 "The table containing information on IP multicast groups 441 for use with IGMP Conditional Filtering." 442 ::= { mcastFilter 4 } 443 444 igmpCondFilterMcastEntry OBJECT-TYPE 445 SYNTAX IgmpCondFilterMcastEntry 446 MAX-ACCESS not-accessible 447 STATUS current 448 DESCRIPTION 449 "An entry in the igmpCondFilterMcastTable containing 450 information on a particular IP multicast group on a 451 particular interface. An entry is created by the agent 452 when it receives on the interface either an IP multicast 453 datagram destined to the multicast group, or an IGMP 454 Membership Report for the group. An entry can also be 455 created by network management to indicate that datagrams 456 for the multicast group are to be forwarded to the 457 interface irrespective of the receipt/non-receipt of IGMP 458 Membership Reports." 459 INDEX { igmpCondFilterMcastIfIndex, 460 igmpCondFilterMcastAddress } 461 ::= { igmpCondFilterMcastTable 1 } 462 463 IgmpCondFilterMcastEntry ::= SEQUENCE { 464 igmpCondFilterMcastIfIndex Integer32, 465 igmpCondFilterMcastAddress IpAddress, 466 igmpCondFilterMcastMember TruthValue, 467 igmpCondFilterMcastInPkts Counter32, 468 igmpCondFilterMcastOutPkts Counter32, 469 igmpCondFilterMcastStatus RowStatus 470 } 471 472 igmpCondFilterMcastIfIndex OBJECT-TYPE 473 SYNTAX Integer32 474 MAX-ACCESS not-accessible 475 STATUS current 476 DESCRIPTION 477 "The ifIndex value of the interface." 478 ::= { igmpCondFilterMcastEntry 1 } 479 480 igmpCondFilterMcastAddress OBJECT-TYPE 481 SYNTAX IpAddress 482 MAX-ACCESS not-accessible 483 STATUS current 484 DESCRIPTION 485 "The IP multicast group." 486 ::= { igmpCondFilterMcastEntry 2 } 487 488 igmpCondFilterMcastMember OBJECT-TYPE 489 SYNTAX TruthValue 490 MAX-ACCESS read-create 491 STATUS current 492 DESCRIPTION 493 "An indication of whether there is currently a member of 494 the IP multicast group on this interface." 495 ::= { igmpCondFilterMcastEntry 3 } 496 497 igmpCondFilterMcastInPkts OBJECT-TYPE 498 SYNTAX Counter32 499 MAX-ACCESS read-only 500 STATUS current 501 DESCRIPTION 502 "The number of IP multicast datagrams destined for this 503 multicast address which have been received on this 504 interface." 505 ::= { igmpCondFilterMcastEntry 4 } 506 507 igmpCondFilterMcastOutPkts OBJECT-TYPE 508 SYNTAX Counter32 509 MAX-ACCESS read-only 510 STATUS current 511 DESCRIPTION 512 "The number of IP multicast datagrams destined for this 513 multicast address which have been forwarded to this 514 interface." 515 ::= { igmpCondFilterMcastEntry 5 } 516 517 igmpCondFilterMcastStatus OBJECT-TYPE 518 SYNTAX RowStatus 519 MAX-ACCESS read-create 520 STATUS current 521 DESCRIPTION 522 "The status of this row. If a row is created for a IP 523 multicast group on a particular interface with the 524 instance of igmpCondFilterMcastMember set to true(1), then 525 datagrams destined to the multicast group are to be 526 forwarded to the interface independent of whether IGMP 527 Membership Reports are received." 528 ::= { igmpCondFilterMcastEntry 6 } 529 530 531 -- conformance information 532 533 ciscoMcastMIBConformance 534 OBJECT IDENTIFIER ::= { ciscoMcastMIB 2 } 535 ciscoMcastMIBCompliances 536 OBJECT IDENTIFIER ::= { ciscoMcastMIBConformance 1 } 537 ciscoMcastMIBGroups 538 OBJECT IDENTIFIER ::= { ciscoMcastMIBConformance 2 } 539 540 541 -- compliance statements 542 543 ciscoMcastMIBCompliance MODULE-COMPLIANCE 544 STATUS current 545 DESCRIPTION 546 "The compliance statement for routers implementing the 547 Cisco-specific IP Multicast MIB." 548 MODULE -- this module 549 MANDATORY-GROUPS { ciscoMcastAccessMIBGroup, 550 ciscoMrbranchMIBGroup 551 } 552 553 OBJECT pimRpAccessListNumber 554 MIN-ACCESS read-only 555 DESCRIPTION 556 "Write access is not required." 557 558 OBJECT pimRpAccessListStatus 559 MIN-ACCESS read-only 560 DESCRIPTION 561 "Create and write access is not required." 562 563 564 OBJECT igmpAccessListNumber 565 MIN-ACCESS read-only 566 DESCRIPTION 567 "Write access is not required." 568 569 ::= { ciscoMcastMIBCompliances 1 } 570 571 ciscoMcastCondFilterMIBCompliance MODULE-COMPLIANCE 572 STATUS current 573 DESCRIPTION 574 "The compliance statement for bridges/switches which 575 implement Conditional IGMP Filtering." 576 MODULE -- this module 577 MANDATORY-GROUPS { ciscoMcastFilterMIBGroup } 578 ::= { ciscoMcastMIBCompliances 2 } 579 580 581 -- units of conformance 582 583 ciscoMcastAccessMIBGroup OBJECT-GROUP 584 OBJECTS { pimRpAccessListNumber, pimRpAccessListStatus, 585 igmpAccessListNumber 586 } 587 STATUS current 588 DESCRIPTION 589 "A collection of objects providing management of Access- 590 Lists for IP Multicast in Cisco routers." 591 ::= { ciscoMcastMIBGroups 1 } 592 593 ciscoMrbranchMIBGroup OBJECT-GROUP 594 OBJECTS { mrbranchState, mrbranchGroup, mrbranchBranch, 595 mrbranchTimeout, mrbranchRequestor, 596 mrbranchResponseRtt, mrbranchResponseRPF, 597 mrbranchInterfaceListNetMask 598 } 599 STATUS current 600 DESCRIPTION 601 "A collection of objects providing for the invocation of 602 mrbranch commands in Cisco routers." 603 ::= { ciscoMcastMIBGroups 2 } 604 605 ciscoMcastFilterMIBGroup OBJECT-GROUP 606 OBJECTS { igmpConditionalFilteringEnable, 607 igmpMemberReportTimeout, 608 igmpCondFilterIfStatus, 609 igmpCondFilterIfRouter, 610 igmpCondFilterMcastMember, 611 igmpCondFilterMcastInPkts, 612 igmpCondFilterMcastOutPkts, 613 igmpCondFilterMcastStatus 614 } 615 STATUS current 616 DESCRIPTION 617 "A collection of objects for management of 618 bridges/switches which implement IGMP Conditional 619 Filtering." 620 ::= { ciscoMcastMIBGroups 3 } 621 622 623END 624