GRE and Multicasting 2811

Answered Question

Hi,

I am trying to set up a GRE tunnel to pass multicast traffic. Currently I have 2 routers back-to-back for troubleshooting, but there will be a WAN in between my two routers. I have a laptop hanging off of each 2811 etherswitch module. I am able to ping between the laptops. I have run iperf as a multicasting tool and the traffic is showing up on the server, but I am getting a "read failed: connection reset by peer and warning: ack of last datagram failed after 10 tries." I am also trying to run a program between the two laptops that sends out multicast messages. I have hooked a sniffer up on the etherswitch and I see the traffic coming from the laptop to the multicast address, but I never see anything coming back. I also hooked up the sniffer between the 2 routers and the only traffic I see is PIMV2 hellos, membership requests, and RIPv2 protocols. I don't see anything coming or going from my tunnel IPs. Could someone please take a look at my config files and see how the multicasting setup looks?

Thanks,

Alicia

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
nambi_gct Sun, 10/14/2007 - 23:42

Hi Alicia,

I would like to know the following.

1) Which PIM mode do you plan to use?(Dense/Sparase or bidir)

2) Where is the RP if you use bidir or sm.

Most probably it looks like an RPF config issue.Can you please check your RPF interface of your RP and Source with "show ip rpf " command.If this does not point to Tunnel inerface you wont receive traffic across tunnel.

In this case you need to add "ip mroute" command that points to the tunnel interface.Hope this helps.

Regards

Nambi.

Hi Alicia,

I aggree with Nambi in we need a little more info on how you plan on running multicast on your network. I would start by getting the multicast network working before configuring the GRE tunnel.

Since you are using pim sparse mode (assumed by your interfaces setup) then you need to define an RP for the routers to send register messages to. You can do this be defining a manual RP on one of the routers.

ip pim rp-address

You usually use loopback0 address of the router to define the manual RP. Make sure the other router can route to the loopback you choose. Enable spase-dense mode on all the interfaces that will have sources, receivers and wan interfaces that will carry the traffic.

Since you don't really need auto-rp for testing with two routers, you don't need to worry about distributing RP info via dense mode groups. However, if you are going to use auto-rp in your network then you need to allow the dense mode groups (224.0.1.39/224.0.1.40) to propagate throughout the network with one of the setups below based on your IOS version.

ip pim auto-rp listener

or

ip pim rp-address allow-auto-rp

ip access-list standard allow-auto-rp

deny 224.0.1.39

deny 224.0.1.40

permit any

After this, configure the other non-RP router to use the first routers loopback0 as its RP address. This way, it will know the RP to send register messages to. This allows the shared path *,G and the shortest path S,G's to be created.

Start each laptops multicast test program and do a show ip mroute for the group you choose. You should see a *,G entry pointing upstream towards the RP as well as an S,G entry for each source depending on the router you do the command on.

Please let me know if you get this config working before moving on to the GRE tunnel.

As well, will your multicast application send tcp or udp based traffic?

James

Hi James,

I removed the tunnel, but I am still having problems with the multicasting. Below are my basic configs. When I run the multicast program and do I show ip mroute, the only entry I see is the (*,G). I ran a ping from both laptops to the multicast group and my mroute tables populates with (S,G) entries. Do you know what the problem could be? Also the multicast program is running on UDP 10000.

Thanks,

Alicia

sh ip mroute 239.0.0.1

(*, 239.0.0.1), 1d17h/stopped, RP 2.2.2.2, flags: SJCLF

Incoming interface: FastEthernet0/0, RPF nbr 192.168.211.1, Mroute

Outgoing interface list:

Vlan3, Forward/Sparse-Dense, 01:11:00/00:02:45

(10.1.208.5, 239.0.0.1), 00:00:27/00:03:13, flags: LFT

Incoming interface: Vlan3, RPF nbr 0.0.0.0

Outgoing interface list:

FastEthernet0/0, Forward/Sparse-Dense, 00:00:27/00:03:02, A

(192.168.212.11, 239.0.0.1), 00:00:32/00:02:32, flags: LJT

Incoming interface: FastEthernet0/0, RPF nbr 192.168.211.1

Outgoing interface list:

Vlan3, Forward/Sparse-Dense, 00:00:32/00:02:44

Remote 1:

ip multicast-routing

interface Loopback0

ip address 2.2.2.2 255.255.255.255

!

interface FastEthernet0/0

description $ETH-LAN$$ETH-SW-LAUNCH$$INTF-INFO-FE 0/0$$ES_LAN$$FW_INSIDE$

ip address 192.168.211.1 255.255.255.0

no ip redirects

no ip unreachables

no ip proxy-arp

ip pim sparse-dense-mode

ip route-cache flow

ip igmp join-group 239.0.0.1

duplex auto

speed auto

no mop enabled

!

interface FastEthernet0/3/0

switchport access vlan 2

switchport trunk native vlan 2

switchport mode trunk

!

interface Vlan2

ip address 192.168.212.1 255.255.255.0

ip pim sparse-dense-mode

ip igmp join-group 239.0.0.1

ip igmp static-group 239.0.0.1

router rip

version 2

network 10.0.0.0

network 192.168.208.0

network 192.168.211.0

network 192.168.212.0

network 192.168.213.0

!

ip route 0.0.0.0 0.0.0.0 192.168.211.2

!

ip http server

ip http authentication local

no ip http secure-server

ip http timeout-policy idle 60 life 86400 requests 10000

ip pim rp-address 2.2.2.2

Remote 2:

no ip domain lookup

ip multicast-routing

interface FastEthernet0/0

description $ETH-LAN$$ETH-SW-LAUNCH$$INTF-INFO-FE 0/0$$ES_LAN$$FW_INSIDE$

ip address 192.168.211.2 255.255.255.0

no ip redirects

no ip unreachables

no ip proxy-arp

ip pim sparse-dense-mode

ip route-cache flow

ip igmp join-group 239.0.0.1

duplex auto

speed auto

no mop enabled

!

interface FastEthernet0/3/0

switchport access vlan 3

switchport trunk native vlan 3

switchport mode trunk

!interface FastEthernet0/3/1

switchport access vlan 3

interface Vlan3

ip address 10.1.208.1 255.255.0.0

ip pim sparse-dense-mode

ip igmp join-group 239.0.0.1

!

router rip

network 10.0.0.0

network 192.168.208.0

network 192.168.211.0

!

ip route 0.0.0.0 0.0.0.0 192.168.211.1

!ip http server

ip http authentication local

no ip http secure-server

ip http timeout-policy idle 60 life 86400 requests 10000

ip pim rp-address 2.2.2.2

ip mroute 2.2.2.2 255.255.255.255 192.168.211.1

!

no cdp run

Alicia,

First, don't use any multicast addresses in the range of 239.0.0.0 - 239.0.0.255 or 239.128.0.0 - 239.128.0.255. These ranges, when converted to a layer2 multicast mac address, are always flooded by switches. Use 239.255.1.1 for testing.

Also, please do the below commands. I want to see the multicast shared tree build dynamically when you run the multicast test program.

Remote1:

int loopback0

ip pim sparse-dense-mode

int fa0/0

no ip igmp join-group 239.0.0.1

int vlan2

no ip igmp join-group 239.0.0.1

no ip igmp static-group 239.0.0.1

Remote2:

int fa0/0

no ip igmp join-group 239.0.0.1

int vlan3

no ip igmp join-group 239.0.0.1

no ip igmp static-group 239.0.0.1

no ip mroute 2.2.2.2 255.255.255.255.192.168.211.1

Do the below commands on each router while your test program is activly running. Specify which router the output is from.

show ip mroute

shwo ip multicast

show ip multicast interface vlan xx

show ip pim neighbor

show ip pim rp mapping in-use

show ip pim interface

show ip igmp interface vlan xx

show mac-address-table multicast igmp-snooping

show mls ip multicast

I'm not that familier with the 2811 switch module so a few commands might not work, but give it a shot.

When you send multicast traffic you should show up as a source to the router. Its interesting that you send multicast traffic with the program and it doesn't show your sending laptop as a source.

Also, can you confirm this program sends out a proper v2 IGMP Membership Report(Request)? If one laptop is the sender, the other should be set up as a receiver. This is a good way to test the full setup. If the program doesn't send out an IGMP v2 Membership Report, the IGMP snooping process wont see any IGMP traffic. This will prevent the layer2 port from being added to the multicast snooping CAM table and the traffic could be suppressd. Cisco's tend to supress multicast flooding to prevent unknown(unauthorized) multicast traffic from flooding every port in the vlan.

Do you have a website or link that provides info on the test program?

Thanks,

James

James,

I removed the interfaces from the igmp group 239.0.0.1. The program is setup to multicast on 239.0.0.1. Also I can no longer ping the multicast group from either laptop. This program that is running is from our software developers. The program works fine when the two laptops are on the same switch without any problems. When I looked at the traffic with a sniffer I saw traffic from the laptop ip's to the multicast address (239.0.0.1) over udp port 10000 constantly flowing. I've attached the output from the commands you suggested I run.

Thanks for your help,

Alicia

Attachment: 

I noticed TT-Laptop has an IP address of 192.168.212.11 and a 255.255.255.0 mask. However, the default gateway is 192.168.211.1 which falls outside the /24 network of 192.168.212.0. Is this planned? Are you using proxy-arp or recursive lookups? Just curious. I see the same thing on the other pc. Once again, I'm not sure how pc's handle recursive lookups or if the routers are doing proxy-arp in this case, so I was just curious. Since you said you can ping everything then I assume its working.

I also noticed that the routers are showing the reporters for 239.0.0.1 with the correct RP. Along with the other PIM info from the last message, what issue are you still having? Do the laptops not see each others traffic? Do you have any type of personal firewall or something like that might block incoming multicast at the pc level?

James,

I ended up testing multicasting using mping and another program I found on the internet. Both programs worked along with Iperf. I had the programmer check the TTL setting in the program and there wasn't one - it was using some default. Once he adjusted the TTL the multicasting was working and I created a tunnel.

Thanks so much for your help along the way!

Alicia

Actions

This Discussion