[Xorp-users] Questions on multicast routing.

Pavlin Radoslavov pavlin at ICSI.Berkeley.EDU
Tue Jun 24 09:16:30 PDT 2008


Ben Greear <greearb at candelatech.com> wrote:

> As you might recall, I am working on adding linux kernel and xorp support for
> multiple multicast routing tables.
> 
> I currently have a patch to the kernel that lets me send mcast through one
> virtual
> router to another host on another leg of the router.
> 
> However, I am not able to get one router to forward to another, and I'm not
> too sure
> how to go about debugging this because I'm unsure of how it's all supposed to
> work
> together...
> 
> I am attaching a diagram of my (virtual) network.  I have an mcast generator
> on rddR2 and
> consumers on rddVR6 and rddVR7.  The multicast address is 224.1.2.3.
                          ~~~~~~~

I presume you mean rddVR5.

> I have one instance of xorp running for each virtual router.  It *appears*
> that the kernel
> vif tables are set up correctly.
> 
> Here is router-0:
> root at lanforge-65-AF> show igmp group
> Interface    Group           Source          LastReported Timeout V State
> rddVR0       224.0.0.2       0.0.0.0         1.1.6.2          170 2     E
> rddVR0       224.0.0.5       0.0.0.0         1.1.6.1          172 2     E
> rddVR0       224.0.0.6       0.0.0.0         1.1.6.1          175 2     E
> rddVR0       224.0.0.13      0.0.0.0         1.1.6.2          171 2     E
> rddVR0       224.0.0.22      0.0.0.0         1.1.6.1          170 2     E
> rddVR3       224.0.0.2       0.0.0.0         5.4.3.2          175 2     E
> rddVR3       224.0.0.5       0.0.0.0         5.4.3.2          170 2     E
> rddVR3       224.0.0.6       0.0.0.0         5.4.3.2          171 2     E
> rddVR3       224.0.0.13      0.0.0.0         5.4.3.2          171 2     E
> rddVR3       224.0.0.22      0.0.0.0         5.4.3.2          169 2     E
> rddVR4       224.0.0.2       0.0.0.0         2.3.4.1          171 2     E
> rddVR4       224.0.0.5       0.0.0.0         2.3.4.1          174 2     E
> rddVR4       224.0.0.6       0.0.0.0         2.3.4.1          169 2     E
> rddVR4       224.0.0.13      0.0.0.0         2.3.4.1          176 2     E
> rddVR4       224.0.0.22      0.0.0.0         2.3.4.1          174 2     E
> rddVR4       224.1.2.3       0.0.0.0         2.3.4.2          169 2     E

Looks good.

> root at lanforge-65-AF> show pim neighbors
> Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
> rddVR0              125 1.1.6.2         2 Sparse      105      95
> root at lanforge-65-AF>

Looks good.

> I was expecting to see 224.1.2.3 on rddVR0 since it connects to the
> other router.

No, it shouldn't.
The IGMP membership information has only LAN-scope and appears only
on the LAN with the receiver(*). A multicast routing protocol like
PIM-SM is then used to propagate the IGMP membership information
across subnets.

(*) Note: The above is not true if IGMP proxy is used, but this is
not the case in your setup.

> Here is router-1:
> 
> root at lanforge-65-AF> show igmp group
> Interface    Group           Source          LastReported Timeout V State
> rddVR1       224.0.0.2       0.0.0.0         1.1.6.1          238 2     E
> rddVR1       224.0.0.5       0.0.0.0         1.1.6.1          239 2     E
> rddVR1       224.0.0.6       0.0.0.0         1.1.6.1          237 2     E
> rddVR1       224.0.0.13      0.0.0.0         1.1.6.2          239 2     E
> rddVR1       224.0.0.22      0.0.0.0         1.1.6.2          237 2     E
> rddVR7       224.0.0.2       0.0.0.0         1.1.7.1          242 2     E
> rddVR7       224.0.0.5       0.0.0.0         1.1.7.1          248 2     E
> rddVR7       224.0.0.6       0.0.0.0         1.1.7.1          247 2     E
> rddVR7       224.0.0.13      0.0.0.0         1.1.7.1          246 2     E
> rddVR7       224.0.0.22      0.0.0.0         1.1.7.1          240 2     E
> rddVR7       224.1.2.3       0.0.0.0         1.1.7.2          243 2     E
> root at lanforge-65-AF> show pim neighbors
> Interface    DRpriority NeighborAddr    V Mode   Holdtime Timeout
> rddVR1              125 1.1.6.1         2 Sparse      105      99

Looks good.

> Please let me know if I can provide any additional info to help clarify the
> issue.

The IGMP information seems fine.
After that use "show pim rps" to check that all PIM-SM routers have
same Cand-RP set.

The next thing to check is whether the PIM Join information is
correct.
The "show pim join" xorpsh command should tell you a number of
things: the entries in the multicast routing table, the RP for each
entry (where applicable), the RPF information, the incoming and
outgoing interfaces and their state, etc.
If the PIM Join information is correct, start transmission, but make
sure the multicast TTL is large enough to reach the receivers. Also,
make sure there are no firewall rules that might affect multicast.

After the sender is started, use "show pim mfc" to see the multicast
forwarding state (as installed by PIM-SM).

If you got that far and is still not working, please send another
email with the output from the above commands.

Pavlin



More information about the Xorp-users mailing list