From owner-freebsd-bugs Tue Sep 1 19:20:11 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA16069 for freebsd-bugs-outgoing; Tue, 1 Sep 1998 19:20:11 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA16006 for ; Tue, 1 Sep 1998 19:20:08 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id TAA26563; Tue, 1 Sep 1998 19:20:01 -0700 (PDT) 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 X-Send-Pr-Version: www-1.0 Subject: kern/7802: outbound, fragmented multicast packets are mishandled at the data-link layer Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 7802 >Category: kern >Synopsis: outbound, fragmented multicast packets are mishandled at the data-link layer >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Sep 1 19:20:01 PDT 1998 >Last-Modified: >Originator: Steven McCanne >Organization: University of California, Berkeley >Release: 2.2.6 >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; >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message