Wednesday, April 17, 2013

Misc Mcast-00 (troubleshooting)

Good Link for troubleshooting mcast from INE:
http://blog.ine.com/2010/09/17/troubleshooting-multicast-routing/

Cisco link for common problems:
http://www.cisco.com/en/US/tech/tk828/technologies_tech_note09186a0080094b55.shtml

ip pim accept-rp { rp-address | auto-rp} [ access-list]
if a match is found with this command/filter the (*,G) is processed as PIM SPARSE and the following message will be generated from the RP configured with the filter when 'sender' trying to register with RP for the group.

R5#sh run | i (-rp|rp-)
ip pim rp-address 150.1.5.5 10
ip pim accept-rp 150.1.5.5 GROUP
R5#

R5#sh ip access GROUP
Standard IP access list GROUP
    20 permit 224.110.110.110 (15 matches)
    10 permit 224.10.10.10 (484 matches)
R5#

%PIM-1-INVALID_RP_REG: Received Register from router 155.1.146.6 for group 224.11.11.11, 150.1.5.5 not willing to be RP


The PIM DR priority is PREEMPTIVE! and subject to RPF check.

R1(config-if)#ip pim dr-priority 111
R1(config-if)#do sh ip pim int     

Address          Interface                Ver/   Nbr    Query  DR     DR
                                          Mode   Count  Intvl  Prior
155.1.146.1      GigabitEthernet0/0       v2/SD  2      30     111    155.1.146.1
155.1.0.1        Serial0/0/0.1            v2/SD  1      30     1      0.0.0.0
R1(config-if)#


 %PIM-5-DRCHG: DR change from neighbor 155.1.146.6 to 155.1.146.1 on interface GigabitEthernet0/0.146


Tools for debugging mcast issues:
mrinfo
This command shows multicast neighbor router information, router capabilities and code version, multicast interface information, TTL thresholds, metrics, protocol, and status. It is useful when you need to verify multicast neighbors, confirm that bi-directional neighbor adjacency exists, and verify that tunnels are up in both directions.
  • P = prune-capable
  • M = mtrace-capable
  • S = SNMP-capable
  • A = Auto-RP-capable 
R5#mrinfo
155.1.58.5 [version  12.4] [flags: PMA]:
  150.1.5.5 -> 0.0.0.0 [1/0/pim/querier/leaf]
  155.1.58.5 -> 155.1.58.8 [1/0/pim]
  155.1.45.5 -> 155.1.45.4 [1/0/pim]
  155.1.0.5 -> 155.1.0.1 [1/0/pim/querier]

R5#sh ip pim ne
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      S - State Refresh Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
155.1.58.8        GigabitEthernet0/0       4d12h/00:01:25    v2    1 / DR S P
155.1.45.4        Serial0/0/1              4d12h/00:01:42    v2    1 / S P
155.1.0.1         Serial0/0/0              3d16h/00:01:25    v2    1 / S P
R5#


Sparse-Dense Mode for Auto-RP 
A prerequisite of Auto-RP is that all interfaces must be configured in sparse-dense mode using the ip pim sparse-dense-mode interface configuration command. An interface configured in sparse-dense mode is treated in either sparse mode or dense mode of operation, depending on which mode the multicast group operates. If a multicast group has a known RP, the interface is treated in sparse mode. If a group has no known RP, the interface is treated in dense mode and data will be flooded over this interface.

To successfully implement Auto-RP and prevent any groups other than 224.0.1.39 and 224.0.1.40 from operating in dense mode, we recommend configuring a sink RP (also known as RP of last resort). A sink RP is a statically configured RP that may or may not actually exist in the network. Configuring a sink RP does not interfere with Auto-RP operation because, by default, Auto-RP messages supersede static RP configurations. We recommend configuring a sink RP for all possible multicast groups in your network, because it is possible for an unknown or unexpected source to become active. If no RP is configured to limit source registration, the group may revert to dense mode operation and be flooded with data.


deny in this context qualifies the entry for Dense mode operation.
ip pim rp-address 1.1.1.1 20
access-list 20 deny 224.0.1.39
access-list 20 deny 224.0.1.40
access-list 20 permit 224.0.0.0 15.255.255.255


Access rule can't be configured at higher sequence num
SW2(config)#ip access s GROUPS
SW2(config-std-nacl)#permit 224.0.0.0 15.255.255.255
SW2(config-std-nacl)#permit 232.0.0.0 7.255.255.255
SW2(config-std-nacl)#deny 224.110.110.110
SW2(config-std-nacl)#
12w3d: Access rule can't be configured at higher sequence num as it is part of the existing rule at sequence num 10 

SW2(config-std-nacl)#
SW2(config-std-nacl)#do sh ip access        
Standard IP access list GROUPS
    10 permit 224.0.0.0, wildcard bits 15.255.255.255
    20 permit 232.0.0.0, wildcard bits 7.255.255.255
SW2(config-std-nacl)#
SW2(config-std-nacl)#no ip access s GROUPS         
SW2(config)#ip access s GROUPS            
SW2(config-std-nacl)#deny 224.110.110.110         
SW2(config-std-nacl)#permit 224.0.0.0 15.255.255.255
SW2(config-std-nacl)#permit 232.0.0.0 7.255.255.255
SW2(config-std-nacl)#
SW2(config-std-nacl)#do sh ip access               
Standard IP access list GROUPS
    10 deny   224.110.110.110
    20 permit 224.0.0.0, wildcard bits 15.255.255.255
    30 permit 232.0.0.0, wildcard bits 7.255.255.255
SW2(config-std-nacl)#


in the same token, note that deny is causing the entry to be treated as Dense Mode.

SW2#sh run | i rp-
ip pim send-rp-announce Loopback0 scope 16 group-list GROUPS
SW2#
SW2#sh ip access  
Standard IP access list GROUPS
    10 deny   224.110.110.110
    20 permit 224.0.0.0, wildcard bits 7.255.255.255
    30 permit 232.0.0.0, wildcard bits 7.255.255.255
SW2#
SW2#sh ip pim rp ma
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)

Group(s) 224.0.0.0/5
  RP 150.1.10.10 (?), v2v1
    Info source: 150.1.5.5 (?), elected via Auto-RP
         Uptime: 01:16:20, expires: 00:02:08
Group(s) (-)224.110.110.110/32
  RP 150.1.10.10 (?), v2v1
    Info source: 150.1.5.5 (?), elected via Auto-RP
         Uptime: 01:16:20, expires: 00:02:07
Group(s) 232.0.0.0/5
  RP 150.1.10.10 (?), v2v1
    Info source: 150.1.5.5 (?), elected via Auto-RP
         Uptime: 01:16:20, expires: 00:02:07
SW2#



mtrace order of operations.  
Note the From/To fields in mtrace that shows respective interfaces and direction.
R5#mtrace 150.1.3.3 150.1.5.5
Type escape sequence to abort.
Mtrace from 150.1.3.3 to 150.1.5.5 via RPF
From source (?) to destination (R5)
Querying full reverse path...
 0  R5 (150.1.5.5)
-1  R5 (150.1.5.5) PIM  [150.1.3.0/24]
-2  155.1.0.2 PIM  [150.1.3.0/24]
-3  155.1.23.3 PIM  [150.1.3.0/24]
-4  150.1.3.3
R5#mtrace 150.1.5.5 150.1.3.3
Type escape sequence to abort.
Mtrace from 150.1.5.5 to 150.1.3.3 via RPF
From source (R5) to destination (?)
Querying full reverse path...
 0  150.1.3.3
-1  155.1.13.3 PIM  [150.1.5.0/24]
-2  155.1.23.2 PIM  [150.1.5.0/24]
-3  155.1.0.5 PIM  [150.1.5.0/24]
-4  R5 (150.1.5.5)
R5#


The RP candidate uses default priority 0 (Cisco implementation, whereas the standard uses 192, max. 255). RP with the LOWEST priority (0) is preferred.
In PIMv2, a BSR is the equivalent of Mapping Agent used in Auto-RP. BSR default priority is 0 (0-255). Candidate with the HIGHEST priority is preferred if multiple BSR candidates exist.


http://www.cisco.com/en/US/docs/ios-xml/ios/ipmulti/command/imc-cr-book.html

1 comment: