aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2016-02-13 15:59:36 -0800
committerGuy Harris <guy@alum.mit.edu>2016-02-14 00:00:07 +0000
commitc3d8ac6d9bfaf4fdfb3aaeb9481bdd80185a5c66 (patch)
tree7f5c6bc1baa31ea939ccbfc69123ac0b49d714b4 /epan/dissectors
parent2e85975feee4304ebc3e47c3b03653094b839b6c (diff)
Register Q.931 in the osinl.incl dissector table.
Have the Frame Relay dissector first check the fr.osinl table and then the osinl.incl table, so that it finds Q.933 rather than Q.931 for an NLPID of 0x08. Change-Id: I1582482003c2ff96100f6c3e1eb77917ab04c9ee Reviewed-on: https://code.wireshark.org/review/13929 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-fr.c8
-rw-r--r--epan/dissectors/packet-q931.c1
2 files changed, 7 insertions, 2 deletions
diff --git a/epan/dissectors/packet-fr.c b/epan/dissectors/packet-fr.c
index 6f47348d6d..60ce77ea11 100644
--- a/epan/dissectors/packet-fr.c
+++ b/epan/dissectors/packet-fr.c
@@ -674,6 +674,10 @@ dissect_fr_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo,
*
* "OSI network layer protocols" includes Q.933.
*
+ * We check the Frame Relay table first, so that protocols for which
+ * the NLPID means something different on Frame Relay, i.e. Q.933 vs.
+ * Q.931, are handled appropriately for Frame Relay.
+ *
* XXX - note that an NLPID of 0x08 for Q.933 could either be a
* Q.933 signaling message or a message for a protocol
* identified by a 2-octet layer 2 protocol type and a
@@ -699,9 +703,9 @@ dissect_fr_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo,
* Either that, or it's Q.933 iff the DLCI is 0.
*/
next_tvb = tvb_new_subset_remaining(tvb,offset);
- if (dissector_try_uint(osinl_incl_subdissector_table, fr_nlpid, next_tvb,
+ if (dissector_try_uint(fr_osinl_subdissector_table, fr_nlpid, next_tvb,
pinfo, tree) ||
- dissector_try_uint(fr_osinl_subdissector_table, fr_nlpid, next_tvb,
+ dissector_try_uint(osinl_incl_subdissector_table, fr_nlpid, next_tvb,
pinfo, tree)) {
/*
* Yes, we got a match. Add the NLPID as a hidden item,
diff --git a/epan/dissectors/packet-q931.c b/epan/dissectors/packet-q931.c
index 7a48dfc443..b4a02ae21b 100644
--- a/epan/dissectors/packet-q931.c
+++ b/epan/dissectors/packet-q931.c
@@ -4002,6 +4002,7 @@ proto_reg_handoff_q931(void)
{
dissector_add_uint("lapd.sapi", LAPD_SAPI_Q931, q931_handle);
dissector_add_uint("sctp.ppi", H323_PAYLOAD_PROTOCOL_ID, q931_over_ip_handle);
+ dissector_add_uint("osinl.incl", NLPID_Q_931, q931_handle);
/*
* Attempt to get a handle for the H.225 dissector.