aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ipv6.c
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2016-07-30 05:08:45 +0100
committerJoão Valverde <j@v6e.pt>2016-07-30 07:58:44 +0000
commita637026a13c1d45627fd7a48b04e9ca4d1618f21 (patch)
tree83f251dc945b154e8f520c4cc4ad6786d4fad10c /epan/dissectors/packet-ipv6.c
parent98e8b268e5f5583522a826512cf57c2f683cb9ea (diff)
IPv6: Add experimental routing header types
Change-Id: I22dfa604abd8ade21d240104bf84af815aa2bc24 Reviewed-on: https://code.wireshark.org/review/16783 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.c40
1 files changed, 22 insertions, 18 deletions
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index e36e03db52..22387c354d 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -609,6 +609,28 @@ ipv6_opt_type_hdr(gint type)
return IPv6_OPT_HDR_ANY;
}
+enum {
+ IPv6_RT_HEADER_SOURCE_ROUTING = 0,
+ IPv6_RT_HEADER_NIMROD = 1,
+ IPv6_RT_HEADER_MobileIP = 2,
+ IPv6_RT_HEADER_RPL = 3,
+ IPv6_RT_HEADER_SEGMENT_ROUTING = 4,
+ IPv6_RT_HEADER_EXP1 = 253,
+ IPv6_RT_HEADER_EXP2 = 254
+};
+
+/* Routing Header Types */
+static const value_string routing_header_type[] = {
+ { IPv6_RT_HEADER_SOURCE_ROUTING, "Source Route" },
+ { IPv6_RT_HEADER_NIMROD, "Nimrod" },
+ { IPv6_RT_HEADER_MobileIP, "Type 2 Routing" },
+ { IPv6_RT_HEADER_RPL, "RPL Source Route" },
+ { IPv6_RT_HEADER_SEGMENT_ROUTING, "Segment Routing" },
+ { IPv6_RT_HEADER_EXP1, "Experiment 1" },
+ { IPv6_RT_HEADER_EXP2, "Experiment 2" },
+ { 0, NULL }
+};
+
gboolean
capture_ipv6(const guchar *pd, int offset, int len, capture_packet_info_t *cpinfo, const union wtap_pseudo_header *pseudo_header)
{
@@ -804,24 +826,6 @@ ipv6_reassemble_cleanup(void)
reassembly_table_destroy(&ipv6_reassembly_table);
}
-enum {
- IPv6_RT_HEADER_SOURCE_ROUTING=0,
- IPv6_RT_HEADER_NIMROD,
- IPv6_RT_HEADER_MobileIP,
- IPv6_RT_HEADER_RPL,
- IPv6_RT_HEADER_SEGMENT_ROUTING
-};
-
-/* Routing Header Types */
-static const value_string routing_header_type[] = {
- { IPv6_RT_HEADER_SOURCE_ROUTING, "IPv6 Source Routing" },
- { IPv6_RT_HEADER_NIMROD, "Nimrod" },
- { IPv6_RT_HEADER_MobileIP, "Mobile IP" },
- { IPv6_RT_HEADER_RPL, "RPL" },
- { IPv6_RT_HEADER_SEGMENT_ROUTING, "Segment Routing"},
- { 0, NULL }
-};
-
struct rthdr_proto_item {
proto_item *len;
proto_item *type;