diff options
author | Guy Harris <guy@alum.mit.edu> | 1999-11-19 07:28:16 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 1999-11-19 07:28:16 +0000 |
commit | 70641c27dd5aadad585eba262a8ed7425d855bdd (patch) | |
tree | 5b31cc8066d9160ae40bb4d2443bfff9cef02129 /packet-atm.c | |
parent | f7cf81e4795669c0d4aec66c6af4198bbd8b8d44 (diff) |
Add support for SSCOP protocol; dissect signalling AAL packets using it.
It's in a file of its own, as I think there may be, or may have been
proposed, non-ATM uses of it as well.
svn path=/trunk/; revision=1064
Diffstat (limited to 'packet-atm.c')
-rw-r--r-- | packet-atm.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/packet-atm.c b/packet-atm.c index baab8bec08..34a67067db 100644 --- a/packet-atm.c +++ b/packet-atm.c @@ -1,7 +1,7 @@ /* packet-atm.c * Routines for ATM packet disassembly * - * $Id: packet-atm.c,v 1.6 1999/11/18 09:38:50 guy Exp $ + * $Id: packet-atm.c,v 1.7 1999/11/19 07:28:15 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -469,8 +469,6 @@ dissect_atm(const u_char *pd, frame_data *fd, proto_tree *tree) if (aal_type == ATT_AAL5) { proto_tree_add_text(atm_tree, 0, 0, "Traffic type: %s", val_to_str(hl_type, aal5_hltype_vals, "Unknown AAL5 traffic type (%x)")); - } - if (aal_type == ATT_AAL5) { switch (hl_type) { case ATT_HL_LLCMX: @@ -530,7 +528,13 @@ dissect_atm(const u_char *pd, frame_data *fd, proto_tree *tree) } } - if (aal_type == ATT_AAL5) { + switch (aal_type) { + + case ATT_AAL_SIGNALLING: + dissect_sscop(pd, offset, fd, tree); + break; + + case ATT_AAL5: switch (hl_type) { case ATT_HL_LLCMX: @@ -557,11 +561,14 @@ dissect_atm(const u_char *pd, frame_data *fd, proto_tree *tree) break; } } - } else { + break; + + default: if (tree) { /* Dump it as raw data. (Is this a single cell?) */ dissect_data(pd, offset, fd, tree); } + break; } } @@ -570,18 +577,18 @@ proto_register_atm(void) { static gint *ett[] = { &ett_atm, +#if defined(HAVE_UCD_SNMP_SNMP_H) || defined(HAVE_SNMP_SNMP_H) + &ett_ilmi, +#endif &ett_atm_lane, &ett_atm_lane_lc_lan_dest, &ett_atm_lane_lc_lan_dest_rd, &ett_atm_lane_lc_flags, -#if defined(HAVE_UCD_SNMP_SNMP_H) || defined(HAVE_SNMP_SNMP_H) - &ett_ilmi, -#endif }; proto_atm = proto_register_protocol("ATM", "atm"); - proto_atm_lane = proto_register_protocol("ATM LANE", "lane"); #if defined(HAVE_UCD_SNMP_SNMP_H) || defined(HAVE_SNMP_SNMP_H) proto_ilmi = proto_register_protocol("ILMI", "ilmi"); #endif + proto_atm_lane = proto_register_protocol("ATM LANE", "lane"); proto_register_subtree_array(ett, array_length(ett)); } |