diff options
-rw-r--r-- | epan/dissectors/packet-fr.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-q931.c | 1 |
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. |