Subject: making mrouted work under linux

From: [email-masked] (Jeremy Hall)
Date: Thu, 14 May 1998 14:32:39 -0400 (EDT)

If using glibc, follow these important steps.

remove the /usr/include/netinet/ip_mroute.h.  This should be just a file
that has #include <linux/ip_mroute.h>

Replace it by /usr/include/linux/ip_mroute.h and apply this patch.

--- /usr/include/linux/mroute.h	Mon Apr 13 11:58:14 1998
+++ /usr/include/netinet/ip_mroute.h	Thu May 14 14:25:39 1998
@@ -1,8 +1,8 @@
-#ifndef __LINUX_MROUTE_H
-#define __LINUX_MROUTE_H
+#ifndef _NETINET_IP_MROUTE_H
+#define _NETINET_IP_MROUTE_H
 
-#include <linux/sockios.h>
-#include <linux/in.h>
+/*#include <linux/sockios.h>*/
+#include <netinet/in.h>
 
 /*
  *	Based on the MROUTING 3.5 defines primarily to keep

Now delete line 183 of defs.h in the mrouted sources.  This is a prototype
for sys_errlist.

Insert the following text into netinet/in.h after the loopback stuff near
line 138.

/* Defines for Multicast INADDR */
#define INADDR_UNSPEC_GROUP     0xe0000000U     /* 224.0.0.0   */
#define INADDR_ALLHOSTS_GROUP   0xe0000001U     /* 224.0.0.1   */
#define INADDR_ALLRTRS_GROUP    0xe0000002U     /* 224.0.0.2 */
#define INADDR_MAX_LOCAL_GROUP  0xe00000ffU     /* 224.0.0.255 */

Now edit the Makefile in the mrouted sources, uncommenting the linux line
for cflags.

type make.  You should get a mrouted, mrinfo, and map-mbone.

Good luck.

_J