diff --git a/stack_gvisor_icmp.go b/stack_gvisor_icmp.go index c9a7915..e02aa45 100644 --- a/stack_gvisor_icmp.go +++ b/stack_gvisor_icmp.go @@ -225,7 +225,8 @@ func (w *ICMPBackWriter) WritePacket(p []byte) error { } func icmpWritePacketBuffer(action DirectRouteDestination, packetBuffer *stack.PacketBuffer) error { - packetSlice := packetBuffer.TransportHeader().Slice() + packetSlice := packetBuffer.NetworkHeader().Slice() + packetSlice = append(packetSlice, packetBuffer.TransportHeader().Slice()...) packetSlice = append(packetSlice, packetBuffer.Data().AsRange().ToSlice()...) return action.WritePacket(buf.As(packetSlice).ToOwned()) }