def decode(self, buffer): routing_options = IP6_Extension_Headers.Routing_Options(buffer) self.set_decoded_protocol(routing_options) start_pos = routing_options.get_header_size() contained_protocol = routing_options.get_next_header() multi_protocol_decoder = IP6MultiProtocolDecoder(contained_protocol) child_packet = multi_protocol_decoder.decode(buffer[start_pos:]) routing_options.contains(child_packet) return routing_options
def decode(self, buffer): hop_by_hop = IP6_Extension_Headers.Hop_By_Hop(buffer) self.set_decoded_protocol(hop_by_hop) start_pos = hop_by_hop.get_header_size() contained_protocol = hop_by_hop.get_next_header() multi_protocol_decoder = IP6MultiProtocolDecoder(contained_protocol) child_packet = multi_protocol_decoder.decode(buffer[start_pos:]) hop_by_hop.contains(child_packet) return hop_by_hop