public override PacketData GetBytes(IHeader header, PacketData packetData) { var ospfHeader = (OspfHeader)header; var currentData = new List<byte>(); currentData.Add(ospfHeader.Version); currentData.Add(ospfHeader.Type); byte[] array = GetBytes((UInt16)(packetData.Data.Count + 24 - packetData.GetProperty<ushort>("OspfLlsDataBlockHeaderSize"))); currentData.AddRange(array); currentData.AddRange(GetNotReversedBytes(ospfHeader.RouterID)); currentData.AddRange(GetBytes(ospfHeader.AreaID)); //currentData.AddRange(new byte[] { 1, 2 }); //currentData.AddRange(new byte[] { 3, 4 }); //currentData.AddRange(new byte[] { 5, 6, 7, 8 }); //currentData.AddRange(new byte[] { 9, 0xa, 0xb, 0xc }); currentData.AddRange(new byte[] { 0, 0 }); currentData.AddRange(new byte[] { 0, 0 }); currentData.AddRange(new byte[] { 0, 0, 0, 0 }); currentData.AddRange(new byte[] { 0, 0, 0, 0 }); currentData.AddRange(packetData.Data); byte[] crc = Checksum.GetCrc(currentData.ToArray()); currentData[12] = crc[1]; currentData[13] = crc[0]; return packetData.UpdateData(currentData); }