|
|
| 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 |
} |