diff options
author | Guy Harris <guy@alum.mit.edu> | 2001-12-02 00:07:46 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2001-12-02 00:07:46 +0000 |
commit | 8eba14815503f4243bd11c9cbe4d99557141d5cc (patch) | |
tree | c01274dcce3fad1e1902f301470564147c3fb292 /packet-ipv6.c | |
parent | a7bb49b0d967c759dccab991e3ab049495a39dfc (diff) |
An NLPID of 1 means T.70 when used as an X.263/ISO 9577 initial protocol
identifier, but means X.29 when used as an X.263/ISO 9577 secondary
protocol identifier.
Add support for the IPv6 NLPID, and Ethernet type, in more places.
Fix up the handling of the user data of a CALL REQUEST packet to more
correctly distinguish between user data containing an NLPID and user
data containing an X.264/ISO 11570 UN TPDU. If it's an NLPID, use
"nlpid_vals" to show its value.
Put that user data in a subtree.
Create a new "x.25.spi" dissector table, for protocols running atop
X.25, rather than having a built-in switch statement, so that other
protocols can register themselves by NLPID.
svn path=/trunk/; revision=4300
Diffstat (limited to 'packet-ipv6.c')
-rw-r--r-- | packet-ipv6.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/packet-ipv6.c b/packet-ipv6.c index b41a877cab..aee65bf2c2 100644 --- a/packet-ipv6.c +++ b/packet-ipv6.c @@ -1,7 +1,7 @@ /* packet-ipv6.c * Routines for IPv6 packet disassembly * - * $Id: packet-ipv6.c,v 1.68 2001/11/26 04:52:50 hagbard Exp $ + * $Id: packet-ipv6.c,v 1.69 2001/12/02 00:07:46 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -54,6 +54,7 @@ #include "etypes.h" #include "ppptypes.h" #include "aftypes.h" +#include "nlpid.h" /* * NOTE: ipv6.nxt is not very useful as we will have chained header. @@ -1155,8 +1156,13 @@ proto_reg_handoff_ipv6(void) data_handle = find_dissector("data"); dissector_add("ethertype", ETHERTYPE_IPv6, dissect_ipv6, proto_ipv6); dissector_add("ppp.protocol", PPP_IPV6, dissect_ipv6, proto_ipv6); + dissector_add("ppp.protocol", ETHERTYPE_IPv6, dissect_ipv6, proto_ipv6); + dissector_add("gre.proto", ETHERTYPE_IPv6, dissect_ipv6, proto_ipv6); dissector_add("ip.proto", IP_PROTO_IPV6, dissect_ipv6, proto_ipv6); + dissector_add("ip.proto", IP_PROTO_NONE, dissect_ipv6_none, proto_ipv6); dissector_add("null.type", BSD_AF_INET6_BSD, dissect_ipv6, proto_ipv6); dissector_add("null.type", BSD_AF_INET6_FREEBSD, dissect_ipv6, proto_ipv6); - dissector_add("ip.proto", IP_PROTO_NONE, dissect_ipv6_none, proto_ipv6); + dissector_add("chdlctype", ETHERTYPE_IPv6, dissect_ipv6, proto_ipv6); + dissector_add("fr.ietf", NLPID_IP6, dissect_ipv6, proto_ipv6); + dissector_add("x.25.spi", NLPID_IP6, dissect_ipv6, proto_ipv6); } |