[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
i386/3645: Multicast routing broken on i386 (endian problem?)
- To: gnats@openbsd.org
- Subject: i386/3645: Multicast routing broken on i386 (endian problem?)
- From: "Karl O.Pinc" <kop@meme.com>
- Date: Sat, 24 Jan 2004 01:03:04 -0600 (CST)
- Resent-Date: Sat, 24 Jan 2004 00:15:02 -0700 (MST)
- Resent-From: gnats@cvs.openbsd.org (GNATS Filer)
- Resent-Message-Id: <200401240715.i0O7F2PP004639@cvs.openbsd.org>
- Resent-Reply-To: gnats@cvs.openbsd.org, "Karl O.Pinc" <kop@meme.com>
- Resent-To: bugs@cvs.openbsd.org
>Number: 3645
>Category: i386
>Synopsis: Multicast routing broken on i386
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jan 24 07:10:01 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Karl O. Pinc <kop@meme.com>
>Release: OpenBSD 3.3 stable as of Jan 23, 2004
>Organization:
The Meme Factory, Inc.
net
>Environment:
System : OpenBSD 3.3
Architecture: OpenBSD.i386
Machine : i386
>Description:
Multicast routing does not seem to work, although the application
has never successfully run so I can't be sure. I do know that
it's not a pf issue as I've tried with pf disabled.
There is definately a problem running mrinfo(8).
>How-To-Repeat:
Turn on MROUTING in kernel:
(Yes, I realize the OpenBSD team provides no support for other
than the GENERIC kernel, but a non-GENERIC kernel is required
to run mrouted (which is included in OpenBSD) so what am I
supposed to do?)
Build and install a new kernel according to afterboot(8).
Diff of config file:
--- GENERIC Mon Mar 10 00:37:18 2003
+++ cerberus Fri Jan 23 19:25:33 2004
@@ -8,28 +8,38 @@
include "../../../conf/GENERIC"
-option I386_CPU # CPU classes; at least one is REQUIRED
-option I486_CPU
-option I586_CPU
+# We won't ever have less than a 686, so don't worry about the
+# lesser machines.
+#option I386_CPU # CPU classes; at least one is REQUIRED
+#option I486_CPU
+#option I586_CPU
option I686_CPU
-option GPL_MATH_EMULATE # floating point emulation.
+#option GPL_MATH_EMULATE # floating point emulation.
option USER_PCICONF # user-space PCI configuration
#option VM86 # Virtual 8086 emulation
#option USER_LDT # user-settable LDT; see i386_set_ldt(2)
-option APERTURE # in-kernel aperture driver for XFree86
+#option APERTURE # in-kernel aperture driver for XFree86
#option KGDB # Remote debugger support; exclusive of DDB
#option "KGDB_DEVNAME=\"pccom\"",KGDBADDR=0x2f8,KGDBRATE=9600
-#option DUMMY_NOPS # speed hack; recommended
+# Live dangerously, we want the router to be fast.
+option DUMMY_NOPS # speed hack; recommended
option COMPAT_SVR4 # binary compatibility with SVR4
-option COMPAT_IBCS2 # binary compatibility with SCO and ISC
+#option COMPAT_IBCS2 # binary compatibility with SCO and ISC
option COMPAT_LINUX # binary compatibility with Linux
option COMPAT_FREEBSD # binary compatibility with FreeBSD
option COMPAT_BSDOS # binary compatibility with BSD/OS
+
+# TIBCO randevouz software needs multicast.
+option MROUTING # Multicast router
maxusers 32 # estimated number of users
Build a new system according to release(8).
Add following to /etc/rc.conf.local:
mrouted_flags="" # for normal use: "", if activated
multicast_router=YES # A multicast routing daemon will be run, e.g. mrouted
Reboot.
/var/log/messages then begins to accumlate lots of lines like:
Jan 23 21:59:47 cerberus mrouted[23891]: warning - received packet from 192.168.1.248 shorter (28 bytes) than hdr+data length (20+2048)
Jan 23 21:59:47 cerberus mrouted[23891]: warning - received packet from 192.168.1.19 shorter (32 bytes) than hdr+data length (24+2048)
mrinfo(8) puts 4 similar lines on the screen when run and produces
no other output.
>Fix:
According to http://www.sunmanagers.org/archives/2000/0653.html
the numbers 28 and 32 look suspiciously like a big-endian/
little-endian network to host byte order conversion problem,
although a cursory examination of mrouted/igmp.c shows that
the fixes recommended on the page _seem_ to have been applied.
>Release-Note:
>Audit-Trail:
>Unformatted: