This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
1.3 Incorrect handling of ip multicast fragments.
- From: Larice Robert <larice at vidisys dot de>
- To: ecos-discuss at sources dot redhat dot com
- Date: Fri, 31 May 2002 14:47:07 +0200 (CEST)
- Subject: [ECOS] 1.3 Incorrect handling of ip multicast fragments.
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