Yes, that is what I suspected as well...

I believe the problem is that the kernel does not think IGMP is available.  The error message occurs when the code tries to setsockopt on a socket declared to be an IGMP datagram socket.  However, I see in my startup listing that the net protocols for TCP UDP ICMP and IGMP are all called out.  This is a bit puzzling to me.

Checking the .config file that is generated by make xconfig ARCH=um I see that CONFIG_IP_MULTICAST=y but that CONFIG_IP_MROUTE is commented out.  I suspect this may have something to do with it.  However I cannot see where and which Makefiles to modify so that I get CONFIG_IP_MROUTE=y.  I tried modifying .config by hand but it did not help.

Any ideas?

Thanks,
Ben Evans



On 1/26/06, Jeff Dike <jdike@addtoit.com> wrote:
On Thu, Jan 26, 2006 at 08:00:26AM -0800, saltytexan wrote:
> PROBLEM:  The way smcroute works, it establishes a daemon to handle MR
> requests and set up the routing tables.  Part of that code necessarily sets
> up a UDP socket, and then sets an optioin on that socket for MRT_INIT.  This
> causes an error with errno 92 "MRT_INIT failed. Protocol not available."

This smells like a misconfiguration.  Figure out what protocol is needs and
what config option controls it, and make sure UML has it built in.

                                Jeff