equal
deleted
inserted
replaced
1006 } |
1006 } |
1007 |
1007 |
1008 uint32_t Icmpv6DestinationUnreachable::Deserialize (Buffer::Iterator start) |
1008 uint32_t Icmpv6DestinationUnreachable::Deserialize (Buffer::Iterator start) |
1009 { |
1009 { |
1010 uint16_t length = start.GetSize () - 8; |
1010 uint16_t length = start.GetSize () - 8; |
1011 uint8_t data[length]; |
1011 uint8_t* data = new uint8_t[length]; |
1012 Buffer::Iterator i = start; |
1012 Buffer::Iterator i = start; |
1013 |
1013 |
1014 SetType (i.ReadU8 ()); |
1014 SetType (i.ReadU8 ()); |
1015 SetCode (i.ReadU8 ()); |
1015 SetCode (i.ReadU8 ()); |
1016 m_checksum = i.ReadU16 (); |
1016 m_checksum = i.ReadU16 (); |
1017 i.ReadNtohU32 (); |
1017 i.ReadNtohU32 (); |
1018 i.Read (data, length); |
1018 i.Read (data, length); |
1019 m_packet = Create<Packet> (data, length); |
1019 m_packet = Create<Packet> (data, length); |
1020 |
1020 |
|
1021 delete[] data; |
1021 return GetSerializedSize (); |
1022 return GetSerializedSize (); |
1022 } |
1023 } |
1023 |
1024 |
1024 NS_OBJECT_ENSURE_REGISTERED (Icmpv6TooBig); |
1025 NS_OBJECT_ENSURE_REGISTERED (Icmpv6TooBig); |
1025 |
1026 |
1104 } |
1105 } |
1105 |
1106 |
1106 uint32_t Icmpv6TooBig::Deserialize (Buffer::Iterator start) |
1107 uint32_t Icmpv6TooBig::Deserialize (Buffer::Iterator start) |
1107 { |
1108 { |
1108 uint16_t length = start.GetSize () - 8; |
1109 uint16_t length = start.GetSize () - 8; |
1109 uint8_t data[length]; |
1110 uint8_t* data = new uint8_t[length]; |
1110 Buffer::Iterator i = start; |
1111 Buffer::Iterator i = start; |
1111 |
1112 |
1112 SetType (i.ReadU8 ()); |
1113 SetType (i.ReadU8 ()); |
1113 SetCode (i.ReadU8 ()); |
1114 SetCode (i.ReadU8 ()); |
1114 m_checksum = i.ReadU16 (); |
1115 m_checksum = i.ReadU16 (); |
1115 SetMtu (i.ReadNtohU32 ()); |
1116 SetMtu (i.ReadNtohU32 ()); |
1116 i.Read (data, length); |
1117 i.Read (data, length); |
1117 m_packet = Create<Packet> (data, length); |
1118 m_packet = Create<Packet> (data, length); |
1118 |
1119 |
|
1120 delete[] data; |
1119 return GetSerializedSize (); |
1121 return GetSerializedSize (); |
1120 } |
1122 } |
1121 |
1123 |
1122 NS_OBJECT_ENSURE_REGISTERED (Icmpv6TimeExceeded); |
1124 NS_OBJECT_ENSURE_REGISTERED (Icmpv6TimeExceeded); |
1123 |
1125 |
1191 } |
1193 } |
1192 |
1194 |
1193 uint32_t Icmpv6TimeExceeded::Deserialize (Buffer::Iterator start) |
1195 uint32_t Icmpv6TimeExceeded::Deserialize (Buffer::Iterator start) |
1194 { |
1196 { |
1195 uint16_t length = start.GetSize () - 8; |
1197 uint16_t length = start.GetSize () - 8; |
1196 uint8_t data[length]; |
1198 uint8_t* data = new uint8_t[length]; |
1197 Buffer::Iterator i = start; |
1199 Buffer::Iterator i = start; |
1198 |
1200 |
1199 SetType (i.ReadU8 ()); |
1201 SetType (i.ReadU8 ()); |
1200 SetCode (i.ReadU8 ()); |
1202 SetCode (i.ReadU8 ()); |
1201 m_checksum = i.ReadU16 (); |
1203 m_checksum = i.ReadU16 (); |
1202 i.ReadNtohU32 (); |
1204 i.ReadNtohU32 (); |
1203 i.Read (data, length); |
1205 i.Read (data, length); |
1204 m_packet = Create<Packet> (data, length); |
1206 m_packet = Create<Packet> (data, length); |
1205 |
1207 |
|
1208 delete[] data; |
1206 return GetSerializedSize (); |
1209 return GetSerializedSize (); |
1207 } |
1210 } |
1208 |
1211 |
1209 NS_OBJECT_ENSURE_REGISTERED (Icmpv6ParameterError); |
1212 NS_OBJECT_ENSURE_REGISTERED (Icmpv6ParameterError); |
1210 |
1213 |
1289 } |
1292 } |
1290 |
1293 |
1291 uint32_t Icmpv6ParameterError::Deserialize (Buffer::Iterator start) |
1294 uint32_t Icmpv6ParameterError::Deserialize (Buffer::Iterator start) |
1292 { |
1295 { |
1293 uint16_t length = start.GetSize () - 8; |
1296 uint16_t length = start.GetSize () - 8; |
1294 uint8_t data[length]; |
1297 uint8_t* data = new uint8_t[length]; |
1295 Buffer::Iterator i = start; |
1298 Buffer::Iterator i = start; |
1296 |
1299 |
1297 SetType (i.ReadU8 ()); |
1300 SetType (i.ReadU8 ()); |
1298 SetCode (i.ReadU8 ()); |
1301 SetCode (i.ReadU8 ()); |
1299 m_checksum = i.ReadU16 (); |
1302 m_checksum = i.ReadU16 (); |
1300 SetPtr (i.ReadNtohU32 ()); |
1303 SetPtr (i.ReadNtohU32 ()); |
1301 i.Read (data, length); |
1304 i.Read (data, length); |
1302 m_packet = Create<Packet> (data, length); |
1305 m_packet = Create<Packet> (data, length); |
|
1306 delete[] data; |
1303 |
1307 |
1304 return GetSerializedSize (); |
1308 return GetSerializedSize (); |
1305 } |
1309 } |
1306 |
1310 |
1307 NS_OBJECT_ENSURE_REGISTERED (Icmpv6OptionHeader); |
1311 NS_OBJECT_ENSURE_REGISTERED (Icmpv6OptionHeader); |
1775 SetLength (length); |
1779 SetLength (length); |
1776 i.ReadU16 (); |
1780 i.ReadU16 (); |
1777 i.ReadU32 (); |
1781 i.ReadU32 (); |
1778 |
1782 |
1779 uint32_t len2 = (GetLength () - 1) * 8; |
1783 uint32_t len2 = (GetLength () - 1) * 8; |
1780 uint8_t buff[len2]; |
1784 uint8_t* buff = new uint8_t[len2]; |
1781 i.Read (buff, len2); |
1785 i.Read (buff, len2); |
1782 m_packet = Create<Packet> (buff, len2); |
1786 m_packet = Create<Packet> (buff, len2); |
|
1787 delete[] buff; |
1783 |
1788 |
1784 return GetSerializedSize (); |
1789 return GetSerializedSize (); |
1785 } |
1790 } |
1786 |
1791 |
1787 } /* namespace ns3 */ |
1792 } /* namespace ns3 */ |