From nobody  Tue Sep  1 19:11:17 1998
Received: (from nobody@localhost)
          by hub.freebsd.org (8.8.8/8.8.8) id TAA14491;
          Tue, 1 Sep 1998 19:11:17 -0700 (PDT)
          (envelope-from nobody)
Message-Id: <199809020211.TAA14491@hub.freebsd.org>
Date: Tue, 1 Sep 1998 19:11:17 -0700 (PDT)
From: mccanne@cs.berkeley.edu
To: freebsd-gnats-submit@freebsd.org
Subject: outbound, fragmented multicast packets are mishandled at the data-link layer
X-Send-Pr-Version: www-1.0

>Number:         7802
>Category:       kern
>Synopsis:       [MFC] outbound, fragmented multicast packets are mishandled at the data-link layer
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep  1 19:20:01 PDT 1998
>Closed-Date:    Thu Nov 19 19:09:42 PST 1998
>Last-Modified:  Thu Nov 19 19:11:14 PST 1998
>Originator:     Steven McCanne
>Release:        2.2.6
>Organization:
University of California, Berkeley
>Environment:
>Description:
Multicast packets larger than an MTU are fragmented and the fragments beyond the first have an incorrect MAC address because the M_MCAST bit is not copied into the fragmented packets.
>How-To-Repeat:
Run a multicast application on an ethernet that generates packets larger than the local net's MTU.  Run tcpdump -e and note that the ethernet MAC address does not conform to the IP-to-ethernet address mapping algorithm.
>Fix:
*** netinet/ip_output.c	1998/09/02 00:58:59	1.1
--- netinet/ip_output.c	1998/09/02 01:09:24
***************
*** 431,436 ****
--- 431,437 ----
  			ipstat.ips_odropped++;
  			goto sendorfree;
  		}
+ 		m->m_flags |= m0->m_flags & M_MCAST;
  		m->m_data += max_linkhdr;
  		mhip = mtod(m, struct ip *);
  		*mhip = *ip;

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->suspended 
State-Changed-By: wollman 
State-Changed-When: Wed Sep 2 08:11:18 PDT 1998 
State-Changed-Why:  
Fixed in rev. 1.82, still applicable to 2.2. 
State-Changed-From-To: suspended->closed 
State-Changed-By: jkoshy 
State-Changed-When: Thu Nov 19 19:09:42 PST 1998 
State-Changed-Why:  
Fixed in rev 1.82 of "src/sys/netinet/ip_output.c" by wollman. 
Merged to rev 1.44.2.12 of "src/sys/netinet/ip_output.c" by jkoshy. 
>Unformatted:
