From 60dc5f61094f087256cd30e51d84b6c213959b65 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Sun, 12 Oct 2008 15:39:23 +0000 Subject: [PATCH] * fixed receiving of IP-level broadcasts - fixing the rest of #2065 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27996 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/stack/datalink.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/network/stack/datalink.cpp b/src/add-ons/kernel/network/stack/datalink.cpp index ec4f80724b..68bff84c65 100644 --- a/src/add-ons/kernel/network/stack/datalink.cpp +++ b/src/add-ons/kernel/network/stack/datalink.cpp @@ -435,8 +435,10 @@ datalink_is_local_address(net_domain *_domain, const struct sockaddr *address, if (domain->address_module->equal_addresses(interface->address, address)) break; - // check for matching broadcast address if interface support broadcasting - if (interface->flags & IFF_BROADCAST + // check for matching broadcast address if interface supports + // broadcasting (IFF_BROADCAST is a link-level flag, so it is + // a property of the device) + if ((interface->device->flags & IFF_BROADCAST) && domain->address_module->equal_addresses(interface->destination, address)) { matchedType = MSG_BCAST;