aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ipv6.c
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2016-07-29 15:12:01 +0100
committerJoão Valverde <j@v6e.pt>2016-07-30 09:09:55 +0000
commitfd84add714e8d64c623007adec139f98126d33f5 (patch)
tree43ee95b5d8b0dd8cd6a6ae8de51464201e8687db /epan/dissectors/packet-ipv6.c
parenta637026a13c1d45627fd7a48b04e9ca4d1618f21 (diff)
IPv6: Add deprecation expert infos
Change-Id: I111fd8f74388e9e4b7a9d7fd1b582d2fff86cf59 Reviewed-on: https://code.wireshark.org/review/16764 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors/packet-ipv6.c')
-rw-r--r--epan/dissectors/packet-ipv6.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index 22387c354d..06cfadac3b 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -311,12 +311,14 @@ static expert_field ei_ipv6_src_route_list_multicast_addr = EI_INIT;
static expert_field ei_ipv6_routing_rpl_cmpri_cmpre_pad = EI_INIT;
static expert_field ei_ipv6_routing_rpl_addr_count_ge0 = EI_INIT;
static expert_field ei_ipv6_routing_rpl_reserved = EI_INIT;
+static expert_field ei_ipv6_routing_deprecated = EI_INIT;
static expert_field ei_ipv6_opt_jumbo_missing = EI_INIT;
static expert_field ei_ipv6_opt_jumbo_prohibited = EI_INIT;
static expert_field ei_ipv6_opt_jumbo_truncated = EI_INIT;
static expert_field ei_ipv6_opt_jumbo_fragment = EI_INIT;
static expert_field ei_ipv6_opt_invalid_len = EI_INIT;
static expert_field ei_ipv6_opt_unknown_data = EI_INIT;
+static expert_field ei_ipv6_opt_deprecated = EI_INIT;
static expert_field ei_ipv6_hopopts_not_first = EI_INIT;
static expert_field ei_ipv6_plen_exceeds_framing = EI_INIT;
static expert_field ei_ipv6_bogus_ipv6_version = EI_INIT;
@@ -530,7 +532,7 @@ static const value_string ipv6_opt_type_vals[] = {
{ IP6OPT_RPL, "RPL Option" },
{ IP6OPT_MPL, "MPL Option" },
{ IP6OPT_EXP_7E, "Experimental (0x7E)" },
- { IP6OPT_ENDI, "Endpoint Identification (DEPRECATED)" },
+ { IP6OPT_ENDI, "Endpoint Identification" },
{ IP6OPT_ILNP_NONCE, "ILNP Nonce" },
{ IP6OPT_LIO, "Line-Identification Option" },
{ IP6OPT_EXP_9E, "Experimental (0x9E)" },
@@ -610,8 +612,8 @@ ipv6_opt_type_hdr(gint type)
}
enum {
- IPv6_RT_HEADER_SOURCE_ROUTING = 0,
- IPv6_RT_HEADER_NIMROD = 1,
+ IPv6_RT_HEADER_SOURCE_ROUTING = 0, /* DEPRECATED */
+ IPv6_RT_HEADER_NIMROD = 1, /* DEPRECATED */
IPv6_RT_HEADER_MobileIP = 2,
IPv6_RT_HEADER_RPL = 3,
IPv6_RT_HEADER_SEGMENT_ROUTING = 4,
@@ -1193,9 +1195,11 @@ dissect_routing6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
switch (rt.ip6r_type) {
case IPv6_RT_HEADER_SOURCE_ROUTING:
dissect_routing6_rt0(tvb, offset, pinfo, rthdr_tree, &rthdr_ti, rt);
+ expert_add_info(pinfo, rthdr_ti.type, &ei_ipv6_routing_deprecated);
break;
case IPv6_RT_HEADER_NIMROD:
dissect_routing6_unknown(tvb, offset, pinfo, rthdr_tree, &rthdr_ti, rt);
+ expert_add_info(pinfo, rthdr_ti.type, &ei_ipv6_routing_deprecated);
break;
case IPv6_RT_HEADER_MobileIP:
dissect_routing6_mipv6(tvb, offset, pinfo, rthdr_tree, &rthdr_ti, rt);
@@ -1941,6 +1945,10 @@ dissect_opts(tvbuff_t *tvb, int offset, proto_tree *tree, packet_info *pinfo, ws
case IP6OPT_IP_DFF:
offset = dissect_opt_dff(tvb, offset, pinfo, opt_tree, &opt_ti, opt_len);
break;
+ case IP6OPT_ENDI:
+ offset = dissect_opt_unknown(tvb, offset, pinfo, opt_tree, &opt_ti, opt_len);
+ expert_add_info(pinfo, opt_ti.type, &ei_ipv6_opt_deprecated);
+ break;
case IP6OPT_EXP_1E:
case IP6OPT_EXP_3E:
case IP6OPT_EXP_5E:
@@ -3327,6 +3335,10 @@ proto_register_ipv6(void)
{ &ei_ipv6_opt_header_mismatch,
{ "ipv6.opt.header_mismatch", PI_PROTOCOL, PI_WARN,
"Wrong options extension header for type", EXPFILL }
+ },
+ { &ei_ipv6_opt_deprecated,
+ { "ipv6.opt.deprecated", PI_PROTOCOL, PI_NOTE,
+ "Option type is deprecated", EXPFILL }
}
};
@@ -3381,6 +3393,10 @@ proto_register_ipv6(void)
{ &ei_ipv6_routing_undecoded,
{ "ipv6.routing.undecoded", PI_UNDECODED, PI_NOTE,
"Undecoded IPv6 routing header field", EXPFILL }
+ },
+ { &ei_ipv6_routing_deprecated,
+ { "ipv6.routing.deprecated", PI_PROTOCOL, PI_NOTE,
+ "Routing header type is deprecated", EXPFILL }
}
};