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.
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.