Author: axeld Date: 2010-12-04 15:30:10 +0100 (Sat, 04 Dec 2010) New Revision: 39721 Changeset: http://dev.haiku-os.org/changeset/39721 Modified: haiku/trunk/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/ethernet_frame.cpp Log: * Sending data required sockaddr_dl addresses without an interface name; it can now deal with any sockaddr_dl as one would expect. Modified: haiku/trunk/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/ethernet_frame.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/ethernet_frame.cpp 2010-12-04 14:27:34 UTC (rev 39720) +++ haiku/trunk/src/add-ons/kernel/network/datalink_protocols/ethernet_frame/ethernet_frame.cpp 2010-12-04 14:30:10 UTC (rev 39721) @@ -153,11 +153,11 @@ ether_header &header = bufferHeader.Data(); header.type = htons(source.sdl_e_type); - memcpy(header.source, source.sdl_data, ETHER_ADDRESS_LENGTH); + memcpy(header.source, LLADDR(&source), ETHER_ADDRESS_LENGTH); if ((buffer->flags & MSG_BCAST) != 0) memcpy(header.destination, kBroadcastAddress, ETHER_ADDRESS_LENGTH); else - memcpy(header.destination, destination.sdl_data, ETHER_ADDRESS_LENGTH); + memcpy(header.destination, LLADDR(&destination), ETHER_ADDRESS_LENGTH); bufferHeader.Sync(); // make sure the framing is already written to the buffer at this point