Copy M_BCAST and M_MCAST flags when fragmenting a packet (else

Multicast packets won't be send to the correct link layer address
by the interface driver).
By Artur Grabowski, PR 9772.
This commit is contained in:
is 2000-04-13 11:48:07 +00:00
parent 5792df1cf9
commit ab879a6479
1 changed files with 3 additions and 1 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: ip_output.c,v 1.72 2000/03/31 14:31:03 jdolecek Exp $ */
/* $NetBSD: ip_output.c,v 1.73 2000/04/13 11:48:07 is Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@ -632,6 +632,8 @@ skip_ipsec:
m->m_data += max_linkhdr;
mhip = mtod(m, struct ip *);
*mhip = *ip;
/* 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;