diff options
author | Florian Lohoff <f@zz.de> | 2014-07-23 16:41:43 +0200 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2014-07-23 15:24:16 +0000 |
commit | 822d0ca132647d76417a6d0976e21d4444a18136 (patch) | |
tree | ac68b95bd3ec6b1f07aae360b06f8d234d621ca7 /epan/dissectors/packet-redback.c | |
parent | 26e4b947d359f71a6c488cc6abd9a15531ee37ac (diff) |
Add dissecting of IPv6 in Redback Smartedge Captures
Change-Id: I028d294235a4e1d55096df8face48c4a74710506
Reviewed-on: https://code.wireshark.org/review/3176
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-redback.c')
-rw-r--r-- | epan/dissectors/packet-redback.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/epan/dissectors/packet-redback.c b/epan/dissectors/packet-redback.c index b4ba8775e3..41367cfa38 100644 --- a/epan/dissectors/packet-redback.c +++ b/epan/dissectors/packet-redback.c @@ -43,6 +43,7 @@ static dissector_table_t osinl_incl_subdissector_table; static dissector_table_t osinl_excl_subdissector_table; static dissector_handle_t ipv4_handle; +static dissector_handle_t ipv6_handle; static dissector_handle_t ethnofcs_handle; static dissector_handle_t clnp_handle; static dissector_handle_t arp_handle; @@ -179,6 +180,13 @@ dissect_redback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) next_tvb = tvb_new_subset_remaining(tvb, dataoff); call_dissector(ethnofcs_handle, next_tvb, pinfo, tree); break; + case 0x09: /* IPv6 either encapsulated as ethernet or native ip */ + next_tvb = tvb_new_subset_remaining(tvb, dataoff); + if (dataoff == l3off) + call_dissector(ipv6_handle, next_tvb, pinfo, tree); + else + call_dissector(ethnofcs_handle, next_tvb, pinfo, tree); + break; default: if (tree) proto_tree_add_text (rbtree, tvb, 24, -1, "Unknown Protocol Data %u", proto); @@ -226,6 +234,7 @@ proto_reg_handoff_redback(void) osinl_excl_subdissector_table = find_dissector_table("osinl.excl"); ipv4_handle = find_dissector("ip"); + ipv6_handle = find_dissector("ipv6"); data_handle = find_dissector("data"); ethnofcs_handle = find_dissector("eth_withoutfcs"); clnp_handle = find_dissector("clnp"); |