summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2016-01-16 20:30:21 -0800
committerGuy Harris <guy@alum.mit.edu>2016-01-17 04:31:40 +0000
commit86ade2742ccbff3d6d0c6d2c8aca930e44f8660b (patch)
tree6719e2300c9a8cceaae721b80c0a85440900b29a
parent2c3d3435922e5b7da2d3dd819ffb069ca8454664 (diff)
downloadwireshark-86ade2742ccbff3d6d0c6d2c8aca930e44f8660b.tar.gz
Dissect Ethernet-over-GFP frames with the "with the FCS" dissector.
Ethernet-over-GFP frames include the Ethernet FCS. Ping-Bug: 9933 Change-Id: I4eb3f0428b34d7ab62b505fe20f2ba31762594f3 Reviewed-on: https://code.wireshark.org/review/13354 Reviewed-by: Guy Harris <guy@alum.mit.edu>
-rw-r--r--epan/dissectors/packet-gfp.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/epan/dissectors/packet-gfp.c b/epan/dissectors/packet-gfp.c
index 84f10ed4cf..90d5612fd5 100644
--- a/epan/dissectors/packet-gfp.c
+++ b/epan/dissectors/packet-gfp.c
@@ -655,8 +655,14 @@ proto_reg_handoff_gfp(void)
* would work, but are untested (frame mapped DVB, frame mapped Fibre
* Channel). The transparent mode ones are trickier, since without a
* one-to-one mapping of frames, we would have to reassemble payload
- * packets across multiple GFP packets. */
- dissector_add_uint("gfp.upi", 1, find_dissector("eth"));
+ * packets across multiple GFP packets.
+ *
+ * Section 7.1.1 "Ethernet MAC encapsulation" of G.7041 says
+ * "The Ethernet MAC octets from destination address through
+ * "frame check sequence, inclusive, are placed in the GFP payload
+ * "information field.", so we want the dissector for Ethernet
+ * frames including the FCS. */
+ dissector_add_uint("gfp.upi", 1, find_dissector("eth_withfcs"));
dissector_add_uint("gfp.upi", 2, find_dissector("ppp_hdlc"));
dissector_add_uint("gfp.upi", 12, find_dissector("mpls"));
dissector_add_uint("gfp.upi", 13, find_dissector("mpls"));