[Xorp-users] IPv4 multicast routing not supported

Pavlin Radoslavov pavlin at icir.org
Fri May 26 09:57:41 PDT 2006


> still its not forwarding . the scenario is like this. and i am attaching
> config.boot

> entries in /proc/net/ip_mr_cache
> Group    Origin   Iif     Pkts    Bytes    Wrong Oifs
> 2D0100E1 0A05A8C0 65535        1        4 -559067475
> 230001E1 0A05A8C0 65535        1        4 -559067475

Interesting. From the above output it looks like the multicast
forwarding entries were added to the kernel, but they seem
corrupted. From your log messages below, the MFC entries failed to
be added to the kerner, so ip_mr_cache should be empty.
Could you double-check that ip_mr_cache was empty before XORP was
started, and then it was populated with the above info while XORP
was running.

BTW, two days ago there was an email to xorp-users from another
gmail account asking about such junk values. Interestingly, the
output from that person's ip_mr_cache was exactly same as yours
(including the values for the Origin and Group addresses). Are you
same person, or are you working together on the same experiment?

> and when run xorp output is something like following
> 

> [ 2006/05/26 12:01:59  ERROR xorp_fea:29466 MFEA +1201 mfea_mrouter.cc
> add_mfc ] setsockopt(MRT_ADD_MFC, (192.168.5.10, 225.0.1.45)) failed:
> Invalid argument

This seems the source of the problem. For some reason, the
setsockopt(MRT_ADD_MFC) has failed with error code of EINVAL.
I checked the source code for your kernel version, and it appears
the only reasons MRT_ADD_MFC would fail are:

 * The size of the "struct mfcctl mc" argument doesn't match.
OR
 * The group address inside (mc.mfcc_mcastgrp) is not multicast.

>From the log messages, the group address seems fine, so probably
there is something odd with the size of "struct mfcctl" as used by
XORP. From the private email exchange with your config.log output,
it looks like there is some bogus /usr/include/netinet/ip_mroute.h
header file installed on your system. Usually, Linux systems
shouldn't have that file and should have /usr/include/linux/mroute.h
instead. If that <netinet/ip_mroute.h> file has some bogus
"struct mfcctl" definition inside, this would explain why
setsockopt(MRT_ADD_MFC) fails.

Please move away the bogus <netinet/ip_mroute.h> file, rerun
./configure and make sure that this time the configure scripts shows
that IPv4 multicast routing is supported. After that run "gmake
clean; gmake" to recompile XORP with the right header files.

Pavlin


> [ 2006/05/26 12:01:59 WARNING xorp_fea XrlMfeaTarget ] Handling method for
> mfea/0.1/add_mfc4 failed: XrlCmdError 102 Command failed Cannot add MFC for
> source 192.168.5.10 and group 225.0.1.45 with iif_vif_index = 1
> [ 2006/05/26 12:01:59  ERROR xorp_pimsm4:29486 PIM +1854 xrl_pim_node.cc
> mfea_client_send_add_delete_mfc_cb ] Cannot add a multicast forwarding entry
> with the MFEA: 102 Command failed Cannot add MFC for source 192.168.5.10 and
> group 225.0.1.45 with iif_vif_index = 1



More information about the Xorp-users mailing list