diff --git a/src/inet/networklayer/ipv6/Ipv6.cc b/src/inet/networklayer/ipv6/Ipv6.cc index a45f4fdd267..e013a4f0781 100644 --- a/src/inet/networklayer/ipv6/Ipv6.cc +++ b/src/inet/networklayer/ipv6/Ipv6.cc @@ -401,9 +401,10 @@ void Ipv6::handleMessageFromHL(Packet *packet) void Ipv6::datagramLocalOut(Packet *packet, const NetworkInterface *destIE, Ipv6Address requestedNextHopAddress) { const auto& ipv6Header = packet->peekAtFront(); + // route packet if (destIE != nullptr) - fragmentPostRouting(packet, destIE, MacAddress::BROADCAST_ADDRESS, true); // FIXME what MAC address to use? + fragmentPostRouting(packet, destIE, ipv6Header->getDestAddress(), true); else if (!ipv6Header->getDestAddress().isMulticast()) routePacket(packet, destIE, nullptr, requestedNextHopAddress, true); else