Hello,
I am stumped. I am trying to perform multicast across two NetVanta 6247 with AOSR10.8.0. Each NetVanta is connected via port eth0/2 with a laptop at eth0/1 running TfGen/Mcast/Mikkle Multicast test tools. Each router is running OSPF advertising their respective networks with ping, telnet, and http working as expected in my closed test network. I believe i have configured the needed commands:
NetVanta 1:
ip multicast-routing
!
interface eth 0/1
ip address 198.162.0.10 255.255.255.248
ip pim sparse-mode
media-gateway ip primary
no shutdown
!
!
interface eth 0/2
description eth0/2
ip address 198.162.0.33 255.255.255.248
ip pim sparse-mode
no awcp
no shutdown
!
!
router ospf
default-information originate
network 198.162.0.8 0.0.0.7 area 0
network 198.162.0.32 0.0.0.7 area 0
redistribute static subnets
redistribute connected subnets
!
router pim-sparse
rp-address 198.162.0.10
!
NetVanta 2:
ip multicast-routing
!
interface eth 0/1
ip address 198.162.0.26 255.255.255.248
ip pim sparse-mode
ip pim-sparse dr-priority 20
media-gateway ip primary
no awcp
no shutdown
!
!
interface eth 0/2
description eth0/2
ip address 198.162.0.34 255.255.255.248
ip pim sparse-mode
no awcp
no shutdown
!
!
router ospf
default-information originate
network 198.162.0.24 0.0.0.7 area 0
network 198.162.0.32 0.0.0.7 area 0
redistribute static subnets
redistribute connected subnets
!
router pim-sparse
rp-address 198.162.0.10
!
We have configured a hardware firewall, CISCO routers and switches passing multicast traffic crossing our switches/routers/firewall between networks. We are looking to place the NetVantas in our test network.
What am i missing here?
I have used the debug utilities for mroute, pim-sparse hello, pim-sparse joinprune, igmp, and pim-sparse packets. It looks line joins are happening and packets are passing.
I have laptop 198.162.0.27 generating packets to group 224.4.4.1 (5000) and looking to join group 224.4.4.2 (5002). Laptop 198.162.0.11 is generating to group 224.4.4.2 (5002) and wanting to join 224.4.4.1 (5000).
The "sho ip pim-sparse stat" cmd shows no outgoing interface:
NV62472B#sho ip pim-sparse rp-map
Number of group-to-RP mappings: 3
Group address RP address
------------------------------------------
224.4.4.1 198.162.0.10
224.4.4.2 198.162.0.10
239.255.255.250 198.162.0.10
NV62472B#sho ip pim-sparse stat
PIM-SM State Table
Flags: S - Sparse, C - Connected, P - Pruned, J - Join SPT, T - SPT-bit Set,
F - Register, R - RP-bit Set
Timers: Uptime/Expires
(*, 224.4.4.1), 02:53:14/stopped , RP 198.162.0.10, Flags: SPF
Forwarding Entry: Yes
Incoming interface: eth 0/2, RPF nbr 198.162.0.33
Upstream Join/Prune State: Not Joined
Register State: No Info
RegStop Timer (sec): stopped
Join/Prune Timer (sec): stopped
Override Timer (sec): stopped
Multicast Border Router: 0.0.0.0
Packets Forwarded: 0
Outgoing interface list: Null
Inherited output list: Null
(198.162.0.27, 224.4.4.1), 00:29:21/00:03:29, Flags: STF
Forwarding Entry: Yes
Incoming interface: eth 0/1, RPF nbr 198.162.0.27
Upstream Join/Prune State: Joined
Register State: Join
RegStop Timer (sec): stopped
Join/Prune Timer (sec): 38
Override Timer (sec): stopped
Multicast Border Router: 0.0.0.0
Packets Forwarded: 112932
Outgoing interface list: Null
Inherited output list:
Loopback
(*, 224.4.4.2), 02:53:18/00:03:12, RP 198.162.0.10, Flags: SC
Forwarding Entry: Yes
Incoming interface: eth 0/2, RPF nbr 198.162.0.33
Upstream Join/Prune State: Joined
Register State: No Info
RegStop Timer (sec): stopped
Join/Prune Timer (sec): 1
Override Timer (sec): stopped
Multicast Border Router: 0.0.0.0
Packets Forwarded: 0
Outgoing interface list:
eth 0/1, Forward, 00:29:58/00:03:12
Downstream Join/Prune State: Join
Assert Winner State: No Info
Assert Timer (sec): stopped
Assert Winner: 0.0.0.0
Assert Winner Metric: infinity
Local Membership: Yes
Forwarding State: Forwarding
Inherited output list: Null
(*, 239.255.255.250), 03:45:22/00:03:21, RP 198.162.0.10, Flags: SC
Forwarding Entry: Yes
Incoming interface: eth 0/2, RPF nbr 198.162.0.33
Upstream Join/Prune State: Joined
Register State: No Info
RegStop Timer (sec): stopped
Join/Prune Timer (sec): 24
Override Timer (sec): stopped
Multicast Border Router: 0.0.0.0
Packets Forwarded: 0
Outgoing interface list:
eth 0/1, Forward, 03:45:22/00:03:21
Downstream Join/Prune State: Join
Assert Winner State: No Info
Assert Timer (sec): stopped
Assert Winner: 0.0.0.0
Assert Winner Metric: infinity
Local Membership: Yes
Forwarding State: Forwarding
Inherited output list: Null
NV62472B#
Here is the debug listing, sorry about all the info:
NV6247#
NV6247#06:20:22: PIMSM PKT: Receiving JoinPrune packet from 198.162.0.34 on eth
0/2
SrcIp=198.162.0.34, DstIp=224.0.0.13, Len=54, Ver=2, Type=3, Csum=0x6074
Upstream Nbr=198.162.0.33, Number of groups=1, Holdtime=210
Multicast Group(1 of 1)=224.4.4.2/32
Joined Source Count=1, Pruned Source Count=0
1) Joined Source=198.162.0.10/32, SWR=111
06:20:22: PIMSM: Processed JOIN(*, 224.4.4.2) from 198.162.0.34
06:20:22: PIMSM: Downstream JoinPrune state for (*, 224.4.4.2, eth 0/2) [NoInfo
--> Join]; Event=ReceivedJoin
06:20:22: PIMSM: Upstream JoinPrune state for (*, 224.4.4.2) [NotJoined --> Join
]; Event=JoinDesired
06:20:22: PIMSM: Upstream JoinPrune state for (198.162.0.11, 224.4.4.2) [NotJoin
ed --> Join]; Event=JoinDesired
06:20:22: PIMSM: Sent JOIN(198.162.0.11, 224.4.4.2) to 198.162.0.11
06:20:22: PIMSM PKT: Sending JoinPrune packet to 224.0.0.13 on eth 0/1
SrcIp=198.162.0.10, DstIp=224.0.0.13, Len=54, Ver=2, Type=3, Csum=0x6389
Upstream Nbr=198.162.0.11, Number of groups=1, Holdtime=210
Multicast Group(1 of 1)=224.4.4.2/32
Joined Source Count=1, Pruned Source Count=0
1) Joined Source=198.162.0.11/32, SWR=100
06:20:23: PIMSM PKT: Sending Hello packet to 224.0.0.13 on eth 0/2
SrcIp=198.162.0.33, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x0506
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0xEE666038
06:20:25: PIMSM PKT: Receiving Hello packet from 198.162.0.34 on eth 0/2
SrcIp=198.162.0.34, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x7115
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0x18C5C9CA
06:20:27: IGMP: sent General Query on eth 0/1
06:20:43: PIMSM PKT: Sending Hello packet to 224.0.0.13 on eth 0/1
SrcIp=198.162.0.10, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x5F1D
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0x92A561E2
06:20:45: PIMSM PKT: Receiving JoinPrune packet from 198.162.0.34 on eth 0/2
SrcIp=198.162.0.34, DstIp=224.0.0.13, Len=54, Ver=2, Type=3, Csum=0x5480
Upstream Nbr=198.162.0.33, Number of groups=1, Holdtime=210
Multicast Group(1 of 1)=239.255.255.250/32
Joined Source Count=1, Pruned Source Count=0
1) Joined Source=198.162.0.10/32, SWR=111
06:20:45: PIMSM: Processed JOIN(*, 239.255.255.250) from 198.162.0.34
06:20:53: PIMSM PKT: Sending Hello packet to 224.0.0.13 on eth 0/2
SrcIp=198.162.0.33, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x0506
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0xEE666038
06:20:55: PIMSM PKT: Receiving Hello packet from 198.162.0.34 on eth 0/2
SrcIp=198.162.0.34, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x7115
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0x18C5C9CA
06:21:03: IGMP: received v2 Report from 198.162.0.11 on eth 0/1 for 224.4.4.1
06:21:03: PIMSM: Upstream JoinPrune state for (*, 224.4.4.1) [NotJoined --> Join
]; Event=JoinDesired
06:21:03: PIMSM: Upstream JoinPrune state for (198.162.0.11, 224.4.4.1) [NotJoin
ed --> Join]; Event=JoinDesired
06:21:03: PIMSM: Sent JOIN(198.162.0.11, 224.4.4.1) to 198.162.0.11
06:21:03: PIMSM PKT: Sending JoinPrune packet to 224.0.0.13 on eth 0/1
SrcIp=198.162.0.10, DstIp=224.0.0.13, Len=54, Ver=2, Type=3, Csum=0x638A
Upstream Nbr=198.162.0.11, Number of groups=1, Holdtime=210
Multicast Group(1 of 1)=224.4.4.1/32
Joined Source Count=1, Pruned Source Count=0
1) Joined Source=198.162.0.11/32, SWR=100
06:21:03: PIMSM: Downstream JoinPrune state for (*, 224.4.4.1, eth 0/1) [NoInfo
--> Join]; Event=ReceivedJoin
06:21:04: IGMP: received v2 Report from 198.162.0.11 on eth 0/1 for 224.4.4.1
06:21:05: IGMP: received v2 Report from 198.162.0.11 on eth 0/1 for 224.4.4.1
06:21:06: IGMP: sent General Query on eth 0/2
06:21:13: PIMSM PKT: Sending Hello packet to 224.0.0.13 on eth 0/1
SrcIp=198.162.0.10, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x5F1D
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0x92A561E2
06:21:22: PIMSM PKT: Receiving JoinPrune packet from 198.162.0.34 on eth 0/2
SrcIp=198.162.0.34, DstIp=224.0.0.13, Len=54, Ver=2, Type=3, Csum=0x6074
Upstream Nbr=198.162.0.33, Number of groups=1, Holdtime=210
Multicast Group(1 of 1)=224.4.4.2/32
Joined Source Count=1, Pruned Source Count=0
1) Joined Source=198.162.0.10/32, SWR=111
06:21:22: PIMSM: Processed JOIN(*, 224.4.4.2) from 198.162.0.34
06:21:22: PIMSM: Sent JOIN(198.162.0.11, 224.4.4.2) to 198.162.0.11
06:21:22: PIMSM PKT: Sending JoinPrune packet to 224.0.0.13 on eth 0/1
SrcIp=198.162.0.10, DstIp=224.0.0.13, Len=54, Ver=2, Type=3, Csum=0x6389
Upstream Nbr=198.162.0.11, Number of groups=1, Holdtime=210
Multicast Group(1 of 1)=224.4.4.2/32
Joined Source Count=1, Pruned Source Count=0
1) Joined Source=198.162.0.11/32, SWR=100
06:21:23: PIMSM PKT: Sending Hello packet to 224.0.0.13 on eth 0/2
SrcIp=198.162.0.33, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x0506
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0xEE666038
06:21:25: PIMSM PKT: Receiving Hello packet from 198.162.0.34 on eth 0/2
SrcIp=198.162.0.34, DstIp=224.0.0.13, Len=54, Ver=2, Type=0, Csum=0x7115
OptType= 1, OptLen= 2, OptVal=0x0069
OptType= 2, OptLen= 4, OptVal=0x81F409C4
OptType=19, OptLen= 4, OptVal=0x00000001
OptType=20, OptLen= 4, OptVal=0x18C5C9CA
06:21:27: IGMP: sent General Query on eth 0/1
06:21:27: IGMP: received v2 Report from 198.162.0.11 on eth 0/1 for 224.4.4.1
!
Thanks,
Mike
Got It! It helps to set the RP in all the routers when using sparse mode.
Thanks for the help Levi,
Mike
Thank you for asking this question in the support community. When you get a chance, will you elaborate on the network design? In this lab application, are the two ADTRAN's connected directly via Ethernet 0/2, or are there routers, switches, and a firewall between the devices? I'm not familiar with the multicast testing devices you used, but one portion of the testing tool that often gets overlooked is the time to live (TTL) value. The TTL value must be greater than (1) when traversing more than one router.
The Configuring Multicast Routing in AOS guide has recommended ways to troubleshoot all configurations of multicast. If an entry is not in the Multicast routing table for a stream that needs to traverse this router, the troubleshooting needs to begin at the destination and work back towards the source. In Multicast networks, the source will usually be streaming constantly, whether or not there is any device listening. This means that the destination will initiate the request, which is why the troubleshooting should begin there.
The first point of failure is the easiest to check out. Ping or connect to the Multicast source in a Unicast manner to ensure that the Unicast route table is operating properly. The second point of failure is in the initial IGMP request from the end device. This will need to be debugged from the Stub router. To start the debug process, issue the following command (from enable mode):
# debug ip igmp
This will show that the router received the join message for Multicast group, forwarded it along to the router connected to the upstream interface. It will also show if it sent out a periodic query on the downstream interface to ensure that the end device is real and is still actively listening.
The next point of failure is in the Multicast routing table of either the stub router of the PIM cloud. You can check each router’s table constantly, or debug all changes to the table as they happen with the following command (from enable mode):
# debug ip mrouting
If at any point along the chain back to the source, the Multicast routing table updates are not received, there is most likely a mis-configuration or line error in the segment leading from the previous link in the chain.
I hope that makes sense, but please do not hesitate to reply to this post with additional debug information, or questions. I will be happy to help in any way I can.
Levi
Hello Levi and all,
Thanks for the reply. I followed the "Configuration Multicast Routing AOS" guide in setting up and debugging my network. I have used the various multicast "sho ip ..." commands and will provide a copy of the output. However, they seem to show joins and information at both Eth0/1 for prunes and joins, however, no traffic crossing Eth0/2 except RP information.
Both laptops are able to ping each other and both laptops are able to web and telnet into both ADTRAN routers. The laptops are taken directly from the CISCO based network (routers with same IP address and physical setup as ADTRAN network) and plugged into the ADTRAN network. Multicast passes as expected in the controlled CISCO network.
Here is my simple network layout.
Thanks again,
Mike
Thank you for replying with the network diagram. When you get a chance, will you please reply and attach the output of the following commands (from both units):
show version
show ip route
show ip mroute
show ip igmp groups
show ip igmp interface
debug ip igmp
debug ip mrouting
Also, were you able to determine what the TTL was configured for on the multicast tester?
Levi
Hello Levi,
I have included three files. "Router dot 10 Node 1 Multicast CMDs 2 Jan 13.rtf" is router Node 1, "Router dot 10 Node 2 Multicast CMDs 2 Jan 13.rtf" for router node 2, and "Multicast Packet TTL set to 6 2 Jan 13.txt" which is the Wireshark packet capture. The Wireshark capture is just one packet, but it shows the TTL for the multicast packet (> 1). The source for the multicast is 198.162.0.11. The listener/receiver address is the laptop 198.162.0.27.
Thanks again for your help,
Mike
Got It! It helps to set the RP in all the routers when using sparse mode.
Thanks for the help Levi,
Mike
Mike:
Thank you for following up. I finished reproducing your setup and testing, and everything worked properly the first time. In the configuration output you pasted in the first post, you specified the RP in both configurations. Were there more than these two routers?
Levi