Multicast over GRE between Linux server and Cisco Router

I am trying to set up multicast between a Linux server and Router using
GRE. The GRE tunnel is up fine and I can see traffic go across it, but the
router is not indicating it is receiving the IGMP joins that the server is
sending. I have identical setting with another server attached to
fastethernet0/1 and it is joined to the group fine, but I am not able to
get the server to link to the router via GRE interface. Note that I have
another server behind another router where the two routers do GRE and PIM
and that on is working fine. Is there some reason that IGMP joins would
not work across the GRE link, but another router using PIM would?

My guess is that this is because IGMP is a host-to-router protocol while
PIM is for router-to-router signaling. IGMP joins typically flow from a
multicast receiver to its local router. A GRE tunnel emulates a
router-to-router connection, so you need PIM running on it for signaling.
An IGMP join is really just a first hop host-to-router message and isn't
intended to be routed, which is what would be necessary to get it over a
GRE tunnel.


Just a quick note. I do have multicast enabled on the server gre1
interface. A tshark capture shows the igmp group queries from the router
and the igmp join reply from the server.

IGMP packets are sent with TTL=1. Is the tunnel interface on the router
enabled for PIM?


From my experience, it seems most Linux multicast development has stalled

significantly in recent years.

None the less, look for something called "smcroute". You should be able to
use this to manually peg up a route and generate the join.

Also take a look at the output of netstat -n -g to see the join.

igmpproxy is also good if this is a stub network and you're trying to proxy

Let me know what ends up working for you. I've fought this one once
already. I never did like the results, but I ended up using the igmp proxy