bool type_match = IcmpPayloadHeader.get_type() == type ? true : false;
bool identifier_match = IcmpPayloadHeader.get_identifier() == identifier ? true: false;
bool seq_num_match = IcmpPayloadHeader.get_sequence_number() == sequence_number ? true : false;
+#ifdef IPV6_DATA_PRESENT_IN_ISTREAM
+ // TODO operator>> does not read IpHeader, thus this object is not initialized
+ // must check why IPv6 data does not come in the istream like IPv4 data
bool address_match = IpHeader.get_source_address() == source_address ? true : false;
return ( type_match && identifier_match && seq_num_match && address_match );
+#else
+ return ( type_match && identifier_match && seq_num_match );
+#endif
}
/**
Icmpv6Packet &packet
)
{
+#ifdef IPV6_DATA_PRESENT_IN_ISTREAM
//TODO WHY IPv6 does not come like IPv4????
- //is >> packet.IpHeader >> packet.IcmpPayloadHeader >> packet.IcmpPayloadData;
+ is >> packet.IpHeader >> packet.IcmpPayloadHeader >> packet.IcmpPayloadData;
+#else
is >> packet.IcmpPayloadHeader >> packet.IcmpPayloadData;
+#endif
return is;
}