diff options
author | Adam Goldman <adam.goldman@intel.com> | 2016-07-26 09:54:23 -0400 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-06-11 20:24:54 +0000 |
commit | 2047d688724cbebb3ad908d9248561e16ffed7ff (patch) | |
tree | 863c20a59a6650fa7fb7ff20b5401ffa85677151 /epan/dissectors/packet-opa-mad.c | |
parent | 53a18406266cdabde5f619c72d77b2471e89b13e (diff) |
opa-fe: Add Support for Reassembly of FE TCP Packets
Used tcp_dissect_pdus API to reassemble FE TCP packets.
Change-Id: I82bb270bacbd3f5790c015c5a876981417e271fa
Signed-off-by: Adam Goldman <adam.goldman@intel.com>
Reviewed-on: https://code.wireshark.org/review/28203
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-opa-mad.c')
-rw-r--r-- | epan/dissectors/packet-opa-mad.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/epan/dissectors/packet-opa-mad.c b/epan/dissectors/packet-opa-mad.c index f537b6014e..249f07c0ab 100644 --- a/epan/dissectors/packet-opa-mad.c +++ b/epan/dissectors/packet-opa-mad.c @@ -5940,6 +5940,7 @@ static void parse_SUBNADMN(proto_tree *parentTree, packet_info *pinfo, tvbuff_t guint r, records, length; proto_tree *SA_record_tree; const guchar *label; + gboolean parent_was_opa_fe = proto_is_frame_protocol(pinfo->layers, "opa.fe"); if (!parse_MAD_Common(parentTree, pinfo, tvb, offset, &MAD)) { return; @@ -5956,7 +5957,7 @@ static void parse_SUBNADMN(proto_tree *parentTree, packet_info *pinfo, tvbuff_t return; } - if (pref_attempt_rmpp_defragment + if (!parent_was_opa_fe && pref_attempt_rmpp_defragment && (RMPP.resptime_flags & RMPP_FLAG_ACTIVE_MASK) && (RMPP.Type == RMPP_DATA) && !((RMPP.resptime_flags & RMPP_FLAG_FIRST_MASK) && (RMPP.resptime_flags & RMPP_FLAG_LAST_MASK))) { @@ -8163,6 +8164,7 @@ static void parse_PERFADMN(proto_tree *parentTree, packet_info *pinfo, tvbuff_t fragment_head *frag_head = NULL; tvbuff_t *old_tvb = NULL; gint old_offset; + gboolean parent_was_opa_fe = proto_is_frame_protocol(pinfo->layers, "opa.fe"); if (!parse_MAD_Common(parentTree, pinfo, tvb, offset, &MAD)) { return; @@ -8179,7 +8181,7 @@ static void parse_PERFADMN(proto_tree *parentTree, packet_info *pinfo, tvbuff_t return; } - if (pref_attempt_rmpp_defragment + if (!parent_was_opa_fe && pref_attempt_rmpp_defragment && (RMPP.resptime_flags & RMPP_FLAG_ACTIVE_MASK) && (RMPP.Type == RMPP_DATA) && !((RMPP.resptime_flags & RMPP_FLAG_FIRST_MASK) && (RMPP.resptime_flags & RMPP_FLAG_LAST_MASK))) { |