[ECOS] 1.3 Incorrect handling of ip multicast fragments.

Larice Robert larice@vidisys.de
Fri May 31 05:44:00 GMT 2002


the ecos 1.3 net stack (ported from OpenBSD) has a bug when sending
  multicast packets large enough to be fragmented.
this bug has been fixed for OpenBSD long ago.
the orignal OpenBSDbug report and fix can be found on dejanews:
 Subject: kern/9772: Incorrect handling of ip multicast fragments.

this patch can be applied to ecos:

--- ecos-orig/packages/net/tcpip/current/src/sys/netinet/ip_output.c	Tue Jun  6 10:39:42 2000
+++ ecos/packages/net/tcpip/current/src/sys/netinet/ip_output.c	Mon May  6 12:02:35 2002
@@ -876,8 +876,13 @@
 		mnext = &m->m_nextpkt;
 		m->m_data += max_linkhdr;
 		mhip = mtod(m, struct ip *);
 		*mhip = *ip;
+
+#warning "this ????"
+/* we must inherit MCAST and BCAST flags */
+m->m_flags |= m0->m_flags & (M_MCAST|M_BCAST);
+
 		if (hlen > sizeof (struct ip)) {
 			mhlen = ip_optcopy(ip, mhip) + sizeof (struct ip);
 			mhip->ip_hl = mhlen >> 2;
 		}


Robert Larice

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list