[Xorp-users] Multicast in general, and perhaps xorp in particular

Kees Jan Hermans kees at pink-frog.com
Tue Oct 21 23:08:34 PDT 2008


Yes, I did run tcpdump, but then on a host in between, like so:

host2----hub----router
          |
        tcpdumper

and:

host2---device---hub---router
                  |
                tcpdumper


I'll see if I can post the traffic later.  Gotta go to work now.

Cheers,

KJ

Pavlin Radoslavov wrote:
> Kees Jan Hermans <kees at pink-frog.com> wrote:
>
>   
>> Dear reader,
>>
>> I'm a bit at my wits' end; I have until Friday to complete this demo, 
>> which is for a prototype of a networking device that must also do IP 
>> multicasting.  I have the following network topology:
>>
>> host1----------device------------router-------------device------host2
>> 192.168.2.20 anonymous 192.168.2.1 <-> 192.168.3.1 anonymous 192.168.3.20
>>
>> The router is using xorp, which I think is a fantastic product, altough 
>> I'm not all that familiar with it, having discovered it only a few days 
>> ago.  That being said, getting routing done was a piece of cake, so 
>> nothing but compliments there.  I must add that I was a little bit 
>> surprised to discover that one had to make special arrangements for 
>> getting multicasting work out of the box; apparently it isn't in the 
>> design philosophy of xorp to have one segment subscribe to a multicast 
>> address, and route traffic to that segment's interface automatically 
>> when traffic to that multicast address is discovered on another 
>> interface.  I wonder why that is, but not for too long, because I got it 
>> to work (through a 'rp').  That is to say, if you take out the two 
>>     
>
> This is how multicast routing works: in general, you must have a
> multicast routing protocol (or equivalent like IGMP proxy) running
> on the routing devices in the middle.
>
>   
>> 'devices' in the diagram above, everything works flawlessly: host2 has 
>> VLC subscribe to a multicast address, and on host1 VLC sends packets to 
>> that address, which arrive and I can hear pretty music play on host2.  
>> So far, so good.
>>
>> The devices in question, amongst other tasks, proxy for the IGMP and 
>> multicast traffic; they act as bridges effectively, cleaning and 
>> monitoring the network packets.  To do what they have to do, the devices 
>> cache the multicast subscriptions, and create IGMP packets themselves on 
>> a timely basis.  And when I have those devices in the middle (as drawn 
>> in the diagram above), it doesn't work.  By now I'm pretty sure that 
>> 'my' IGMP packets are good, and equal to the packets sent by 'host2', 
>> however, when I send them, the subscriptions won't show up in the 'show 
>> igmp groups' list (they do if you take my devices out).  I've noticed a 
>>     
>
> I presume you see the IGMP packets your device generates if you run
> tcpdump on the XORP router.
> If you enable all tracing options for the MFEA and IGMP do you see
> any log messages about the packets being received?
> Any warning or error messages that might be helpful?
>
>   
>> few things though, that I wonder could be related to this problem: 
>> namely that 'host2' sends IGMP subscriptions TWICE in quick succession 
>> (where I send them only once), and that there's some PIM traffic going 
>> on to address 224.0.0.13 (that I don't react to at all).  My questions are:
>>
>> a) are my suspicions about the differences in behaviour any good ?
>>     
>
> The problem is the IGMP joins don't show in "show igmp groups".
> Even if you think your IGMP packets are exactly same, obviously
> there is something different which stops them from being received by
> XORP.
>
>   
>> b) do I have to react to PIM traffic, and in effect create a dialog 
>> before subscription to a multicast address becomes effective in the router ?
>>     
>
> In general you have to forward the PIM control messages so they can
> reach the PIM neighbor routers.
> For this particular experiment with a single PIM-SM router you can
> get away even without forwarding the PIM control messages, but you
> MUST do the right thing for the product itself :)
>
>   
>> c) is there a way to see in the xorp router what happens with a packet 
>> such as a IGMP report packet ?
>>     
>
> Try to enable the traceoptions in the XORP config (in both the mfea4
> and igmp blocks:
>
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>
> Also, enable the XRLTRACE environmental variable. E.g., in csh/tcsh:
>
> setenv XRLTRACE yes
>
> This will print all IPC interprocess exchange in XORP (the so called
> XRLs).
> Warning: it will be a lot, so save all the output to a file and then
> post-process it. My personal preference is to use script(1) and
> start XORP in foreground.
> Look for XRLs like raw_packet4_client/0.1/recv which will print the
> IGMP and PIM control messages beint sent from the FEA to the IGMP
> and PIM processes.
>
> Please let us know how it goes.
> Pavlin
>
>   
>> Thanks for your time, and only too willing to also post configurations 
>> and packet data in hexadecimal,
>>
>> Sincerely,
>>
>> KJ Hermans
>>
>> _______________________________________________
>> Xorp-users mailing list
>> Xorp-users at xorp.org
>> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users
>>     
>
>
>   



More information about the Xorp-users mailing list