From Mark C. Brown: fix support for nettl NETTL_SUBSYS_NS_LS_ICMP and
NETTL_SUBSYS_NS_LS_ICMPV6 - they don't even have IP headers, so we need to directly call the ICMP and ICMPv6 dissectors. svn path=/trunk/; revision=12047
This commit is contained in:
parent
f9a64fcf9d
commit
3cdebd31db
|
@ -1652,6 +1652,7 @@ proto_reg_handoff_icmpv6(void)
|
||||||
|
|
||||||
icmpv6_handle = create_dissector_handle(dissect_icmpv6, proto_icmpv6);
|
icmpv6_handle = create_dissector_handle(dissect_icmpv6, proto_icmpv6);
|
||||||
dissector_add("ip.proto", IP_PROTO_ICMPV6, icmpv6_handle);
|
dissector_add("ip.proto", IP_PROTO_ICMPV6, icmpv6_handle);
|
||||||
|
dissector_add("wtap_encap", WTAP_ENCAP_RAW_ICMPV6, icmpv6_handle);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get a handle for the IPv6 dissector.
|
* Get a handle for the IPv6 dissector.
|
||||||
|
|
|
@ -1894,4 +1894,5 @@ proto_reg_handoff_icmp(void)
|
||||||
|
|
||||||
icmp_handle = create_dissector_handle(dissect_icmp, proto_icmp);
|
icmp_handle = create_dissector_handle(dissect_icmp, proto_icmp);
|
||||||
dissector_add("ip.proto", IP_PROTO_ICMP, icmp_handle);
|
dissector_add("ip.proto", IP_PROTO_ICMP, icmp_handle);
|
||||||
|
dissector_add("wtap_encap", WTAP_ENCAP_RAW_ICMP, icmp_handle);
|
||||||
}
|
}
|
||||||
|
|
|
@ -311,10 +311,12 @@ nettl_read_rec_header(wtap *wth, FILE_T fh, struct wtap_pkthdr *phdr,
|
||||||
|| (encap[3] == NETTL_SUBSYS_NS_LS_LOOPBACK)
|
|| (encap[3] == NETTL_SUBSYS_NS_LS_LOOPBACK)
|
||||||
|| (encap[3] == NETTL_SUBSYS_NS_LS_UDP)
|
|| (encap[3] == NETTL_SUBSYS_NS_LS_UDP)
|
||||||
|| (encap[3] == NETTL_SUBSYS_NS_LS_TCP)
|
|| (encap[3] == NETTL_SUBSYS_NS_LS_TCP)
|
||||||
|| (encap[3] == NETTL_SUBSYS_NS_LS_ICMP)
|
|| (encap[3] == NETTL_SUBSYS_NS_LS_IPV6)) {
|
||||||
|| (encap[3] == NETTL_SUBSYS_NS_LS_IPV6)
|
|
||||||
|| (encap[3] == NETTL_SUBSYS_NS_LS_ICMPV6) ) {
|
|
||||||
phdr->pkt_encap = WTAP_ENCAP_RAW_IP;
|
phdr->pkt_encap = WTAP_ENCAP_RAW_IP;
|
||||||
|
} else if (encap[3] == NETTL_SUBSYS_NS_LS_ICMP) {
|
||||||
|
phdr->pkt_encap = WTAP_ENCAP_RAW_ICMP;
|
||||||
|
} else if (encap[3] == NETTL_SUBSYS_NS_LS_ICMPV6) {
|
||||||
|
phdr->pkt_encap = WTAP_ENCAP_RAW_ICMPV6;
|
||||||
} else if (encap[3] == NETTL_SUBSYS_PCI_FDDI) {
|
} else if (encap[3] == NETTL_SUBSYS_PCI_FDDI) {
|
||||||
phdr->pkt_encap = WTAP_ENCAP_FDDI;
|
phdr->pkt_encap = WTAP_ENCAP_FDDI;
|
||||||
} else if( (encap[3] == NETTL_SUBSYS_PCI_TR)
|
} else if( (encap[3] == NETTL_SUBSYS_PCI_TR)
|
||||||
|
|
|
@ -251,6 +251,12 @@ static const struct encap_type_info {
|
||||||
|
|
||||||
/* WTAP_ENCAP_BACNET_MS_TP */
|
/* WTAP_ENCAP_BACNET_MS_TP */
|
||||||
{ "BACnet MS/TP", "bacnet-ms-tp" },
|
{ "BACnet MS/TP", "bacnet-ms-tp" },
|
||||||
|
|
||||||
|
/* WTAP_ENCAP_RAW_ICMP */
|
||||||
|
{ "Raw ICMP", "raw-icmp" },
|
||||||
|
|
||||||
|
/* WTAP_ENCAP_RAW_ICMPV6 */
|
||||||
|
{ "Raw ICMPv6", "raw-icmpv6" },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Name that should be somewhat descriptive. */
|
/* Name that should be somewhat descriptive. */
|
||||||
|
|
|
@ -153,9 +153,11 @@
|
||||||
#define WTAP_ENCAP_SYMANTEC 61
|
#define WTAP_ENCAP_SYMANTEC 61
|
||||||
#define WTAP_ENCAP_APPLE_IP_OVER_IEEE1394 62
|
#define WTAP_ENCAP_APPLE_IP_OVER_IEEE1394 62
|
||||||
#define WTAP_ENCAP_BACNET_MS_TP 63
|
#define WTAP_ENCAP_BACNET_MS_TP 63
|
||||||
|
#define WTAP_ENCAP_RAW_ICMP 64
|
||||||
|
#define WTAP_ENCAP_RAW_ICMPV6 65
|
||||||
|
|
||||||
/* last WTAP_ENCAP_ value + 1 */
|
/* last WTAP_ENCAP_ value + 1 */
|
||||||
#define WTAP_NUM_ENCAP_TYPES 64
|
#define WTAP_NUM_ENCAP_TYPES 66
|
||||||
|
|
||||||
/* File types that can be read by wiretap.
|
/* File types that can be read by wiretap.
|
||||||
We support writing some many of these file types, too, so we
|
We support writing some many of these file types, too, so we
|
||||||
|
|
Loading…
Reference in New Issue