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:
parent
5792df1cf9
commit
ab879a6479
|
@ -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.
|
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
||||||
|
@ -632,6 +632,8 @@ skip_ipsec:
|
||||||
m->m_data += max_linkhdr;
|
m->m_data += max_linkhdr;
|
||||||
mhip = mtod(m, struct ip *);
|
mhip = mtod(m, struct ip *);
|
||||||
*mhip = *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)) {
|
if (hlen > sizeof (struct ip)) {
|
||||||
mhlen = ip_optcopy(ip, mhip) + sizeof (struct ip);
|
mhlen = ip_optcopy(ip, mhip) + sizeof (struct ip);
|
||||||
mhip->ip_hl = mhlen >> 2;
|
mhip->ip_hl = mhlen >> 2;
|
||||||
|
|
Loading…
Reference in New Issue