diff --git a/src/Sessions.cc b/src/Sessions.cc index 8b84063368..54a6a85f7b 100644 --- a/src/Sessions.cc +++ b/src/Sessions.cc @@ -282,11 +282,16 @@ void NetSessions::NextPacket(double t, const struct pcap_pkthdr* hdr, else if ( arp_analyzer && arp_analyzer->IsARP(pkt, hdr_size) ) arp_analyzer->NextPacket(t, hdr, pkt, hdr_size); - else + else if ( ip->ip_v == 6 ) { IP_Hdr ip_hdr((const struct ip6_hdr*) (pkt + hdr_size)); DoNextPacket(t, hdr, &ip_hdr, pkt, hdr_size); } + else + { + Weird("unknown_packet_type", hdr, pkt); + return; + } } if ( dump_this_packet && ! record_all_packets )