summaryrefslogtreecommitdiff
path: root/sys/netinet/if_ether.c
diff options
context:
space:
mode:
authorCamiel Dobbelaar <camield@cvs.openbsd.org>2011-06-27 13:01:52 +0000
committerCamiel Dobbelaar <camield@cvs.openbsd.org>2011-06-27 13:01:52 +0000
commit96e06de497ab8887feebeb7faabe0727705f265e (patch)
tree5db1a7551f8f7169d3c5a703f6eb97667964a4b8 /sys/netinet/if_ether.c
parentb1e3e844f1a544dd505d61af6799df0965641b34 (diff)
Mark ARP request broadcasts with M_BCAST in the mbuf flags.
Fixes a case in bridge_output() where ARP requests are not broadcast on interfaces without the discovery flag. ok claudio deraadt
Diffstat (limited to 'sys/netinet/if_ether.c')
-rw-r--r--sys/netinet/if_ether.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index 8645dbf5e2d..b26476036b4 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ether.c,v 1.88 2010/07/22 00:41:55 deraadt Exp $ */
+/* $OpenBSD: if_ether.c,v 1.89 2011/06/27 13:01:51 camield Exp $ */
/* $NetBSD: if_ether.c,v 1.31 1996/05/11 12:59:58 mycroft Exp $ */
/*
@@ -359,6 +359,7 @@ arprequest(ifp, sip, tip, enaddr)
bcopy((caddr_t)tip, (caddr_t)ea->arp_tpa, sizeof(ea->arp_tpa));
sa.sa_family = pseudo_AF_HDRCMPLT;
sa.sa_len = sizeof(sa);
+ m->m_flags |= M_BCAST;
(*ifp->if_output)(ifp, m, &sa, (struct rtentry *)0);
}
@@ -994,6 +995,7 @@ revarprequest(ifp)
sizeof(ea->arp_tha));
sa.sa_family = pseudo_AF_HDRCMPLT;
sa.sa_len = sizeof(sa);
+ m->m_flags |= M_BCAST;
ifp->if_output(ifp, m, &sa, (struct rtentry *)0);
}