|
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 ()); |
|
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 |
|
|
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 ()); |
|
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 |
|
|
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 ()); |
|
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 |
|
|
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 ()); |
|
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 |
} |
|
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 |
} |