[Xorp-users] Re: xorp fails to detect multicast traffic arriving over a GRE tunnel in Linux.

James Courtier-Dutton James Courtier-Dutton <james.dutton@gmail.com>
Sun, 1 May 2005 21:00:15 +0100


I found the fix for this. :-)
On Linux one has to do:
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

The reverse path filter was dropping all the multicast packets coming
over the tunnel.

Maybe this could be added to a FAQ or something like that.

James

On 5/1/05, James Courtier-Dutton <james.dutton@gmail.com> wrote:
> I have tried to get xorp to route multicast traffic using PIM-SM, but
> it has failed.
> I have 2 hosts A and B with a GRE tunnel over the internet between them.
> The tunnel name is called off0.
> The multicast traffic is sourced on the ethernet interface of xorp A.
> On xorp B I have the following:
> In the xorp_rtrmgr window I see:
> [ 2005/05/01 18:55:39 TRACE xorp_pimsm4 PIM ] RX PIM_HELLO from
> 192.168.10.1 to 224.0.0.13 on vif off0
> 
> But on xorp B:
> tcpdump -i off0
> tcpdump: WARNING: arptype 778 not supported by libpcap - falling back
> to cooked socket
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on off0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
> 18:55:38.495167 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 77
> 18:55:38.571164 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 67
> 18:55:38.653146 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 111
> 18:55:38.728131 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 50
> 18:55:38.810118 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 114
> 18:55:38.886102 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 78
> 18:55:38.967095 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 93
> 18:55:39.028094 IP 192.168.10.1 > PIM-ROUTERS.MCAST.NET: pim v2 Hello
> (Hold-time 1m45s) (LAN-Prune-Delay: T-bit=0 lan-delay=500ms
> override-interval=2500ms) (DR-Priority: 1) (Genid: 0x248bf4be)
> 18:55:39.041087 IP 158.234.90.20.1119 > 233.64.38.50.2000: UDP, length: 96
> 
> So, the strange thing is that xorp is seeing the pim v2 hello, but
> just not seeing the multicast stream 233.64.38.50:2000. Does anyone
> have any idea's why.
> 
> To help me track this down, could someone please point me to the
> section of code that opens the socket for the multicast stream, and
> the section of code that receives multicast stream packets.
> 
> At the moment, I have concluded that the Linux module ip_gre has a
> bug, whereby xorp does not think it is multicast capable.
> 
> On xorp A (home0 is the GRE tunnel):
> ip mroute show
> (158.234.90.23, 233.64.38.50)    Iif: eth1       Oifs: home0
> (158.234.90.20, 233.64.38.50)    Iif: eth1       Oifs: home0
> 
> On xorp B (off0 is the GRE tunnel)
> ip mroute show
> 
> i.e. empty.
> 
> I am hoping for some sort of route between off0 and eth0, as the PC
> requesting this multicast group is on eth0 at site B.
> 
> Can anyone help?
>