aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ipv6.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-12-02 00:07:46 +0000
committerGuy Harris <guy@alum.mit.edu>2001-12-02 00:07:46 +0000
commit8eba14815503f4243bd11c9cbe4d99557141d5cc (patch)
treec01274dcce3fad1e1902f301470564147c3fb292 /packet-ipv6.c
parenta7bb49b0d967c759dccab991e3ab049495a39dfc (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.c10
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);
}