aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2014-10-02 17:43:54 -0400
committerBill Meier <wmeier@newsguy.com>2014-10-02 22:30:27 +0000
commit70abd39bb756c6d2567188691c29ededa6aa714e (patch)
tree0b3b522efee6e5d5aabff199dcc9228e294181b2 /epan/dissectors
parent0299aa352152c5658265d7bce393e64a78920b91 (diff)
Reformat hf[] entries; Add editor modelines & adjust whitespace.
Change-Id: I30b25db89d3fbae5f3913ede8bf7bd66fd2516da Reviewed-on: https://code.wireshark.org/review/4432 Reviewed-by: Bill Meier <wmeier@newsguy.com>
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-ansi_801.c940
-rw-r--r--epan/dissectors/packet-isns.c1744
-rw-r--r--epan/dissectors/packet-nlsp.c587
-rw-r--r--epan/dissectors/packet-q2931.c637
4 files changed, 2459 insertions, 1449 deletions
diff --git a/epan/dissectors/packet-ansi_801.c b/epan/dissectors/packet-ansi_801.c
index 0ae262af57..dd0181531f 100644
--- a/epan/dissectors/packet-ansi_801.c
+++ b/epan/dissectors/packet-ansi_801.c
@@ -919,7 +919,7 @@ rev_reject(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset)
str = val_to_str_const((oct & 0xf0) >> 4, for_req_type_strings, "Reserved");
- proto_tree_add_uint_format_value(tree, hf_ansi_801_reject_request_type, tvb, offset, 1, oct,
+ proto_tree_add_uint_format_value(tree, hf_ansi_801_reject_request_type, tvb, offset, 1, oct,
"(%u) %s", (oct & 0xf0) >> 4, str);
switch ((oct & 0x0e) >> 1)
@@ -944,8 +944,8 @@ rev_pr_ms_information(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset
guint32 value;
guint32 saved_offset;
const gchar *str = NULL;
- proto_item* ti;
- proto_tree *gps_tree, *loc_tree;
+ proto_item* ti;
+ proto_tree *gps_tree, *loc_tree;
saved_offset = offset;
@@ -972,7 +972,7 @@ rev_pr_ms_information(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset
offset += 2;
ti = proto_tree_add_item(tree, hf_ansi_801_gps_acq_cap, tvb, offset, 3, ENC_BIG_ENDIAN);
- gps_tree = proto_item_add_subtree(ti, ett_gps);
+ gps_tree = proto_item_add_subtree(ti, ett_gps);
proto_tree_add_item(gps_tree, hf_ansi_801_reserved_24_F80000, tvb, offset, 3, ENC_BIG_ENDIAN);
proto_tree_add_item(gps_tree, hf_ansi_801_gps_autonomous_acquisition_capable, tvb, offset, 3, ENC_BIG_ENDIAN);
@@ -984,7 +984,7 @@ rev_pr_ms_information(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset
proto_tree_add_item(gps_tree, hf_ansi_801_gps_acquisition_assistance, tvb, offset, 3, ENC_BIG_ENDIAN);
ti = proto_tree_add_item(tree, hf_ansi_801_loc_calc_cap, tvb, offset, 3, ENC_BIG_ENDIAN);
- loc_tree = proto_item_add_subtree(ti, ett_loc);
+ loc_tree = proto_item_add_subtree(ti, ett_loc);
proto_tree_add_item(loc_tree, hf_ansi_801_pre_programmed_location, tvb, offset, 3, ENC_BIG_ENDIAN);
proto_tree_add_item(loc_tree, hf_ansi_801_reserved_24_700, tvb, offset, 3, ENC_BIG_ENDIAN);
@@ -1134,7 +1134,7 @@ for_request(tvbuff_t *tvb, proto_tree *tree, guint32 *offset_p, guint8 pd_msg_ty
}
item = proto_tree_add_uint_format_value(tree, hf_ansi_801_for_req_type, tvb, offset, 1,
- oct & 0x0f, "%s (%u)", str, oct & 0x0f);
+ oct & 0x0f, "%s (%u)", str, oct & 0x0f);
}
else
{
@@ -1193,7 +1193,7 @@ for_response(tvbuff_t *tvb, proto_tree *tree, guint32 *offset_p)
}
item = proto_tree_add_uint_format_value(tree, hf_ansi_801_for_rsp_type, tvb, offset, 1,
- oct & 0x0f, "%s (%u)", str, oct & 0x0f);
+ oct & 0x0f, "%s (%u)", str, oct & 0x0f);
subtree = proto_item_add_subtree(item, ett_for_rsp_type[idx]);
offset++;
@@ -1240,7 +1240,7 @@ rev_request(tvbuff_t *tvb, proto_tree *tree, guint32 *offset_p, guint8 pd_msg_ty
}
item = proto_tree_add_uint_format_value(tree, hf_ansi_801_rev_req_type, tvb, offset, 1,
- oct & 0x0f, "%s (%u)", str, oct & 0x0f);
+ oct & 0x0f, "%s (%u)", str, oct & 0x0f);
}
else
{
@@ -1298,7 +1298,7 @@ rev_response(tvbuff_t *tvb, proto_tree *tree, guint32 *offset_p)
}
item = proto_tree_add_uint_format_value(tree, hf_ansi_801_rev_rsp_type, tvb, offset, 1,
- oct & 0x0f, "%s (%u)", str, oct & 0x0f);
+ oct & 0x0f, "%s (%u)", str, oct & 0x0f);
subtree = proto_item_add_subtree(item, ett_rev_rsp_type[idx]);
offset++;
@@ -1615,281 +1615,636 @@ proto_register_ansi_801(void)
gint last_offset;
/* Setup list of header fields */
- static hf_register_info hf[] =
- {
- { &hf_ansi_801_for_req_type,
- { "Forward Request Type", "ansi_801.for_req_type",
- FT_UINT8, BASE_DEC, NULL, 0,
- NULL, HFILL }
- },
- { &hf_ansi_801_for_rsp_type,
- { "Forward Response Type", "ansi_801.for_rsp_type",
- FT_UINT8, BASE_DEC, NULL, 0,
- NULL, HFILL }
- },
- { &hf_ansi_801_rev_req_type,
- { "Reverse Request Type", "ansi_801.rev_req_type",
- FT_UINT8, BASE_DEC, NULL, 0,
- NULL, HFILL }
- },
- { &hf_ansi_801_rev_rsp_type,
- { "Reverse Response Type", "ansi_801.rev_rsp_type",
- FT_UINT8, BASE_DEC, NULL, 0,
- NULL, HFILL }
- },
- { &hf_ansi_801_for_sess_tag,
- { "Forward Session Tag", "ansi_801.for_sess_tag",
- FT_UINT8, BASE_DEC, NULL, 0x1f,
- NULL, HFILL }
- },
- { &hf_ansi_801_rev_sess_tag,
- { "Reverse Session Tag", "ansi_801.rev_sess_tag",
- FT_UINT8, BASE_DEC, NULL, 0x1f,
- NULL, HFILL }
- },
- { &hf_ansi_801_sess_tag,
- { "Session Tag", "ansi_801.sess_tag",
- FT_UINT8, BASE_DEC, NULL, 0x1f,
- NULL, HFILL }
- },
- { &hf_ansi_801_time_ref_cdma,
- { "CDMA system time at the time the solution is valid (TIME_REF_CDMA)", "ansi_801.time_ref_cdma",
- FT_UINT32, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_lat,
- { "Latitude (LAT)", "ansi_801.lat",
- FT_FLOAT, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_long,
- { "Longitude (LONG)", "ansi_801.long",
- FT_FLOAT, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_loc_uncrtnty_ang,
- { "Angle of axis with respect to True North for pos uncertainty (LOC_UNCRTNTY_ANG)", "ansi_801.loc_uncrtnty_ang",
- FT_FLOAT, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_loc_uncrtnty_a,
- { "Std dev of axis along angle specified for pos uncertainty (LOC_UNCRTNTY_A)", "ansi_801.loc_uncrtnty_a",
- FT_UINT8, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_loc_uncrtnty_p,
- { "Std dev of axis perpendicular to angle specified for pos uncertainty (LOC_UNCRTNTY_P)", "ansi_801.loc_uncrtnty_p",
- FT_UINT8, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_fix_type,
- { "Fix type (FIX_TYPE)", "ansi_801.fix_type",
- FT_BOOLEAN, BASE_NONE, TFS(&ansi_801_fix_type_vals), 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_velocity_incl,
- { "Velocity information included (VELOCITY_INCL)", "ansi_801.velocity_incl",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_velocity_hor,
- { "Horizontal velocity magnitude (VELOCITY_HOR)", "ansi_801.velocity_hor",
- FT_FLOAT, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_heading,
- { "Heading (HEADING)", "ansi_801.heading",
- FT_FLOAT, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_velocity_ver,
- { "Vertical velocity (VELOCITY_VER)", "ansi_801.velocity_ver",
- FT_FLOAT, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_clock_incl,
- { "Clock information included (CLOCK_INCL)", "ansi_801.clock_incl",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_clock_bias,
- { "Clock bias (CLOCK_BIAS)", "ansi_801.clock_bias",
- FT_INT24, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_clock_drift,
- { "Clock drift (CLOCK_DRIFT)", "ansi_801.clock_drift",
- FT_INT16, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_height_incl,
- { "Height information included (HEIGHT_INCL)", "ansi_801.height_incl",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_height,
- { "Height (HEIGHT)", "ansi_801.height",
- FT_INT16, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_loc_uncrtnty_v,
- { "Std dev of vertical error for pos uncertainty (LOC_UNCRTNTY_V)", "ansi_801.loc_uncrtnty_v",
- FT_UINT8, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_reserved_bits,
- { "Reserved bit(s)","ansi_801.reerved_bits",
- FT_UINT8,BASE_DEC, NULL, 0x0,
- NULL, HFILL }
- },
- { &hf_ansi_801_bad_sv_present,
- { "Bad GPS satellites present (BAD_SV_PRESENT)", "ansi_801.bad_sv_present",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_num_bad_sv,
- { "Number of bad GPS satellites (NUM_BAD_SV)", "ansi_801.num_bad_sv",
- FT_UINT8, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_bad_sv_prn_num,
- { "Satellite PRN number (SV_PRN_NUM)", "ansi_801.bad_sv_prn_num",
- FT_UINT8, BASE_DEC, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_dopp_req,
- { "Doppler (0th order) term requested (DOPP_REQ)", "ansi_801.dopp_req",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_add_dopp_req,
- { "Additional Doppler terms requested (ADD_DOPP_REQ)", "ansi_801.add_dopp_req",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_code_ph_par_req,
- { "Code phase parameters requested (CODE_PH_PAR_REQ)", "ansi_801.code_ph_par_req",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_az_el_req,
- { "Azimuth and elevation angle requested (AZ_EL_REQ)", "ansi_801.az_el_req",
- FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- NULL, HFILL }
- },
- { &hf_ansi_801_pref_resp_qual,
- { "Preferred response quality (PREF_RESP_QUAL)", "ansi_801.pref_resp_qual",
- FT_UINT24, BASE_DEC, NULL, 0xe00000,
- NULL, HFILL }
- },
- { &hf_ansi_801_num_fixes,
- { "Number of fixes (NUM_FIXES)", "ansi_801.num_fixes",
- FT_UINT24, BASE_DEC, NULL, 0x1fe000,
- NULL, HFILL }
- },
- { &hf_ansi_801_t_betw_fixes,
- { "Time between fixes (T_BETW_FIXES) (in seconds)", "ansi_801.t_betw_fixes",
- FT_UINT24, BASE_DEC, NULL, 0x001fe0,
- NULL, HFILL }
- },
- { &hf_ansi_801_offset_req,
- { "Offset requested (OFFSET_REQ)", "ansi_801.offset_req",
- FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x000010,
- NULL, HFILL }
- },
-
- /* Generated from convert_proto_tree_add_text.pl */
- { &hf_ansi_801_desired_pilot_phase_resolution, { "Desired pilot phase resolution", "ansi_801.desired_pilot_phase_resolution", FT_BOOLEAN, 24, TFS(&tfs_desired_pilot_phase_resolution), 0x08, NULL, HFILL }},
- { &hf_ansi_801_reserved_24_7, { "Reserved", "ansi_801.reserved", FT_UINT24, BASE_HEX, NULL, 0x07, NULL, HFILL }},
- { &hf_ansi_801_for_req_loc_height_information, { "Height information", "ansi_801.height_incl", FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x10, NULL, HFILL }},
- { &hf_ansi_801_for_req_loc_clock_correction_for_gps_time, { "Clock correction for GPS time", "ansi_801.clock_correction_for_gps_time", FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x08, NULL, HFILL }},
- { &hf_ansi_801_for_req_loc_velocity_information, { "Velocity information", "ansi_801.velocity_information", FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x04, NULL, HFILL }},
- { &hf_ansi_801_reserved24_3, { "Reserved", "ansi_801.reserved", FT_UINT24, BASE_HEX, NULL, 0x03, NULL, HFILL }},
- { &hf_ansi_801_use_action_time_indicator, { "Use action time indicator", "ansi_801.use_action_time_indicator", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }},
- { &hf_ansi_801_action_time, { "Action time", "ansi_801.action_time", FT_UINT8, BASE_DEC, NULL, 0x7E, NULL, HFILL }},
- { &hf_ansi_801_reserved8_7F, { "Reserved", "ansi_801.reserved", FT_UINT8, BASE_HEX, NULL, 0x7F, NULL, HFILL }},
- { &hf_ansi_801_cancellation_type, { "Cancellation Type", "ansi_801.cancellation_type", FT_UINT8, BASE_DEC, VALS(for_req_type_strings), 0xF0, NULL, HFILL }},
- { &hf_ansi_801_reserved8_0F, { "Reserved", "ansi_801.reserved", FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL }},
- { &hf_ansi_801_reject_request_type, { "Reject request type", "ansi_801.reject_request_type", FT_UINT8, BASE_DEC, VALS(rev_req_type_strings), 0xF0, NULL, HFILL }},
- { &hf_ansi_801_reject_reason, { "Reject reason", "ansi_801.reject_reason", FT_UINT8, BASE_DEC, NULL, 0x0E, NULL, HFILL }},
- { &hf_ansi_801_reserved8_01, { "Reserved", "ansi_801.reserved", FT_UINT8, BASE_HEX, NULL, 0x01, NULL, HFILL }},
- { &hf_ansi_801_bs_ls_rev, { "BS_LS_REV", "ansi_801.bs_ls_rev", FT_UINT8, BASE_HEX, NULL, 0xfc, NULL, HFILL }},
- { &hf_ansi_801_gps_capability_indicator, { "GPSC_ID: GPS capability indicator", "ansi_801.gps_capability_indicator", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL }},
- { &hf_ansi_801_afltc_id, { "AFLTC_ID: Advanced forward link trilateration capability indicator", "ansi_801.afltc_id", FT_UINT8, BASE_DEC, NULL, 0x01, NULL, HFILL }},
- { &hf_ansi_801_apdc_id, { "APDC_ID: Autonomous position determination capability indicator: Autonomous Location Technology Identifier", "ansi_801.apdc_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_ansi_801_ref_bit_num, { "REF_BIT_NUM", "ansi_801.ref_bit_num", FT_UINT16, BASE_DEC, NULL, 0xffe0, NULL, HFILL }},
- { &hf_ansi_801_num_dr_p, { "NUM_DR_P: Number of data records in this part", "ansi_801.num_dr_p", FT_UINT16, BASE_DEC, NULL, 0x001e, NULL, HFILL }},
- { &hf_ansi_801_dr_size, { "DR_SIZE: Data record size", "ansi_801.dr_size", FT_UINT24, BASE_DEC, NULL, 0x0001FE, NULL, HFILL }},
- { &hf_ansi_801_part_num, { "PART_NUM: The part number", "ansi_801.part_num", FT_UINT16, BASE_DEC, NULL, 0x01c0, NULL, HFILL }},
- { &hf_ansi_801_total_parts, { "TOTAL_PARTS: Total number of parts", "ansi_801.total_parts", FT_UINT16, BASE_DEC, NULL, 0x38, NULL, HFILL }},
- { &hf_ansi_801_data_records, { "Data records", "ansi_801.data_records", FT_UINT16, BASE_DEC, NULL, 0x07, NULL, HFILL }},
- { &hf_ansi_801_num_sv_p32, { "NUM_SV_P: Number of satellites in this part", "ansi_801.num_sv_p", FT_UINT32, BASE_DEC, NULL, 0xfc000000, NULL, HFILL }},
- { &hf_ansi_801_week_num, { "WEEK_NUM: The GPS week number of the almanac", "ansi_801.week_num", FT_UINT32, BASE_DEC, NULL, 0x03fc0000, NULL, HFILL }},
- { &hf_ansi_801_toa, { "TOA: The reference time of the almanac", "ansi_801.toa", FT_UINT32, BASE_DEC, NULL, 0x0003fc00, NULL, HFILL }},
- { &hf_ansi_801_part_num32, { "PART_NUM: The part number", "ansi_801.part_num", FT_UINT32, BASE_DEC, NULL, 0x000003e0, NULL, HFILL }},
- { &hf_ansi_801_total_parts32, { "TOTAL_PARTS: The total number of parts", "ansi_801.total_parts", FT_UINT32, BASE_DEC, NULL, 0x0000001f, NULL, HFILL }},
- { &hf_ansi_801_num_sv_p16, { "NUM_SV_P: Number of satellites in this part", "ansi_801.num_sv_p", FT_UINT16, BASE_DEC, NULL, 0xfc00, NULL, HFILL }},
- { &hf_ansi_801_part_num16, { "PART_NUM: The part number", "ansi_801.part_num", FT_UINT16, BASE_DEC, NULL, 0x03e0, NULL, HFILL }},
- { &hf_ansi_801_total_parts16, { "TOTAL_PARTS: The total number of parts", "ansi_801.total_parts", FT_UINT16, BASE_DEC, NULL, 0x001f, NULL, HFILL }},
- { &hf_ansi_801_coordinate_type_requested, { "Coordinate type requested", "ansi_801.coordinate_type_requested", FT_BOOLEAN, 8, TFS(&tfs_spherical_cartesian), 0x80, NULL, HFILL }},
- { &hf_ansi_801_extended_base_station_almanac, { "Extended base station almanac", "ansi_801.extended_base_station_almanac", FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80, NULL, HFILL }},
- { &hf_ansi_801_alpha_and_beta_parameters, { "Alpha and Beta parameters", "ansi_801.alpha_and_beta_parameters", FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80, NULL, HFILL }},
- { &hf_ansi_801_subframes_4_and_5, { "Subframes 4 and 5", "ansi_801.subframes_4_and_5", FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80, NULL, HFILL }},
- { &hf_ansi_801_rev_req_loc_height_information, { "Height information", "ansi_801.height_information", FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80, NULL, HFILL }},
- { &hf_ansi_801_rev_req_loc_clock_correction_for_gps_time, { "Clock correction for GPS time", "ansi_801.clock_correction_for_gps_time", FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40, NULL, HFILL }},
- { &hf_ansi_801_rev_req_loc_velocity_information, { "Velocity information", "ansi_801.velocity_information", FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20, NULL, HFILL }},
- { &hf_ansi_801_reserved8_1F, { "Reserved", "ansi_801.reserved", FT_UINT8, BASE_HEX, NULL, 0x1F, NULL, HFILL }},
- { &hf_ansi_801_ms_ls_rev, { "MS_LS_REV", "ansi_801.ms_ls_rev", FT_UINT16, BASE_DEC, NULL, 0xfc00, NULL, HFILL }},
- { &hf_ansi_801_ms_mode, { "MS_MODE", "ansi_801.ms_mode", FT_UINT16, BASE_DEC, NULL, 0x03c0, NULL, HFILL }},
- { &hf_ansi_801_pilot_ph_cap, { "PILOT_PH_CAP", "ansi_801.pilot_ph_cap", FT_UINT16, BASE_DEC, NULL, 0x003f, NULL, HFILL }},
- { &hf_ansi_801_gps_acq_cap, { "GPS_ACQ_CAP", "ansi_801.gps_acq_cap", FT_UINT24, BASE_HEX, NULL, 0x000FFF, NULL, HFILL }},
- { &hf_ansi_801_reserved_24_F80000, { "Reserved", "ansi_801.reserved", FT_UINT24, BASE_HEX, NULL, 0xf80000, NULL, HFILL }},
- { &hf_ansi_801_gps_autonomous_acquisition_capable, { "GPS Autonomous Acquisition Capable", "ansi_801.gps_autonomous_acquisition_capable", FT_BOOLEAN, 24, NULL, 0x040000, NULL, HFILL }},
- { &hf_ansi_801_gps_almanac_correction, { "GPS Almanac Correction", "ansi_801.gps_almanac_correction", FT_BOOLEAN, 24, NULL, 0x020000, NULL, HFILL }},
- { &hf_ansi_801_gps_navigation_message_bits, { "GPS Navigation Message Bits", "ansi_801.gps_navigation_message_bits", FT_BOOLEAN, 24, NULL, 0x010000, NULL, HFILL }},
- { &hf_ansi_801_gps_ephemeris, { "GPS Ephemeris", "ansi_801.gps_ephemeris", FT_BOOLEAN, 24, NULL, 0x008000, NULL, HFILL }},
- { &hf_ansi_801_gps_almanac, { "GPS Almanac", "ansi_801.gps_almanac", FT_BOOLEAN, 24, NULL, 0x004000, NULL, HFILL }},
- { &hf_ansi_801_gps_sensitivity_assistance, { "GPS Sensitivity Assistance", "ansi_801.gps_sensitivity_assistance", FT_BOOLEAN, 24, NULL, 0x002000, NULL, HFILL }},
- { &hf_ansi_801_gps_acquisition_assistance, { "GPS Acquisition Assistance", "ansi_801.gps_acquisition_assistance", FT_BOOLEAN, 24, NULL, 0x001000, NULL, HFILL }},
- { &hf_ansi_801_loc_calc_cap, { "LOC_CALC_CAP", "ansi_801.loc_calc_cap", FT_UINT24, BASE_HEX, NULL, 0x000FFF, NULL, HFILL }},
- { &hf_ansi_801_pre_programmed_location, { "Pre-programmed Location", "ansi_801.pre_programmed_location", FT_BOOLEAN, 24, NULL, 0x000800, NULL, HFILL }},
- { &hf_ansi_801_reserved_24_700, { "Reserved", "ansi_801.reserved", FT_UINT24, BASE_HEX, NULL, 0x000700, NULL, HFILL }},
- { &hf_ansi_801_hybrid_gps_and_aflt_lcc, { "Hybrid GPS and AFLT Location Calculation Capable", "ansi_801.hybrid_gps_and_aflt_lcc", FT_BOOLEAN, 24, NULL, 0x000080, NULL, HFILL }},
- { &hf_ansi_801_autonomous_location_calculation_capable, { "Autonomous Location Calculation Capable", "ansi_801.autonomous_lcc", FT_BOOLEAN, 24, NULL, 0x000040, NULL, HFILL }},
- { &hf_ansi_801_lcc_using_gps_almanac_correction, { "Location Calculation Capable using GPS Almanac Correction", "ansi_801.lcc_using_gps_almanac_correction", FT_BOOLEAN, 24, NULL, 0x000020, NULL, HFILL }},
- { &hf_ansi_801_lcc_using_gps_ephemeris_assistance, { "Location Calculation Capable using GPS Ephemeris Assistance", "ansi_801.lcc_using_gps_ephemeris_assistance", FT_BOOLEAN, 24, NULL, 0x000010, NULL, HFILL }},
- { &hf_ansi_801_lcc_using_gps_almanac_assistance, { "Location Calculation Capable using GPS Almanac Assistance", "ansi_801.lcc_using_gps_almanac_assistance", FT_BOOLEAN, 24, NULL, 0x000008, NULL, HFILL }},
- { &hf_ansi_801_aflt_lcc, { "Advanced Forward Link Trilateration (AFLT) Location Calculation Capable", "ansi_801.aflt_lcc", FT_BOOLEAN, 24, NULL, 0x000004, NULL, HFILL }},
- { &hf_ansi_801_lcc_using_location_assistance_cartesian, { "Location Calculation Capable using Location Assistance - Cartesian", "ansi_801.lcc_using_location_assistance.cartesian", FT_BOOLEAN, 24, NULL, 0x000002, NULL, HFILL }},
- { &hf_ansi_801_lcc_capable_using_location_assistance_spherical, { "Location Calculation Capable using Location Assistance - Spherical", "ansi_801.lcc_using_location_assistance.spherical", FT_BOOLEAN, 24, NULL, 0x000001, NULL, HFILL }},
- { &hf_ansi_801_ref_pn, { "REF_PN", "ansi_801.ref_pn", FT_UINT24, BASE_DEC, NULL, 0xff8000, NULL, HFILL }},
- { &hf_ansi_801_mob_sys_t_offset, { "MOB_SYS_T_OFFSET", "ansi_801.mob_sys_t_offset", FT_UINT24, BASE_DEC, NULL, 0x007ffe, NULL, HFILL }},
- { &hf_ansi_801_reserved24_1, { "Reserved", "ansi_801.reserved", FT_UINT24, BASE_HEX, NULL, 0x000001, NULL, HFILL }},
- { &hf_ansi_801_no_outstanding_request_element, { "No outstanding request element", "ansi_801.no_outstanding_request_element", FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }},
- { &hf_ansi_801_reserved8_07, { "Reserved", "ansi_801.reserved", FT_UINT8, BASE_HEX, NULL, 0x07, NULL, HFILL }},
- { &hf_ansi_801_reserved8_F0, { "Reserved", "ansi_801.reserved", FT_UINT8, BASE_HEX, NULL, 0xF0, NULL, HFILL }},
- { &hf_ansi_801_for_request_length, { "Length", "ansi_801.for_request_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_ansi_801_reserved8_E0, { "Reserved", "ansi_801.reserved", FT_UINT8, BASE_HEX, NULL, 0xE0, NULL, HFILL }},
- { &hf_ansi_801_unsolicited_response_indicator, { "Unsolicited response indicator", "ansi_801.unsolicited_response_indicator", FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }},
- { &hf_ansi_801_for_response_length, { "Length", "ansi_801.for_response_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_ansi_801_rev_request_length, { "Length", "ansi_801.rev_request_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_ansi_801_rev_response_length, { "Length", "ansi_801.rev_response_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_ansi_801_session_start, { "Session Start", "ansi_801.session_start", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }},
- { &hf_ansi_801_session_end, { "Session End", "ansi_801.session_end", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }},
- { &hf_ansi_801_session_source, { "Session Source", "ansi_801.session_source", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }},
- { &hf_ansi_801_pd_message_type, { "PD Message Type", "ansi_801.pd_message_type", FT_UINT8, BASE_DEC, NULL, 0xFF, NULL, HFILL }},
- { &hf_ansi_801_pd_message_len, { "PD Message Length", "ansi_801.pd_message_len", FT_UINT16, BASE_DEC, NULL, 0xffc0, NULL, HFILL }},
- { &hf_ansi_801_regulatory_services_indicator, { "Regulatory Services Indicator", "ansi_801.regulatory_services_indicator", FT_UINT16, BASE_DEC, VALS(regulatory_services_indicator_vals), 0x0030, NULL, HFILL }},
- { &hf_ansi_801_for_message_number_requests16, { "Number Requests", "ansi_801.for_message_number_requests", FT_UINT16, BASE_DEC, NULL, 0x0F, NULL, HFILL }},
- { &hf_ansi_801_for_message_number_responsesF0, { "Number Responses", "ansi_801.for_message_number_responses", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
- { &hf_ansi_801_for_message_number_requests8, { "Number Requests", "ansi_801.for_message_number_requests", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
- { &hf_ansi_801_for_message_number_responses0F, { "Number Responses", "ansi_801.for_message_number_responses", FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL }},
- { &hf_ansi_801_rev_message_number_requests16, { "Number Requests", "ansi_801.rev_message_number_requests", FT_UINT16, BASE_DEC, NULL, 0x0F, NULL, HFILL }},
- { &hf_ansi_801_rev_message_number_responsesF0, { "Number Responses", "ansi_801.rev_message_number_responses", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
- { &hf_ansi_801_rev_message_number_requests8, { "Number Requests", "ansi_801.rev_message_number_requests", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
- { &hf_ansi_801_rev_message_number_responses0F, { "Number Responses", "ansi_801.rev_message_number_responses", FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL }},
-
- };
+ static hf_register_info hf[] = {
+ { &hf_ansi_801_for_req_type,
+ { "Forward Request Type", "ansi_801.for_req_type",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_rsp_type,
+ { "Forward Response Type", "ansi_801.for_rsp_type",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_req_type,
+ { "Reverse Request Type", "ansi_801.rev_req_type",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_rsp_type,
+ { "Reverse Response Type", "ansi_801.rev_rsp_type",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_sess_tag,
+ { "Forward Session Tag", "ansi_801.for_sess_tag",
+ FT_UINT8, BASE_DEC, NULL, 0x1f,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_sess_tag,
+ { "Reverse Session Tag", "ansi_801.rev_sess_tag",
+ FT_UINT8, BASE_DEC, NULL, 0x1f,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_sess_tag,
+ { "Session Tag", "ansi_801.sess_tag",
+ FT_UINT8, BASE_DEC, NULL, 0x1f,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_time_ref_cdma,
+ { "CDMA system time at the time the solution is valid (TIME_REF_CDMA)", "ansi_801.time_ref_cdma",
+ FT_UINT32, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_lat,
+ { "Latitude (LAT)", "ansi_801.lat",
+ FT_FLOAT, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_long,
+ { "Longitude (LONG)", "ansi_801.long",
+ FT_FLOAT, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_loc_uncrtnty_ang,
+ { "Angle of axis with respect to True North for pos uncertainty (LOC_UNCRTNTY_ANG)", "ansi_801.loc_uncrtnty_ang",
+ FT_FLOAT, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_loc_uncrtnty_a,
+ { "Std dev of axis along angle specified for pos uncertainty (LOC_UNCRTNTY_A)", "ansi_801.loc_uncrtnty_a",
+ FT_UINT8, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_loc_uncrtnty_p,
+ { "Std dev of axis perpendicular to angle specified for pos uncertainty (LOC_UNCRTNTY_P)", "ansi_801.loc_uncrtnty_p",
+ FT_UINT8, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_fix_type,
+ { "Fix type (FIX_TYPE)", "ansi_801.fix_type",
+ FT_BOOLEAN, BASE_NONE, TFS(&ansi_801_fix_type_vals), 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_velocity_incl,
+ { "Velocity information included (VELOCITY_INCL)", "ansi_801.velocity_incl",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_velocity_hor,
+ { "Horizontal velocity magnitude (VELOCITY_HOR)", "ansi_801.velocity_hor",
+ FT_FLOAT, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_heading,
+ { "Heading (HEADING)", "ansi_801.heading",
+ FT_FLOAT, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_velocity_ver,
+ { "Vertical velocity (VELOCITY_VER)", "ansi_801.velocity_ver",
+ FT_FLOAT, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_clock_incl,
+ { "Clock information included (CLOCK_INCL)", "ansi_801.clock_incl",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_clock_bias,
+ { "Clock bias (CLOCK_BIAS)", "ansi_801.clock_bias",
+ FT_INT24, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_clock_drift,
+ { "Clock drift (CLOCK_DRIFT)", "ansi_801.clock_drift",
+ FT_INT16, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_height_incl,
+ { "Height information included (HEIGHT_INCL)", "ansi_801.height_incl",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_height,
+ { "Height (HEIGHT)", "ansi_801.height",
+ FT_INT16, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_loc_uncrtnty_v,
+ { "Std dev of vertical error for pos uncertainty (LOC_UNCRTNTY_V)", "ansi_801.loc_uncrtnty_v",
+ FT_UINT8, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved_bits,
+ { "Reserved bit(s)","ansi_801.reerved_bits",
+ FT_UINT8,BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_bad_sv_present,
+ { "Bad GPS satellites present (BAD_SV_PRESENT)", "ansi_801.bad_sv_present",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_num_bad_sv,
+ { "Number of bad GPS satellites (NUM_BAD_SV)", "ansi_801.num_bad_sv",
+ FT_UINT8, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_bad_sv_prn_num,
+ { "Satellite PRN number (SV_PRN_NUM)", "ansi_801.bad_sv_prn_num",
+ FT_UINT8, BASE_DEC, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_dopp_req,
+ { "Doppler (0th order) term requested (DOPP_REQ)", "ansi_801.dopp_req",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_add_dopp_req,
+ { "Additional Doppler terms requested (ADD_DOPP_REQ)", "ansi_801.add_dopp_req",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_code_ph_par_req,
+ { "Code phase parameters requested (CODE_PH_PAR_REQ)", "ansi_801.code_ph_par_req",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_az_el_req,
+ { "Azimuth and elevation angle requested (AZ_EL_REQ)", "ansi_801.az_el_req",
+ FT_BOOLEAN, BASE_NONE, NULL, 0x00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_pref_resp_qual,
+ { "Preferred response quality (PREF_RESP_QUAL)", "ansi_801.pref_resp_qual",
+ FT_UINT24, BASE_DEC, NULL, 0xe00000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_num_fixes,
+ { "Number of fixes (NUM_FIXES)", "ansi_801.num_fixes",
+ FT_UINT24, BASE_DEC, NULL, 0x1fe000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_t_betw_fixes,
+ { "Time between fixes (T_BETW_FIXES) (in seconds)", "ansi_801.t_betw_fixes",
+ FT_UINT24, BASE_DEC, NULL, 0x001fe0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_offset_req,
+ { "Offset requested (OFFSET_REQ)", "ansi_801.offset_req",
+ FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x000010,
+ NULL, HFILL }
+ },
+
+ /* Generated from convert_proto_tree_add_text.pl */
+ { &hf_ansi_801_desired_pilot_phase_resolution,
+ { "Desired pilot phase resolution", "ansi_801.desired_pilot_phase_resolution",
+ FT_BOOLEAN, 24, TFS(&tfs_desired_pilot_phase_resolution), 0x08,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved_24_7,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT24, BASE_HEX, NULL, 0x07,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_req_loc_height_information,
+ { "Height information", "ansi_801.height_incl",
+ FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x10,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_req_loc_clock_correction_for_gps_time,
+ { "Clock correction for GPS time", "ansi_801.clock_correction_for_gps_time",
+ FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x08,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_req_loc_velocity_information,
+ { "Velocity information", "ansi_801.velocity_information",
+ FT_BOOLEAN, 24, TFS(&tfs_requested_not_requested), 0x04,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved24_3,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT24, BASE_HEX, NULL, 0x03,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_use_action_time_indicator,
+ { "Use action time indicator", "ansi_801.use_action_time_indicator",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_action_time,
+ { "Action time", "ansi_801.action_time",
+ FT_UINT8, BASE_DEC, NULL, 0x7E,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved8_7F,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x7F,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_cancellation_type,
+ { "Cancellation Type", "ansi_801.cancellation_type",
+ FT_UINT8, BASE_DEC, VALS(for_req_type_strings), 0xF0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved8_0F,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reject_request_type,
+ { "Reject request type", "ansi_801.reject_request_type",
+ FT_UINT8, BASE_DEC, VALS(rev_req_type_strings), 0xF0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reject_reason,
+ { "Reject reason", "ansi_801.reject_reason",
+ FT_UINT8, BASE_DEC, NULL, 0x0E,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved8_01,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x01,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_bs_ls_rev,
+ { "BS_LS_REV", "ansi_801.bs_ls_rev",
+ FT_UINT8, BASE_HEX, NULL, 0xfc,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_capability_indicator,
+ { "GPSC_ID: GPS capability indicator", "ansi_801.gps_capability_indicator",
+ FT_UINT8, BASE_DEC, NULL, 0x02,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_afltc_id,
+ { "AFLTC_ID: Advanced forward link trilateration capability indicator", "ansi_801.afltc_id",
+ FT_UINT8, BASE_DEC, NULL, 0x01,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_apdc_id,
+ { "APDC_ID: Autonomous position determination capability indicator: Autonomous Location Technology Identifier", "ansi_801.apdc_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_ref_bit_num,
+ { "REF_BIT_NUM", "ansi_801.ref_bit_num",
+ FT_UINT16, BASE_DEC, NULL, 0xffe0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_num_dr_p,
+ { "NUM_DR_P: Number of data records in this part", "ansi_801.num_dr_p",
+ FT_UINT16, BASE_DEC, NULL, 0x001e,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_dr_size,
+ { "DR_SIZE: Data record size", "ansi_801.dr_size",
+ FT_UINT24, BASE_DEC, NULL, 0x0001FE,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_part_num,
+ { "PART_NUM: The part number", "ansi_801.part_num",
+ FT_UINT16, BASE_DEC, NULL, 0x01c0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_total_parts,
+ { "TOTAL_PARTS: Total number of parts", "ansi_801.total_parts",
+ FT_UINT16, BASE_DEC, NULL, 0x38,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_data_records,
+ { "Data records", "ansi_801.data_records",
+ FT_UINT16, BASE_DEC, NULL, 0x07,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_num_sv_p32,
+ { "NUM_SV_P: Number of satellites in this part", "ansi_801.num_sv_p",
+ FT_UINT32, BASE_DEC, NULL, 0xfc000000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_week_num,
+ { "WEEK_NUM: The GPS week number of the almanac", "ansi_801.week_num",
+ FT_UINT32, BASE_DEC, NULL, 0x03fc0000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_toa,
+ { "TOA: The reference time of the almanac", "ansi_801.toa",
+ FT_UINT32, BASE_DEC, NULL, 0x0003fc00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_part_num32,
+ { "PART_NUM: The part number", "ansi_801.part_num",
+ FT_UINT32, BASE_DEC, NULL, 0x000003e0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_total_parts32,
+ { "TOTAL_PARTS: The total number of parts", "ansi_801.total_parts",
+ FT_UINT32, BASE_DEC, NULL, 0x0000001f,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_num_sv_p16,
+ { "NUM_SV_P: Number of satellites in this part", "ansi_801.num_sv_p",
+ FT_UINT16, BASE_DEC, NULL, 0xfc00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_part_num16,
+ { "PART_NUM: The part number", "ansi_801.part_num",
+ FT_UINT16, BASE_DEC, NULL, 0x03e0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_total_parts16,
+ { "TOTAL_PARTS: The total number of parts", "ansi_801.total_parts",
+ FT_UINT16, BASE_DEC, NULL, 0x001f,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_coordinate_type_requested,
+ { "Coordinate type requested", "ansi_801.coordinate_type_requested",
+ FT_BOOLEAN, 8, TFS(&tfs_spherical_cartesian), 0x80,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_extended_base_station_almanac,
+ { "Extended base station almanac", "ansi_801.extended_base_station_almanac",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_alpha_and_beta_parameters,
+ { "Alpha and Beta parameters", "ansi_801.alpha_and_beta_parameters",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_subframes_4_and_5,
+ { "Subframes 4 and 5", "ansi_801.subframes_4_and_5",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_req_loc_height_information,
+ { "Height information", "ansi_801.height_information",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_req_loc_clock_correction_for_gps_time,
+ { "Clock correction for GPS time", "ansi_801.clock_correction_for_gps_time",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_req_loc_velocity_information,
+ { "Velocity information", "ansi_801.velocity_information",
+ FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved8_1F,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x1F,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_ms_ls_rev,
+ { "MS_LS_REV", "ansi_801.ms_ls_rev",
+ FT_UINT16, BASE_DEC, NULL, 0xfc00,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_ms_mode,
+ { "MS_MODE", "ansi_801.ms_mode",
+ FT_UINT16, BASE_DEC, NULL, 0x03c0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_pilot_ph_cap,
+ { "PILOT_PH_CAP", "ansi_801.pilot_ph_cap",
+ FT_UINT16, BASE_DEC, NULL, 0x003f,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_acq_cap,
+ { "GPS_ACQ_CAP", "ansi_801.gps_acq_cap",
+ FT_UINT24, BASE_HEX, NULL, 0x000FFF,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved_24_F80000,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT24, BASE_HEX, NULL, 0xf80000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_autonomous_acquisition_capable,
+ { "GPS Autonomous Acquisition Capable", "ansi_801.gps_autonomous_acquisition_capable",
+ FT_BOOLEAN, 24, NULL, 0x040000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_almanac_correction,
+ { "GPS Almanac Correction", "ansi_801.gps_almanac_correction",
+ FT_BOOLEAN, 24, NULL, 0x020000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_navigation_message_bits,
+ { "GPS Navigation Message Bits", "ansi_801.gps_navigation_message_bits",
+ FT_BOOLEAN, 24, NULL, 0x010000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_ephemeris,
+ { "GPS Ephemeris", "ansi_801.gps_ephemeris",
+ FT_BOOLEAN, 24, NULL, 0x008000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_almanac,
+ { "GPS Almanac", "ansi_801.gps_almanac",
+ FT_BOOLEAN, 24, NULL, 0x004000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_sensitivity_assistance,
+ { "GPS Sensitivity Assistance", "ansi_801.gps_sensitivity_assistance",
+ FT_BOOLEAN, 24, NULL, 0x002000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_gps_acquisition_assistance,
+ { "GPS Acquisition Assistance", "ansi_801.gps_acquisition_assistance",
+ FT_BOOLEAN, 24, NULL, 0x001000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_loc_calc_cap,
+ { "LOC_CALC_CAP", "ansi_801.loc_calc_cap",
+ FT_UINT24, BASE_HEX, NULL, 0x000FFF,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_pre_programmed_location,
+ { "Pre-programmed Location", "ansi_801.pre_programmed_location",
+ FT_BOOLEAN, 24, NULL, 0x000800,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved_24_700,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT24, BASE_HEX, NULL, 0x000700,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_hybrid_gps_and_aflt_lcc,
+ { "Hybrid GPS and AFLT Location Calculation Capable", "ansi_801.hybrid_gps_and_aflt_lcc",
+ FT_BOOLEAN, 24, NULL, 0x000080,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_autonomous_location_calculation_capable,
+ { "Autonomous Location Calculation Capable", "ansi_801.autonomous_lcc",
+ FT_BOOLEAN, 24, NULL, 0x000040,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_lcc_using_gps_almanac_correction,
+ { "Location Calculation Capable using GPS Almanac Correction", "ansi_801.lcc_using_gps_almanac_correction",
+ FT_BOOLEAN, 24, NULL, 0x000020,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_lcc_using_gps_ephemeris_assistance,
+ { "Location Calculation Capable using GPS Ephemeris Assistance", "ansi_801.lcc_using_gps_ephemeris_assistance",
+ FT_BOOLEAN, 24, NULL, 0x000010,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_lcc_using_gps_almanac_assistance,
+ { "Location Calculation Capable using GPS Almanac Assistance", "ansi_801.lcc_using_gps_almanac_assistance",
+ FT_BOOLEAN, 24, NULL, 0x000008,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_aflt_lcc,
+ { "Advanced Forward Link Trilateration (AFLT) Location Calculation Capable", "ansi_801.aflt_lcc",
+ FT_BOOLEAN, 24, NULL, 0x000004,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_lcc_using_location_assistance_cartesian,
+ { "Location Calculation Capable using Location Assistance - Cartesian", "ansi_801.lcc_using_location_assistance.cartesian",
+ FT_BOOLEAN, 24, NULL, 0x000002,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_lcc_capable_using_location_assistance_spherical,
+ { "Location Calculation Capable using Location Assistance - Spherical", "ansi_801.lcc_using_location_assistance.spherical",
+ FT_BOOLEAN, 24, NULL, 0x000001,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_ref_pn,
+ { "REF_PN", "ansi_801.ref_pn",
+ FT_UINT24, BASE_DEC, NULL, 0xff8000,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_mob_sys_t_offset,
+ { "MOB_SYS_T_OFFSET", "ansi_801.mob_sys_t_offset",
+ FT_UINT24, BASE_DEC, NULL, 0x007ffe,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved24_1,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT24, BASE_HEX, NULL, 0x000001,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_no_outstanding_request_element,
+ { "No outstanding request element", "ansi_801.no_outstanding_request_element",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved8_07,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x07,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved8_F0,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0xF0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_request_length,
+ { "Length", "ansi_801.for_request_length",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_reserved8_E0,
+ { "Reserved", "ansi_801.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0xE0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_unsolicited_response_indicator,
+ { "Unsolicited response indicator", "ansi_801.unsolicited_response_indicator",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_response_length,
+ { "Length", "ansi_801.for_response_length",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_request_length,
+ { "Length", "ansi_801.rev_request_length",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_response_length,
+ { "Length", "ansi_801.rev_response_length",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_session_start,
+ { "Session Start", "ansi_801.session_start",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_session_end,
+ { "Session End", "ansi_801.session_end",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_session_source,
+ { "Session Source", "ansi_801.session_source",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_pd_message_type,
+ { "PD Message Type", "ansi_801.pd_message_type",
+ FT_UINT8, BASE_DEC, NULL, 0xFF,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_pd_message_len,
+ { "PD Message Length", "ansi_801.pd_message_len",
+ FT_UINT16, BASE_DEC, NULL, 0xffc0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_regulatory_services_indicator,
+ { "Regulatory Services Indicator", "ansi_801.regulatory_services_indicator",
+ FT_UINT16, BASE_DEC, VALS(regulatory_services_indicator_vals), 0x0030,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_message_number_requests16,
+ { "Number Requests", "ansi_801.for_message_number_requests",
+ FT_UINT16, BASE_DEC, NULL, 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_message_number_responsesF0,
+ { "Number Responses", "ansi_801.for_message_number_responses",
+ FT_UINT8, BASE_DEC, NULL, 0xF0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_message_number_requests8,
+ { "Number Requests", "ansi_801.for_message_number_requests",
+ FT_UINT8, BASE_DEC, NULL, 0xF0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_for_message_number_responses0F,
+ { "Number Responses", "ansi_801.for_message_number_responses",
+ FT_UINT8, BASE_DEC, NULL, 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_message_number_requests16,
+ { "Number Requests", "ansi_801.rev_message_number_requests",
+ FT_UINT16, BASE_DEC, NULL, 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_message_number_responsesF0,
+ { "Number Responses", "ansi_801.rev_message_number_responses",
+ FT_UINT8, BASE_DEC, NULL, 0xF0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_message_number_requests8,
+ { "Number Requests", "ansi_801.rev_message_number_requests",
+ FT_UINT8, BASE_DEC, NULL, 0xF0,
+ NULL, HFILL }
+ },
+ { &hf_ansi_801_rev_message_number_responses0F,
+ { "Number Responses", "ansi_801.rev_message_number_responses",
+ FT_UINT8, BASE_DEC, NULL, 0x0F,
+ NULL, HFILL }
+ },
+
+ };
/* Setup protocol subtree array */
@@ -1897,8 +2252,8 @@ proto_register_ansi_801(void)
gint *ett[NUM_INDIVIDUAL_PARAMS+NUM_FOR_REQ_TYPE+NUM_FOR_RSP_TYPE+NUM_REV_REQ_TYPE+NUM_REV_RSP_TYPE];
ett[0] = &ett_ansi_801;
- ett[1] = &ett_gps;
- ett[2] = &ett_loc;
+ ett[1] = &ett_gps;
+ ett[2] = &ett_loc;
last_offset = NUM_INDIVIDUAL_PARAMS;
@@ -1947,3 +2302,16 @@ proto_reg_handoff_ansi_801(void)
dissector_add_uint("ansi_a.pld", ANSI_801_FORWARD, ansi_801_handle);
dissector_add_uint("ansi_a.pld", ANSI_801_REVERSE, ansi_801_handle);
}
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 8
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * End:
+ *
+ * vi: set shiftwidth=8 tabstop=8 noexpandtab:
+ * :indentSize=8:tabSize=8:noTabs=false:
+ */
diff --git a/epan/dissectors/packet-isns.c b/epan/dissectors/packet-isns.c
index de55315889..1252be9b43 100644
--- a/epan/dissectors/packet-isns.c
+++ b/epan/dissectors/packet-isns.c
@@ -307,15 +307,15 @@ static const value_string isns_errorcode[] = {
static value_string_ext isns_errorcode_ext = VALUE_STRING_EXT_INIT(isns_errorcode);
-#define ISNS_ATTR_TAG_DELIMITER 0
-#define ISNS_ATTR_TAG_ENTITY_IDENTIFIER 1
-#define ISNS_ATTR_TAG_ENTITY_PROTOCOL 2
-#define ISNS_ATTR_TAG_MGMT_IP_ADDRESS 3
-#define ISNS_ATTR_TAG_TIMESTAMP 4
-#define ISNS_ATTR_TAG_PROTOCOL_VERSION_RANGE 5
-#define ISNS_ATTR_TAG_REGISTRATION_PERIOD 6
-#define ISNS_ATTR_TAG_ENTITY_INDEX 7
-#define ISNS_ATTR_TAG_ENTITY_NEXT_INDEX 8
+#define ISNS_ATTR_TAG_DELIMITER 0
+#define ISNS_ATTR_TAG_ENTITY_IDENTIFIER 1
+#define ISNS_ATTR_TAG_ENTITY_PROTOCOL 2
+#define ISNS_ATTR_TAG_MGMT_IP_ADDRESS 3
+#define ISNS_ATTR_TAG_TIMESTAMP 4
+#define ISNS_ATTR_TAG_PROTOCOL_VERSION_RANGE 5
+#define ISNS_ATTR_TAG_REGISTRATION_PERIOD 6
+#define ISNS_ATTR_TAG_ENTITY_INDEX 7
+#define ISNS_ATTR_TAG_ENTITY_NEXT_INDEX 8
#define ISNS_ATTR_TAG_ENTITY_ISAKMP_PHASE_1 11
#define ISNS_ATTR_TAG_ENTITY_CERTIFICATE 12
#define ISNS_ATTR_TAG_PORTAL_IP_ADDRESS 16
@@ -468,12 +468,12 @@ static const value_string isns_attribute_tags[] = {
static value_string_ext isns_attribute_tags_ext = VALUE_STRING_EXT_INIT(isns_attribute_tags);
/* iSNS flags */
-#define ISNS_FLAGS_CLIENT 0x8000
-#define ISNS_FLAGS_SERVER 0x4000
-#define ISNS_FLAGS_AUTH 0x2000
-#define ISNS_FLAGS_REPLACE 0x1000
-#define ISNS_FLAGS_LAST_PDU 0x0800
-#define ISNS_FLAGS_FIRST_PDU 0x0400
+#define ISNS_FLAGS_CLIENT 0x8000
+#define ISNS_FLAGS_SERVER 0x4000
+#define ISNS_FLAGS_AUTH 0x2000
+#define ISNS_FLAGS_REPLACE 0x1000
+#define ISNS_FLAGS_LAST_PDU 0x0800
+#define ISNS_FLAGS_FIRST_PDU 0x0400
#define tfs_isns_scn_bitmap_initiator_and_self_information_only tfs_true_false
@@ -556,18 +556,18 @@ dissect_isns_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
guint packet_len;
proto_item *ti;
proto_tree *isns_tree;
- guint16 flags;
- proto_tree *tt = NULL;
- proto_item *tpayload;
- static const int * isns_flags[] = {
- &hf_isns_client,
- &hf_isns_server,
- &hf_isns_auth,
- &hf_isns_replace,
- &hf_isns_last_pdu,
- &hf_isns_first_pdu,
- NULL
- };
+ guint16 flags;
+ proto_tree *tt = NULL;
+ proto_item *tpayload;
+ static const int * isns_flags[] = {
+ &hf_isns_client,
+ &hf_isns_server,
+ &hf_isns_auth,
+ &hf_isns_replace,
+ &hf_isns_last_pdu,
+ &hf_isns_first_pdu,
+ NULL
+ };
/* Make entries in Protocol column and Info column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "iSNS");
@@ -577,111 +577,111 @@ dissect_isns_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
function_id = tvb_get_ntohs(tvb, offset + 2);
/* Add the function name in the info col */
- col_add_str(pinfo->cinfo, COL_INFO,
- val_to_str_ext(function_id, &isns_function_ids_ext,
- "Unknown function ID 0x%04x"));
-
- /* create display subtree for the protocol */
- ti = proto_tree_add_item(tree, proto_isns, tvb, 0, -1, ENC_NA);
- isns_tree = proto_item_add_subtree(ti, ett_isns);
-
- /* OK... Sort out the header */
- proto_tree_add_item(isns_tree, hf_isns_version, tvb, offset, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(isns_tree, hf_isns_function_id, tvb, offset+2, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(isns_tree, hf_isns_pdu_length, tvb, offset+4, 2, ENC_BIG_ENDIAN);
-
- flags = tvb_get_ntohs(tvb, offset + 6);
- proto_tree_add_bitmask(isns_tree, tvb, offset+6, hf_isns_flags, ett_isns_flags, isns_flags, ENC_BIG_ENDIAN);
- proto_tree_add_item(isns_tree, hf_isns_transaction_id, tvb, offset+8, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(isns_tree, hf_isns_sequence_id, tvb, offset+10, 2, ENC_BIG_ENDIAN);
-
- tpayload = proto_tree_add_item(isns_tree, hf_isns_payload, tvb, offset+12, -1, ENC_NA);
- tt = proto_item_add_subtree(tpayload, ett_isns_payload);
-
- /* Now set the offset to the start of the payload */
- offset += ISNS_HEADER_SIZE;
-
- /* Decode those attributes baby - Yeah!*/
- switch (function_id)
- {
- case ISNS_FUNC_HEARTBEAT:
- proto_tree_add_item(tt,hf_isns_heartbeat_ipv6_addr, tvb, offset, 16, ENC_NA);
- offset += 16;
-
- proto_tree_add_item(tt,hf_isns_heartbeat_tcp_port, tvb, offset, 2, ENC_BIG_ENDIAN);
- offset += 2;
-
- proto_tree_add_item(tt,hf_isns_heartbeat_udp_port, tvb, offset, 2, ENC_BIG_ENDIAN);
- offset += 2;
-
- proto_tree_add_item(tt,hf_isns_heartbeat_interval, tvb, offset, 4, ENC_BIG_ENDIAN);
- offset += 4;
-
- proto_tree_add_item(tt,hf_isns_heartbeat_counter, tvb, offset, 4, ENC_BIG_ENDIAN);
- /*offset += 4;*/
- break;
-
- /* Responses */
- case ISNS_FUNC_RSP_DEVATTRREG:
- case ISNS_FUNC_RSP_DEVATTRQRY:
- case ISNS_FUNC_RSP_DEVGETNEXT:
- case ISNS_FUNC_RSP_DEREGDEV:
- case ISNS_FUNC_RSP_SCNREG:
- case ISNS_FUNC_RSP_SCNDEREG:
- case ISNS_FUNC_RSP_SCNEVENT:
- case ISNS_FUNC_RSP_SCN:
- case ISNS_FUNC_RSP_DDREG:
- case ISNS_FUNC_RSP_DDDEREG:
- case ISNS_FUNC_RSP_DDSREG:
- case ISNS_FUNC_RSP_DDSDEREG:
- case ISNS_FUNC_RSP_ESI:
- case ISNS_FUNC_RSP_RQSTDOMID:
- case ISNS_FUNC_RSP_RLSEDOMID:
- case ISNS_FUNC_RSP_GETDOMID:
-
- /* Get the Error message of the response */
- /* The Error field exists only at the beginning of a message (i.e., in the first PDU */
- if(flags&ISNS_FLAGS_FIRST_PDU){
- proto_tree_add_item(tt,hf_isns_resp_errorcode, tvb, offset, 4, ENC_BIG_ENDIAN);
- offset += 4;
- }
+ col_add_str(pinfo->cinfo, COL_INFO,
+ val_to_str_ext(function_id, &isns_function_ids_ext,
+ "Unknown function ID 0x%04x"));
+
+ /* create display subtree for the protocol */
+ ti = proto_tree_add_item(tree, proto_isns, tvb, 0, -1, ENC_NA);
+ isns_tree = proto_item_add_subtree(ti, ett_isns);
+
+ /* OK... Sort out the header */
+ proto_tree_add_item(isns_tree, hf_isns_version, tvb, offset, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(isns_tree, hf_isns_function_id, tvb, offset+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(isns_tree, hf_isns_pdu_length, tvb, offset+4, 2, ENC_BIG_ENDIAN);
+
+ flags = tvb_get_ntohs(tvb, offset + 6);
+ proto_tree_add_bitmask(isns_tree, tvb, offset+6, hf_isns_flags, ett_isns_flags, isns_flags, ENC_BIG_ENDIAN);
+ proto_tree_add_item(isns_tree, hf_isns_transaction_id, tvb, offset+8, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(isns_tree, hf_isns_sequence_id, tvb, offset+10, 2, ENC_BIG_ENDIAN);
+
+ tpayload = proto_tree_add_item(isns_tree, hf_isns_payload, tvb, offset+12, -1, ENC_NA);
+ tt = proto_item_add_subtree(tpayload, ett_isns_payload);
+
+ /* Now set the offset to the start of the payload */
+ offset += ISNS_HEADER_SIZE;
+
+ /* Decode those attributes baby - Yeah!*/
+ switch (function_id)
+ {
+ case ISNS_FUNC_HEARTBEAT:
+ proto_tree_add_item(tt,hf_isns_heartbeat_ipv6_addr, tvb, offset, 16, ENC_NA);
+ offset += 16;
+
+ proto_tree_add_item(tt,hf_isns_heartbeat_tcp_port, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tt,hf_isns_heartbeat_udp_port, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tt,hf_isns_heartbeat_interval, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+
+ proto_tree_add_item(tt,hf_isns_heartbeat_counter, tvb, offset, 4, ENC_BIG_ENDIAN);
+ /*offset += 4;*/
+ break;
+
+ /* Responses */
+ case ISNS_FUNC_RSP_DEVATTRREG:
+ case ISNS_FUNC_RSP_DEVATTRQRY:
+ case ISNS_FUNC_RSP_DEVGETNEXT:
+ case ISNS_FUNC_RSP_DEREGDEV:
+ case ISNS_FUNC_RSP_SCNREG:
+ case ISNS_FUNC_RSP_SCNDEREG:
+ case ISNS_FUNC_RSP_SCNEVENT:
+ case ISNS_FUNC_RSP_SCN:
+ case ISNS_FUNC_RSP_DDREG:
+ case ISNS_FUNC_RSP_DDDEREG:
+ case ISNS_FUNC_RSP_DDSREG:
+ case ISNS_FUNC_RSP_DDSDEREG:
+ case ISNS_FUNC_RSP_ESI:
+ case ISNS_FUNC_RSP_RQSTDOMID:
+ case ISNS_FUNC_RSP_RLSEDOMID:
+ case ISNS_FUNC_RSP_GETDOMID:
+
+ /* Get the Error message of the response */
+ /* The Error field exists only at the beginning of a message (i.e., in the first PDU */
+ if(flags&ISNS_FLAGS_FIRST_PDU){
+ proto_tree_add_item(tt,hf_isns_resp_errorcode, tvb, offset, 4, ENC_BIG_ENDIAN);
+ offset += 4;
+ }
/* Fall Thru if there are attributes */
if (tvb_reported_length_remaining(tvb, offset) == 0)
return tvb_length(tvb);
- /* Messages */
- case ISNS_FUNC_DEVATTRREG:
- case ISNS_FUNC_DEVATTRQRY:
- case ISNS_FUNC_DEVGETNEXT:
- case ISNS_FUNC_DEREGDEV:
- case ISNS_FUNC_SCNREG:
- case ISNS_FUNC_SCNDEREG:
- case ISNS_FUNC_SCNEVENT:
- case ISNS_FUNC_SCN:
- case ISNS_FUNC_DDREG:
- case ISNS_FUNC_DDDEREG:
- case ISNS_FUNC_DDSREG:
- case ISNS_FUNC_DDSDEREG:
- case ISNS_FUNC_ESI:
- case ISNS_FUNC_RQSTDOMID:
- case ISNS_FUNC_RLSEDOMID:
- case ISNS_FUNC_GETDOMID:
- default:
- /* we can only look at the attributes for the first PDU */
- if(!(flags&ISNS_FLAGS_FIRST_PDU)){
- proto_tree_add_expert(tt, pinfo, &ei_isns_not_first_pdu, tvb, offset, -1);
- return tvb_length(tvb);
- }
+ /* Messages */
+ case ISNS_FUNC_DEVATTRREG:
+ case ISNS_FUNC_DEVATTRQRY:
+ case ISNS_FUNC_DEVGETNEXT:
+ case ISNS_FUNC_DEREGDEV:
+ case ISNS_FUNC_SCNREG:
+ case ISNS_FUNC_SCNDEREG:
+ case ISNS_FUNC_SCNEVENT:
+ case ISNS_FUNC_SCN:
+ case ISNS_FUNC_DDREG:
+ case ISNS_FUNC_DDDEREG:
+ case ISNS_FUNC_DDSREG:
+ case ISNS_FUNC_DDSDEREG:
+ case ISNS_FUNC_ESI:
+ case ISNS_FUNC_RQSTDOMID:
+ case ISNS_FUNC_RLSEDOMID:
+ case ISNS_FUNC_GETDOMID:
+ default:
+ /* we can only look at the attributes for the first PDU */
+ if(!(flags&ISNS_FLAGS_FIRST_PDU)){
+ proto_tree_add_expert(tt, pinfo, &ei_isns_not_first_pdu, tvb, offset, -1);
+ return tvb_length(tvb);
+ }
packet_len = tvb_reported_length(tvb);
- while( offset < packet_len )
- {
- offset = AddAttribute(pinfo, tvb, tt, offset, function_id);
- }
+ while( offset < packet_len )
+ {
+ offset = AddAttribute(pinfo, tvb, tt, offset, function_id);
+ }
}
- return tvb_length(tvb);
+ return tvb_length(tvb);
}
static guint
@@ -1029,320 +1029,320 @@ AddAttribute(packet_info *pinfo, tvbuff_t *tvb, proto_tree *tree, guint offset,
switch( tag )
{
case ISNS_ATTR_TAG_DELIMITER:
- dissect_isns_attr_none(tvb, offset, tree, hf_isns_delimiter, tag, len);
- break;
+ dissect_isns_attr_none(tvb, offset, tree, hf_isns_delimiter, tag, len);
+ break;
case ISNS_ATTR_TAG_ENTITY_IDENTIFIER:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_entity_identifier, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_entity_identifier, tag, len);
+ break;
case ISNS_ATTR_TAG_ENTITY_PROTOCOL:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_entity_protocol, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_entity_protocol, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_MGMT_IP_ADDRESS:
if(len != 16) THROW(ReportedBoundsError);
- dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_mgmt_ip_addr, tag, len);
- break;
+ dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_mgmt_ip_addr, tag, len);
+ break;
case ISNS_ATTR_TAG_TIMESTAMP:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_timestamp, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_timestamp, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PROTOCOL_VERSION_RANGE:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_REGISTRATION_PERIOD:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_registration_period, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_registration_period, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_ENTITY_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_entity_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_entity_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_ENTITY_NEXT_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_entity_next_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_entity_next_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_ENTITY_ISAKMP_PHASE_1:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_ENTITY_CERTIFICATE:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_PORTAL_IP_ADDRESS:
- switch(len){
- case 64:
+ switch(len){
+ case 64:
proto_tree_add_expert(tree, pinfo, &ei_isns_portal_ip_addr, tvb, offset, -1);
- case 16:
+ case 16:
dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_portal_ip_addr, tag, 16);
break;
- default:
+ default:
THROW(ReportedBoundsError);
- }
- break;
+ }
+ break;
case ISNS_ATTR_TAG_PORTAL_PORT:
- dissect_isns_attr_port(tvb, offset, tree, hf_isns_portal_port, tag, len, ISNS_OTHER_PORT, pinfo);
- break;
+ dissect_isns_attr_port(tvb, offset, tree, hf_isns_portal_port, tag, len, ISNS_OTHER_PORT, pinfo);
+ break;
case ISNS_ATTR_TAG_PORTAL_SYMBOLIC_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_portal_symbolic_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_portal_symbolic_name, tag, len);
+ break;
case ISNS_ATTR_TAG_ESI_INTERVAL:
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_esi_interval, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_esi_interval, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_ESI_PORT:
- dissect_isns_attr_port(tvb, offset, tree, hf_isns_esi_port, tag, len, ISNS_ESI_PORT, pinfo);
- break;
+ dissect_isns_attr_port(tvb, offset, tree, hf_isns_esi_port, tag, len, ISNS_ESI_PORT, pinfo);
+ break;
case ISNS_ATTR_TAG_PORTAL_INDEX:
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_portal_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_portal_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_SCN_PORT:
- dissect_isns_attr_port(tvb, offset, tree, hf_isns_scn_port, tag, len, ISNS_SCN_PORT, pinfo);
- break;
+ dissect_isns_attr_port(tvb, offset, tree, hf_isns_scn_port, tag, len, ISNS_SCN_PORT, pinfo);
+ break;
case ISNS_ATTR_TAG_PORTAL_NEXT_INDEX:
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_portal_next_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_portal_next_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PORTAL_SECURITY_BITMAP:
- dissect_isns_attr_portal_security_bitmap(tvb, offset, tree, hf_isns_psb, tag, len);
- break;
+ dissect_isns_attr_portal_security_bitmap(tvb, offset, tree, hf_isns_psb, tag, len);
+ break;
case ISNS_ATTR_TAG_PORTAL_ISAKMP_PHASE_1:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_PORTAL_ISAKMP_PHASE_2:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_PORTAL_CERTIFICATE:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_ISCSI_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_iscsi_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_iscsi_name, tag, len);
+ break;
case ISNS_ATTR_TAG_ISCSI_NODE_TYPE:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_iscsi_node_type(tvb, offset, tree, hf_isns_iscsi_node_type, tag, len);
- break;
+ dissect_isns_attr_iscsi_node_type(tvb, offset, tree, hf_isns_iscsi_node_type, tag, len);
+ break;
case ISNS_ATTR_TAG_ISCSI_ALIAS:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_iscsi_alias, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_iscsi_alias, tag, len);
+ break;
case ISNS_ATTR_TAG_ISCSI_SCN_BITMAP:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_scn_bitmap(tvb, offset, tree, hf_isns_scn_bitmap, tag, len);
- break;
+ dissect_isns_attr_scn_bitmap(tvb, offset, tree, hf_isns_scn_bitmap, tag, len);
+ break;
case ISNS_ATTR_TAG_ISCSI_NODE_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_node_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_node_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_WWNN_TOKEN:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_wwnn_token, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_wwnn_token, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_ISCSI_NODE_NEXT_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_node_next_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_node_next_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_ISCSI_AUTH_METHOD:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_iscsi_auth_method, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_iscsi_auth_method, tag, len);
+ break;
case ISNS_ATTR_TAG_PG_ISCSI_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_pg_iscsi_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_pg_iscsi_name, tag, len);
+ break;
case ISNS_ATTR_TAG_PG_PORTAL_IP_ADDR:
- switch(len){
- case 64:
+ switch(len){
+ case 64:
proto_tree_add_expert_format(tree, pinfo, &ei_isns_portal_ip_addr, tvb, offset, -1,
"Broken iSNS implementation. The PG_PORTAL_IP_ADDRESS tag should be 16 bytes in length");
- case 16:
+ case 16:
dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_pg_portal_ip_addr, tag, 16);
break;
- default:
+ default:
THROW(ReportedBoundsError);
- }
- break;
+ }
+ break;
case ISNS_ATTR_TAG_PG_PORTAL_PORT:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_port(tvb, offset, tree, hf_isns_pg_portal_port, tag, len, ISNS_OTHER_PORT, pinfo);
- break;
+ dissect_isns_attr_port(tvb, offset, tree, hf_isns_pg_portal_port, tag, len, ISNS_OTHER_PORT, pinfo);
+ break;
case ISNS_ATTR_TAG_PORTAL_GROUP_TAG:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_portal_group_tag, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_portal_group_tag, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PORTAL_GROUP_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_pg_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_pg_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PORTAL_GROUP_NEXT_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_pg_next_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_pg_next_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_FC_PORT_NAME_WWPN:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_fc_port_name_wwpn, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_fc_port_name_wwpn, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PORT_ID:
if(len != 3) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_port_id, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_port_id, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_FC_PORT_TYPE:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
- /*
- 0x0000 Unidentified/Null Entry
- 0x0001 Fibre Channel N_Port
- 0x0002 Fibre Channel NL_Port
- 0x0003 Fibre Channel F/NL_Port
- 0x0081 Fibre Channel F_Port
- 0x0082 Fibre Channel FL_Port
- 0x0084 Fibre Channel E_Port
- 0xFF12 iFCP Port
- */
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
+ /*
+ 0x0000 Unidentified/Null Entry
+ 0x0001 Fibre Channel N_Port
+ 0x0002 Fibre Channel NL_Port
+ 0x0003 Fibre Channel F/NL_Port
+ 0x0081 Fibre Channel F_Port
+ 0x0082 Fibre Channel FL_Port
+ 0x0084 Fibre Channel E_Port
+ 0xFF12 iFCP Port
+ */
case ISNS_ATTR_TAG_SYMBOLIC_PORT_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_symbolic_port_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_symbolic_port_name, tag, len);
+ break;
case ISNS_ATTR_TAG_FABRIC_PORT_NAME:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_fabric_port_name, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_fabric_port_name, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_HARD_ADDRESS:
if(len != 3) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_hard_address, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_hard_address, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PORT_IP_ADDRESS:
if(len != 16) THROW(ReportedBoundsError);
- dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_port_ip_addr, tag, len);
- break;
+ dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_port_ip_addr, tag, len);
+ break;
case ISNS_ATTR_TAG_CLASS_OF_SERVICE:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
- /*
- bit 29 Fibre Channel Class 2 Supported
- bit 28 Fibre Channel Class 3 Supported
- */
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
+ /*
+ bit 29 Fibre Channel Class 2 Supported
+ bit 28 Fibre Channel Class 3 Supported
+ */
case ISNS_ATTR_TAG_FC4_TYPES:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_FC4_DESCRIPTOR:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_fc4_descriptor, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_fc4_descriptor, tag, len);
+ break;
case ISNS_ATTR_TAG_FC4_FEATURES:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_IFCP_SCN_BITMAP:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
- /*
- bit 24 INITIATOR AND SELF INFORMATION ONLY
- bit 25 TARGET AND SELF INFORMATION ONLY
- bit 26 MANAGEMENT REGISTRATION/SCN
- bit 27 OBJECT REMOVED
- bit 28 OBJECT ADDED
- bit 29 OBJECT UPDATED
- bit 30 DD/DDS MEMBER REMOVED (Mgmt Reg/SCN only)
- bit 31 (Lsb) DD/DDS MEMBER ADDED (Mgmt Reg/SCN only)
- */
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
+ /*
+ bit 24 INITIATOR AND SELF INFORMATION ONLY
+ bit 25 TARGET AND SELF INFORMATION ONLY
+ bit 26 MANAGEMENT REGISTRATION/SCN
+ bit 27 OBJECT REMOVED
+ bit 28 OBJECT ADDED
+ bit 29 OBJECT UPDATED
+ bit 30 DD/DDS MEMBER REMOVED (Mgmt Reg/SCN only)
+ bit 31 (Lsb) DD/DDS MEMBER ADDED (Mgmt Reg/SCN only)
+ */
case ISNS_ATTR_TAG_PORT_ROLE:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
- /*
- bit 29 Control
- bit 30 FCP Initiator
- bit 31 (Lsb) FCP Target
- */
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
+ /*
+ bit 29 Control
+ bit 30 FCP Initiator
+ bit 31 (Lsb) FCP Target
+ */
case ISNS_ATTR_TAG_PERMANENT_PORT_NAME:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_permanent_port_name, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_permanent_port_name, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_FC4_TYPE_CODE:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
- /* 8bit type code in byte0 */
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
+ /* 8bit type code in byte0 */
case ISNS_ATTR_TAG_FC_NODE_NAME_WWNN:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_fc_node_name_wwnn, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_fc_node_name_wwnn, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_SYMBOLIC_NODE_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_symbolic_node_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_symbolic_node_name, tag, len);
+ break;
case ISNS_ATTR_TAG_NODE_IP_ADDRESS:
if(len != 16) THROW(ReportedBoundsError);
- dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_node_ip_addr, tag, len);
- break;
+ dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_node_ip_addr, tag, len);
+ break;
case ISNS_ATTR_TAG_NODE_IPA:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_node_ipa, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_node_ipa, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PROXY_ISCSI_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_proxy_iscsi_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_proxy_iscsi_name, tag, len);
+ break;
case ISNS_ATTR_TAG_SWITCH_NAME:
if(len != 8) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_switch_name, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_switch_name, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_PREFERRED_ID:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_preferred_id, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_preferred_id, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_ASSIGNED_ID:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_assigned_id, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_assigned_id, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_VIRTUAL_FABRIC_ID:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_virtual_fabric_id, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_virtual_fabric_id, tag, len);
+ break;
case ISNS_ATTR_TAG_VENDOR_OUI:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_vendor_oui, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_vendor_oui, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_DD_SET_ID:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_set_id, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_set_id, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_DD_SET_SYMBOLIC_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_dd_set_symbolic_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_dd_set_symbolic_name, tag, len);
+ break;
case ISNS_ATTR_TAG_DD_SET_STATUS:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_DD_SET_NEXT_ID:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_set_next_id, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_set_next_id, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_DD_ID:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_id, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_id, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_DD_SYMBOLIC_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_dd_symbolic_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_dd_symbolic_name, tag, len);
+ break;
case ISNS_ATTR_TAG_DD_MEMBER_ISCSI_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_member_iscsi_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_member_iscsi_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_DD_MEMBER_ISCSI_NAME:
- dissect_isns_attr_string(tvb, offset, tree, hf_isns_dd_member_iscsi_name, tag, len);
- break;
+ dissect_isns_attr_string(tvb, offset, tree, hf_isns_dd_member_iscsi_name, tag, len);
+ break;
case ISNS_ATTR_TAG_DD_MEMBER_FC_PORT_NAME:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_member_fc_port_name, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_member_fc_port_name, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_DD_MEMBER_PORTAL_INDEX:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_member_portal_index, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_member_portal_index, tag, len, function_id);
+ break;
case ISNS_ATTR_TAG_DD_MEMBER_PORTAL_IP_ADDRESS:
if(len != 16) THROW(ReportedBoundsError);
- dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_dd_member_portal_ip_addr, tag, len);
- break;
+ dissect_isns_attr_ip_address(tvb, offset, tree, hf_isns_dd_member_portal_ip_addr, tag, len);
+ break;
case ISNS_ATTR_TAG_DD_MEMBER_PORTAL_PORT:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_port(tvb, offset, tree, hf_isns_dd_member_portal_port,
+ dissect_isns_attr_port(tvb, offset, tree, hf_isns_dd_member_portal_port,
tag, len, ISNS_OTHER_PORT, pinfo);
- break;
+ break;
case ISNS_ATTR_TAG_DD_FEATURES:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
- break;
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ break;
case ISNS_ATTR_TAG_DD_ID_NEXT_ID:
if(len != 4) THROW(ReportedBoundsError);
- dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_id_next_id, tag, len, function_id);
- break;
+ dissect_isns_attr_integer(tvb, offset, tree, hf_isns_dd_id_next_id, tag, len, function_id);
+ break;
default:
- dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
+ dissect_isns_attr_not_decoded_yet(tvb, offset, tree, hf_isns_not_decoded_yet, tag, len);
}
@@ -1359,558 +1359,564 @@ void proto_register_isns(void)
{
/* Setup list of header fields See Section 1.6.1 for details*/
static hf_register_info hf[] = {
- /* The Header Stuff */
- { &hf_isns_version,
- { "iSNSP Version", "isns.PVer",
- FT_UINT16, BASE_DEC, NULL, 0,
- NULL, HFILL}
- },
- { &hf_isns_function_id,
- { "Function ID", "isns.functionid",
- FT_UINT16, BASE_DEC|BASE_EXT_STRING, &isns_function_ids_ext, 0,
- NULL, HFILL}
- },
- { &hf_isns_pdu_length,
- { "PDU Length", "isns.pdulength",
- FT_UINT16, BASE_DEC, NULL, 0,
- NULL, HFILL}
- },
-
- { &hf_isns_flags,
- { "Flags", "isns.flags",
- FT_UINT16, BASE_HEX, NULL, 0,
- NULL, HFILL}
- },
- { &hf_isns_client,
- { "Client", "isns.flags.client",
- FT_BOOLEAN, 16, TFS(&tfs_isns_flag_client), ISNS_FLAGS_CLIENT,
- NULL, HFILL}
- },
- { &hf_isns_server,
- { "Server", "isns.flags.server",
- FT_BOOLEAN, 16, TFS(&tfs_isns_flag_server), ISNS_FLAGS_SERVER,
- NULL, HFILL}
- },
- { &hf_isns_auth,
- { "Auth", "isns.flags.authentication_block",
- FT_BOOLEAN, 16, TFS(&tfs_isns_flag_auth), ISNS_FLAGS_AUTH,
- "is iSNS Authentication Block present?", HFILL}
- },
- { &hf_isns_replace,
- { "Replace", "isns.flags.replace",
- FT_BOOLEAN, 16, TFS(&tfs_isns_flag_replace), ISNS_FLAGS_REPLACE,
- NULL, HFILL}
- },
- { &hf_isns_last_pdu,
- { "Last PDU", "isns.flags.lastpdu",
- FT_BOOLEAN, 16, TFS(&tfs_isns_flag_last_pdu), ISNS_FLAGS_LAST_PDU,
- NULL, HFILL}
- },
- { &hf_isns_first_pdu,
- { "First PDU", "isns.flags.firstpdu",
- FT_BOOLEAN, 16, TFS(&tfs_isns_flag_first_pdu), ISNS_FLAGS_FIRST_PDU,
- NULL, HFILL }
- },
-
-
- { &hf_isns_transaction_id,
- { "Transaction ID", "isns.transactionid",
- FT_UINT16, BASE_DEC, NULL, 0,
- NULL, HFILL}
- },
- { &hf_isns_sequence_id,
- { "Sequence ID", "isns.sequenceid",
- FT_UINT16, BASE_DEC, NULL, 0,
- NULL, HFILL}
- },
-
- { &hf_isns_entity_protocol,
- { "Entity Protocol", "isns.entity_protocol",
- FT_UINT32, BASE_DEC, VALS(isns_entity_protocol), 0,
- NULL, HFILL}
- },
- /* The Payload stuff */
-
- { &hf_isns_dd_member_portal_port,
- { "DD Member Portal Port", "isns.dd_member_portal_port",
- FT_UINT32, BASE_DEC, NULL, 0,
- "TCP/UDP DD Member Portal Port", HFILL }
- },
-
- { &hf_isns_iscsi_node_type,
- { "iSCSI Node Type", "isns.iscsi.node_type",
- FT_UINT32, BASE_HEX, NULL, 0,
- NULL, HFILL }
- },
-
- { &hf_isns_esi_port,
- { "ESI Port", "isns.esi_port",
- FT_UINT32, BASE_DEC, NULL, 0,
- "TCP/UDP ESI Port", HFILL }
- },
-
- { &hf_isns_scn_port,
- { "SCN Port", "isns.scn_port",
- FT_UINT32, BASE_DEC, NULL, 0,
- "TCP/UDP SCN Port", HFILL }
- },
-
- { &hf_isns_portal_port,
- { "Portal Port", "isns.portal_port",
- FT_UINT32, BASE_DEC, NULL, 0,
- "TCP/UDP Portal Port", HFILL }
- },
-
- { &hf_isns_pg_portal_port,
- { "PG Portal Port", "isns.pg.portal_port",
- FT_UINT32, BASE_DEC, NULL, 0,
- "PG Portal TCP/UDP Port", HFILL }
- },
-
- { &hf_isns_port_type,
- { "Port Type", "isns.port.port_type",
- FT_BOOLEAN, 16, TFS(&tfs_isns_port_type), 0x01, /* bit 15 (or bit 1 of a 16bit word) */
- NULL, HFILL }
- },
-
- { &hf_isns_psb,
- { "Portal Security Bitmap", "isns.psb",
- FT_UINT32, BASE_HEX, NULL, 0,
- NULL, HFILL }
- },
- { &hf_isns_psb_tunnel_mode,
- { "Tunnel Mode", "isns.psb.tunnel",
- FT_BOOLEAN, 32, TFS(&tfs_isns_psb_tunnel_mode), 0x0040, /* bit 25 */
- "Tunnel Mode Preferred", HFILL }
- },
- { &hf_isns_psb_transport_mode,
- { "Transport Mode", "isns.psb.transport",
- FT_BOOLEAN, 32, TFS(&tfs_isns_psb_transport_mode), 0x0020, /* bit 26 */
- NULL, HFILL }
- },
- { &hf_isns_psb_pfs,
- { "PFS", "isns.psb.pfs",
- FT_BOOLEAN, 32, TFS(&tfs_isns_psb_pfs), 0x0010, /* bit 27 */
- NULL, HFILL }
- },
- { &hf_isns_psb_aggressive_mode,
- { "Aggressive Mode", "isns.psb.aggressive_mode",
- FT_BOOLEAN, 32, TFS(&tfs_isns_psb_aggressive_mode), 0x0008, /* bit 28 */
- NULL, HFILL }
- },
- { &hf_isns_psb_main_mode,
- { "Main Mode", "isns.psb.main_mode",
- FT_BOOLEAN, 32, TFS(&tfs_isns_psb_main_mode), 0x0004, /* bit 29 */
- NULL, HFILL }
- },
- { &hf_isns_psb_ike_ipsec,
- { "IKE/IPSec", "isns.psb.ike_ipsec",
- FT_BOOLEAN, 32, TFS(&tfs_isns_psb_ike_ipsec), 0x0002, /* bit 30 */
- NULL, HFILL }
- },
- { &hf_isns_psb_bitmap,
- { "Bitmap", "isns.psb.bitmap",
- FT_BOOLEAN, 32, TFS(&tfs_isns_psb_bitmap), 0x0001, /* bit 31 */
- NULL, HFILL }
- },
-
-
-
- { &hf_isns_scn_bitmap,
- { "iSCSI SCN Bitmap", "isns.scn_bitmap",
- FT_UINT32, BASE_HEX, NULL, 0,
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_initiator_and_self_information_only,
- { "Initiator And Self Information Only", "isns.scn_bitmap.initiator_and_self_information_only",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_initiator_and_self_information_only), 0x0080, /* bit 24 */
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_target_and_self_information_only,
- { "Target And Self Information Only", "isns.scn_bitmap.target_and_self_information_only",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_target_and_self_information_only), 0x0040, /* bit 25 */
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_management_registration_scn,
- { "Management Registration/SCN", "isns.scn_bitmap.management_registration_scn",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_management_registration_scn), 0x0020, /* bit 26 */
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_object_removed,
- { "Object Removed", "isns.scn_bitmap.object_removed",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_object_removed), 0x0010, /* bit 27 */
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_object_added,
- { "Object Added", "isns.scn_bitmap.object_added",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_object_added), 0x0008, /* bit 28 */
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_object_updated,
- { "Object Updated", "isns.scn_bitmap.object_updated",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_object_updated), 0x0004, /* bit 29 */
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_dd_dds_member_removed,
- { "DD/DDS Member Removed (Mgmt Reg/SCN only)", "isns.scn_bitmap.dd_dds_member_removed",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_dd_dds_member_removed), 0x0002, /* bit 30 */
- NULL, HFILL }
- },
- { &hf_isns_scn_bitmap_dd_dds_member_added,
- { "DD/DDS Member Added (Mgmt Reg/SCN only)", "isns.scn_bitmap.dd_dds_member_added",
- FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_dd_dds_member_added), 0x0001, /* bit 31 */
- NULL, HFILL }
- },
-
-
- { &hf_isns_isnt_control,
- { "Control", "isns.isnt.control",
- FT_BOOLEAN, 32, TFS(&tfs_isns_isnt_control), 0x0004, /* bit 29 */
- NULL, HFILL }
- },
- { &hf_isns_isnt_initiator,
- { "Initiator", "isns.isnt.initiator",
- FT_BOOLEAN, 32, TFS(&tfs_isns_isnt_initiator), 0x0002, /* bit 30 */
- NULL, HFILL }
- },
- { &hf_isns_isnt_target,
- { "Target", "isns.isnt.target",
- FT_BOOLEAN, 32, TFS(&tfs_isns_isnt_target), 0x0001, /* bit 31 */
- NULL, HFILL }
- },
-
-
- { &hf_isns_resp_errorcode,
- { "ErrorCode", "isns.errorcode",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &isns_errorcode_ext, 0,
- "iSNS Response Error Code", HFILL}
- },
-
- { &hf_isns_attr_tag,
- { "Attribute Tag", "isns.attr.tag",
- FT_UINT32, BASE_DEC|BASE_EXT_STRING, &isns_attribute_tags_ext, 0,
- NULL, HFILL}
- },
-
- { &hf_isns_attr_len,
- { "Attribute Length", "isns.attr.len",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL}
- },
-
- { &hf_isns_delimiter,
- { "Delimiter", "isns.delimiter",
- FT_NONE, BASE_NONE, NULL,0,
- NULL, HFILL}
- },
-
- { &hf_isns_not_decoded_yet,
- { "Not Decoded Yet", "isns.not_decoded_yet",
- FT_NONE, BASE_NONE, NULL, 0,
- "This tag is not yet decoded by Wireshark", HFILL}
- },
-
- { &hf_isns_heartbeat_ipv6_addr,
- { "Heartbeat Address (ipv6)", "isns.heartbeat.address",
- FT_IPv6, BASE_NONE, NULL, 0x0,
- "Server IPv6 Address", HFILL }},
-
- { &hf_isns_heartbeat_tcp_port,
- { "Heartbeat TCP Port", "isns.heartbeat.tcpport",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "Server TCP Port", HFILL }},
-
- { &hf_isns_heartbeat_udp_port,
- { "Heartbeat UDP Port", "isns.heartbeat.udpport",
- FT_UINT16, BASE_DEC, NULL, 0x0,
- "Server UDP Port", HFILL }},
-
-
- { &hf_isns_heartbeat_interval,
- { "Heartbeat Interval (secs)", "isns.heartbeat.interval",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Server Heartbeat interval", HFILL }},
-
- { &hf_isns_heartbeat_counter,
- { "Heartbeat counter", "isns.heartbeat.counter",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Server Heartbeat Counter", HFILL }},
-
- { &hf_isns_iscsi_name,
- { "iSCSI Name", "isns.iscsi_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "iSCSI Name of device", HFILL }},
-
- { &hf_isns_dd_member_iscsi_name,
- { "DD Member iSCSI Name", "isns.dd_member.iscsi_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "DD Member iSCSI Name of device", HFILL }},
-
- { &hf_isns_virtual_fabric_id,
- { "Virtual Fabric ID", "isns.virtual_fabric_id",
- FT_STRING, BASE_NONE, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_proxy_iscsi_name,
- { "Proxy iSCSI Name", "isns.proxy_iscsi_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_fc4_descriptor,
- { "FC4 Descriptor", "isns.fc4_descriptor",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "FC4 Descriptor of this device", HFILL }},
-
- { &hf_isns_iscsi_auth_method,
- { "iSCSI Auth Method", "isns.iscsi_auth_method",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "Authentication Method required by this device", HFILL }},
-
- { &hf_isns_iscsi_alias,
- { "iSCSI Alias", "isns.iscsi_alias",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "iSCSI Alias of device", HFILL }},
-
- { &hf_isns_portal_symbolic_name,
- { "Portal Symbolic Name", "isns.portal.symbolic_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "Symbolic name of this portal", HFILL }},
-
- { &hf_isns_dd_set_symbolic_name,
- { "DD Set Symbolic Name", "isns.dd_set.symbolic_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "Symbolic name of this DD Set", HFILL }},
-
- { &hf_isns_dd_symbolic_name,
- { "DD Symbolic Name", "isns.dd.symbolic_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "Symbolic name of this DD", HFILL }},
-
- { &hf_isns_symbolic_port_name,
- { "Symbolic Port Name", "isns.port.symbolic_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "Symbolic name of this port", HFILL }},
-
- { &hf_isns_symbolic_node_name,
- { "Symbolic Node Name", "isns.node.symbolic_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "Symbolic name of this node", HFILL }},
-
- { &hf_isns_entity_identifier,
- { "Entity Identifier", "isns.entity_identifier",
- FT_STRING, BASE_NONE, NULL, 0x0,
- "Entity Identifier of this object", HFILL }},
-
- { &hf_isns_mgmt_ip_addr,
- { "Management IP Address", "isns.mgmt.ip_address",
- FT_IPv6, BASE_NONE, NULL, 0x0,
- "Management IPv4/IPv6 Address", HFILL }},
-
- { &hf_isns_node_ip_addr,
- { "Node IP Address", "isns.node.ip_address",
- FT_IPv6, BASE_NONE, NULL, 0x0,
- "Node IPv4/IPv6 Address", HFILL }},
-
- { &hf_isns_port_ip_addr,
- { "Port IP Address", "isns.port.ip_address",
- FT_IPv6, BASE_NONE, NULL, 0x0,
- "Port IPv4/IPv6 Address", HFILL }},
-
- { &hf_isns_portal_ip_addr,
- { "Portal IP Address", "isns.portal.ip_address",
- FT_IPv6, BASE_NONE, NULL, 0x0,
- "Portal IPv4/IPv6 Address", HFILL }},
-
- { &hf_isns_dd_member_portal_ip_addr,
- { "DD Member Portal IP Address", "isns.dd.member_portal.ip_address",
- FT_IPv6, BASE_NONE, NULL, 0x0,
- "DD Member Portal IPv4/IPv6 Address", HFILL }},
-
- { &hf_isns_pg_iscsi_name,
- { "PG iSCSI Name", "isns.pg_iscsi_name",
- FT_STRING, BASE_NONE, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_pg_portal_ip_addr,
- { "PG Portal IP Address", "isns.pg_portal.ip_address",
- FT_IPv6, BASE_NONE, NULL, 0x0,
- "PG Portal IPv4/IPv6 Address", HFILL }},
-
- { &hf_isns_pg_index,
- { "PG Index", "isns.pg_index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_pg_next_index,
- { "PG Next Index", "isns.pg_next_index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_dd_id_next_id,
- { "DD ID Next ID", "isns.dd_id_next_id",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_member_iscsi_index,
- { "Member iSCSI Index", "isns.member_iscsi_index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_member_portal_index,
- { "Member Portal Index", "isns.member_portal_index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_member_fc_port_name,
- { "Member FC Port Name", "isns.member_fc_port_name",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_vendor_oui,
- { "Vendor OUI", "isns.vendor_oui",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_preferred_id,
- { "Preferred ID", "isns.preferred_id",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_dd_set_id,
- { "DD Set ID", "isns.dd_set_id",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_dd_id,
- { "DD ID", "isns.dd_id",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_port_id,
- { "Port ID", "isns.port_id",
- FT_UINT24, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_hard_address,
- { "Hard Address", "isns.hard_address",
- FT_UINT24, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_wwnn_token,
- { "WWNN Token", "isns.wwnn_token",
- FT_UINT64, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_fc_port_name_wwpn,
- { "FC Port Name WWPN", "isns.fc_port_name_wwpn",
- FT_UINT64, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_fc_node_name_wwnn,
- { "FC Node Name WWNN", "isns.fc_node_name_wwnn",
- FT_UINT64, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_node_ipa,
- { "Node IPA", "isns.node_ipa",
- FT_UINT64, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_fabric_port_name,
- { "Fabric Port Name", "isns.fabric_port_name",
- FT_UINT64, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_permanent_port_name,
- { "Permanent Port Name", "isns.permanent_port_name",
- FT_UINT64, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_switch_name,
- { "Switch Name", "isns.switch_name",
- FT_UINT64, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_dd_set_next_id,
- { "DD Set Next ID", "isns.dd_set_next_id",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_assigned_id,
- { "Assigned ID", "isns.assigned_id",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_node_index,
- { "Node Index", "isns.node.index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_node_next_index,
- { "Node Next Index", "isns.node.next_index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Node INext index", HFILL }},
-
- { &hf_isns_portal_index,
- { "Portal Index", "isns.portal.index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_portal_next_index,
- { "Portal Next Index", "isns.portal.next_index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_entity_index,
- { "Entity Index", "isns.entity.index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
-
- { &hf_isns_entity_next_index,
- { "Entity Next Index", "isns.entity.next_index",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Next Entity Index", HFILL }},
-
- { &hf_isns_timestamp,
- { "Timestamp", "isns.timestamp",
- FT_UINT64, BASE_DEC, NULL, 0x0,
- "Timestamp in Seconds", HFILL }},
-
- { &hf_isns_esi_interval,
- { "ESI Interval", "isns.esi_interval",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "ESI Interval in Seconds", HFILL }},
-
- { &hf_isns_registration_period,
- { "Registration Period", "isns.registration_period",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Registration Period in Seconds", HFILL }},
-
- { &hf_isns_portal_group_tag,
- { "PG Tag", "isns.portal_group_tag",
- FT_UINT32, BASE_DEC, NULL, 0x0,
- "Portal Group Tag", HFILL }},
-
- { &hf_isns_payload,
+ /* The Header Stuff */
+ { &hf_isns_version,
+ { "iSNSP Version", "isns.PVer",
+ FT_UINT16, BASE_DEC, NULL, 0,
+ NULL, HFILL}
+ },
+ { &hf_isns_function_id,
+ { "Function ID", "isns.functionid",
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &isns_function_ids_ext, 0,
+ NULL, HFILL}
+ },
+ { &hf_isns_pdu_length,
+ { "PDU Length", "isns.pdulength",
+ FT_UINT16, BASE_DEC, NULL, 0,
+ NULL, HFILL}
+ },
+
+ { &hf_isns_flags,
+ { "Flags", "isns.flags",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL}
+ },
+ { &hf_isns_client,
+ { "Client", "isns.flags.client",
+ FT_BOOLEAN, 16, TFS(&tfs_isns_flag_client), ISNS_FLAGS_CLIENT,
+ NULL, HFILL}
+ },
+ { &hf_isns_server,
+ { "Server", "isns.flags.server",
+ FT_BOOLEAN, 16, TFS(&tfs_isns_flag_server), ISNS_FLAGS_SERVER,
+ NULL, HFILL}
+ },
+ { &hf_isns_auth,
+ { "Auth", "isns.flags.authentication_block",
+ FT_BOOLEAN, 16, TFS(&tfs_isns_flag_auth), ISNS_FLAGS_AUTH,
+ "is iSNS Authentication Block present?", HFILL}
+ },
+ { &hf_isns_replace,
+ { "Replace", "isns.flags.replace",
+ FT_BOOLEAN, 16, TFS(&tfs_isns_flag_replace), ISNS_FLAGS_REPLACE,
+ NULL, HFILL}
+ },
+ { &hf_isns_last_pdu,
+ { "Last PDU", "isns.flags.lastpdu",
+ FT_BOOLEAN, 16, TFS(&tfs_isns_flag_last_pdu), ISNS_FLAGS_LAST_PDU,
+ NULL, HFILL}
+ },
+ { &hf_isns_first_pdu,
+ { "First PDU", "isns.flags.firstpdu",
+ FT_BOOLEAN, 16, TFS(&tfs_isns_flag_first_pdu), ISNS_FLAGS_FIRST_PDU,
+ NULL, HFILL }
+ },
+
+
+ { &hf_isns_transaction_id,
+ { "Transaction ID", "isns.transactionid",
+ FT_UINT16, BASE_DEC, NULL, 0,
+ NULL, HFILL}
+ },
+ { &hf_isns_sequence_id,
+ { "Sequence ID", "isns.sequenceid",
+ FT_UINT16, BASE_DEC, NULL, 0,
+ NULL, HFILL}
+ },
+
+ { &hf_isns_entity_protocol,
+ { "Entity Protocol", "isns.entity_protocol",
+ FT_UINT32, BASE_DEC, VALS(isns_entity_protocol), 0,
+ NULL, HFILL}
+ },
+ /* The Payload stuff */
+
+ { &hf_isns_dd_member_portal_port,
+ { "DD Member Portal Port", "isns.dd_member_portal_port",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "TCP/UDP DD Member Portal Port", HFILL }
+ },
+
+ { &hf_isns_iscsi_node_type,
+ { "iSCSI Node Type", "isns.iscsi.node_type",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }
+ },
+
+ { &hf_isns_esi_port,
+ { "ESI Port", "isns.esi_port",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "TCP/UDP ESI Port", HFILL }
+ },
+
+ { &hf_isns_scn_port,
+ { "SCN Port", "isns.scn_port",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "TCP/UDP SCN Port", HFILL }
+ },
+
+ { &hf_isns_portal_port,
+ { "Portal Port", "isns.portal_port",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "TCP/UDP Portal Port", HFILL }
+ },
+
+ { &hf_isns_pg_portal_port,
+ { "PG Portal Port", "isns.pg.portal_port",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PG Portal TCP/UDP Port", HFILL }
+ },
+
+ { &hf_isns_port_type,
+ { "Port Type", "isns.port.port_type",
+ FT_BOOLEAN, 16, TFS(&tfs_isns_port_type), 0x01, /* bit 15 (or bit 1 of a 16bit word) */
+ NULL, HFILL }
+ },
+
+ { &hf_isns_psb,
+ { "Portal Security Bitmap", "isns.psb",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_isns_psb_tunnel_mode,
+ { "Tunnel Mode", "isns.psb.tunnel",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_psb_tunnel_mode), 0x0040, /* bit 25 */
+ "Tunnel Mode Preferred", HFILL }
+ },
+ { &hf_isns_psb_transport_mode,
+ { "Transport Mode", "isns.psb.transport",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_psb_transport_mode), 0x0020, /* bit 26 */
+ NULL, HFILL }
+ },
+ { &hf_isns_psb_pfs,
+ { "PFS", "isns.psb.pfs",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_psb_pfs), 0x0010, /* bit 27 */
+ NULL, HFILL }
+ },
+ { &hf_isns_psb_aggressive_mode,
+ { "Aggressive Mode", "isns.psb.aggressive_mode",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_psb_aggressive_mode), 0x0008, /* bit 28 */
+ NULL, HFILL }
+ },
+ { &hf_isns_psb_main_mode,
+ { "Main Mode", "isns.psb.main_mode",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_psb_main_mode), 0x0004, /* bit 29 */
+ NULL, HFILL }
+ },
+ { &hf_isns_psb_ike_ipsec,
+ { "IKE/IPSec", "isns.psb.ike_ipsec",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_psb_ike_ipsec), 0x0002, /* bit 30 */
+ NULL, HFILL }
+ },
+ { &hf_isns_psb_bitmap,
+ { "Bitmap", "isns.psb.bitmap",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_psb_bitmap), 0x0001, /* bit 31 */
+ NULL, HFILL }
+ },
+
+
+
+ { &hf_isns_scn_bitmap,
+ { "iSCSI SCN Bitmap", "isns.scn_bitmap",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_initiator_and_self_information_only,
+ { "Initiator And Self Information Only", "isns.scn_bitmap.initiator_and_self_information_only",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_initiator_and_self_information_only), 0x0080, /* bit 24 */
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_target_and_self_information_only,
+ { "Target And Self Information Only", "isns.scn_bitmap.target_and_self_information_only",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_target_and_self_information_only), 0x0040, /* bit 25 */
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_management_registration_scn,
+ { "Management Registration/SCN", "isns.scn_bitmap.management_registration_scn",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_management_registration_scn), 0x0020, /* bit 26 */
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_object_removed,
+ { "Object Removed", "isns.scn_bitmap.object_removed",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_object_removed), 0x0010, /* bit 27 */
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_object_added,
+ { "Object Added", "isns.scn_bitmap.object_added",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_object_added), 0x0008, /* bit 28 */
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_object_updated,
+ { "Object Updated", "isns.scn_bitmap.object_updated",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_object_updated), 0x0004, /* bit 29 */
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_dd_dds_member_removed,
+ { "DD/DDS Member Removed (Mgmt Reg/SCN only)", "isns.scn_bitmap.dd_dds_member_removed",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_dd_dds_member_removed), 0x0002, /* bit 30 */
+ NULL, HFILL }
+ },
+ { &hf_isns_scn_bitmap_dd_dds_member_added,
+ { "DD/DDS Member Added (Mgmt Reg/SCN only)", "isns.scn_bitmap.dd_dds_member_added",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_scn_bitmap_dd_dds_member_added), 0x0001, /* bit 31 */
+ NULL, HFILL }
+ },
+
+
+ { &hf_isns_isnt_control,
+ { "Control", "isns.isnt.control",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_isnt_control), 0x0004, /* bit 29 */
+ NULL, HFILL }
+ },
+ { &hf_isns_isnt_initiator,
+ { "Initiator", "isns.isnt.initiator",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_isnt_initiator), 0x0002, /* bit 30 */
+ NULL, HFILL }
+ },
+ { &hf_isns_isnt_target,
+ { "Target", "isns.isnt.target",
+ FT_BOOLEAN, 32, TFS(&tfs_isns_isnt_target), 0x0001, /* bit 31 */
+ NULL, HFILL }
+ },
+
+
+ { &hf_isns_resp_errorcode,
+ { "ErrorCode", "isns.errorcode",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &isns_errorcode_ext, 0,
+ "iSNS Response Error Code", HFILL}
+ },
+
+ { &hf_isns_attr_tag,
+ { "Attribute Tag", "isns.attr.tag",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &isns_attribute_tags_ext, 0,
+ NULL, HFILL}
+ },
+
+ { &hf_isns_attr_len,
+ { "Attribute Length", "isns.attr.len",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL}
+ },
+
+ { &hf_isns_delimiter,
+ { "Delimiter", "isns.delimiter",
+ FT_NONE, BASE_NONE, NULL,0,
+ NULL, HFILL}
+ },
+
+ { &hf_isns_not_decoded_yet,
+ { "Not Decoded Yet", "isns.not_decoded_yet",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "This tag is not yet decoded by Wireshark", HFILL}
+ },
+
+ { &hf_isns_heartbeat_ipv6_addr,
+ { "Heartbeat Address (ipv6)", "isns.heartbeat.address",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "Server IPv6 Address", HFILL }},
+
+ { &hf_isns_heartbeat_tcp_port,
+ { "Heartbeat TCP Port", "isns.heartbeat.tcpport",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "Server TCP Port", HFILL }},
+
+ { &hf_isns_heartbeat_udp_port,
+ { "Heartbeat UDP Port", "isns.heartbeat.udpport",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ "Server UDP Port", HFILL }},
+
+
+ { &hf_isns_heartbeat_interval,
+ { "Heartbeat Interval (secs)", "isns.heartbeat.interval",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Server Heartbeat interval", HFILL }},
+
+ { &hf_isns_heartbeat_counter,
+ { "Heartbeat counter", "isns.heartbeat.counter",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Server Heartbeat Counter", HFILL }},
+
+ { &hf_isns_iscsi_name,
+ { "iSCSI Name", "isns.iscsi_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "iSCSI Name of device", HFILL }},
+
+ { &hf_isns_dd_member_iscsi_name,
+ { "DD Member iSCSI Name", "isns.dd_member.iscsi_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "DD Member iSCSI Name of device", HFILL }},
+
+ { &hf_isns_virtual_fabric_id,
+ { "Virtual Fabric ID", "isns.virtual_fabric_id",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_proxy_iscsi_name,
+ { "Proxy iSCSI Name", "isns.proxy_iscsi_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_fc4_descriptor,
+ { "FC4 Descriptor", "isns.fc4_descriptor",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "FC4 Descriptor of this device", HFILL }},
+
+ { &hf_isns_iscsi_auth_method,
+ { "iSCSI Auth Method", "isns.iscsi_auth_method",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Authentication Method required by this device", HFILL }},
+
+ { &hf_isns_iscsi_alias,
+ { "iSCSI Alias", "isns.iscsi_alias",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "iSCSI Alias of device", HFILL }},
+
+ { &hf_isns_portal_symbolic_name,
+ { "Portal Symbolic Name", "isns.portal.symbolic_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Symbolic name of this portal", HFILL }},
+
+ { &hf_isns_dd_set_symbolic_name,
+ { "DD Set Symbolic Name", "isns.dd_set.symbolic_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Symbolic name of this DD Set", HFILL }},
+
+ { &hf_isns_dd_symbolic_name,
+ { "DD Symbolic Name", "isns.dd.symbolic_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Symbolic name of this DD", HFILL }},
+
+ { &hf_isns_symbolic_port_name,
+ { "Symbolic Port Name", "isns.port.symbolic_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Symbolic name of this port", HFILL }},
+
+ { &hf_isns_symbolic_node_name,
+ { "Symbolic Node Name", "isns.node.symbolic_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Symbolic name of this node", HFILL }},
+
+ { &hf_isns_entity_identifier,
+ { "Entity Identifier", "isns.entity_identifier",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ "Entity Identifier of this object", HFILL }},
+
+ { &hf_isns_mgmt_ip_addr,
+ { "Management IP Address", "isns.mgmt.ip_address",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "Management IPv4/IPv6 Address", HFILL }},
+
+ { &hf_isns_node_ip_addr,
+ { "Node IP Address", "isns.node.ip_address",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "Node IPv4/IPv6 Address", HFILL }},
+
+ { &hf_isns_port_ip_addr,
+ { "Port IP Address", "isns.port.ip_address",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "Port IPv4/IPv6 Address", HFILL }},
+
+ { &hf_isns_portal_ip_addr,
+ { "Portal IP Address", "isns.portal.ip_address",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "Portal IPv4/IPv6 Address", HFILL }},
+
+ { &hf_isns_dd_member_portal_ip_addr,
+ { "DD Member Portal IP Address", "isns.dd.member_portal.ip_address",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "DD Member Portal IPv4/IPv6 Address", HFILL }},
+
+ { &hf_isns_pg_iscsi_name,
+ { "PG iSCSI Name", "isns.pg_iscsi_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_pg_portal_ip_addr,
+ { "PG Portal IP Address", "isns.pg_portal.ip_address",
+ FT_IPv6, BASE_NONE, NULL, 0x0,
+ "PG Portal IPv4/IPv6 Address", HFILL }},
+
+ { &hf_isns_pg_index,
+ { "PG Index", "isns.pg_index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_pg_next_index,
+ { "PG Next Index", "isns.pg_next_index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_dd_id_next_id,
+ { "DD ID Next ID", "isns.dd_id_next_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_member_iscsi_index,
+ { "Member iSCSI Index", "isns.member_iscsi_index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_member_portal_index,
+ { "Member Portal Index", "isns.member_portal_index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_member_fc_port_name,
+ { "Member FC Port Name", "isns.member_fc_port_name",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_vendor_oui,
+ { "Vendor OUI", "isns.vendor_oui",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_preferred_id,
+ { "Preferred ID", "isns.preferred_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_dd_set_id,
+ { "DD Set ID", "isns.dd_set_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_dd_id,
+ { "DD ID", "isns.dd_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_port_id,
+ { "Port ID", "isns.port_id",
+ FT_UINT24, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_hard_address,
+ { "Hard Address", "isns.hard_address",
+ FT_UINT24, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_wwnn_token,
+ { "WWNN Token", "isns.wwnn_token",
+ FT_UINT64, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_fc_port_name_wwpn,
+ { "FC Port Name WWPN", "isns.fc_port_name_wwpn",
+ FT_UINT64, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_fc_node_name_wwnn,
+ { "FC Node Name WWNN", "isns.fc_node_name_wwnn",
+ FT_UINT64, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_node_ipa,
+ { "Node IPA", "isns.node_ipa",
+ FT_UINT64, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_fabric_port_name,
+ { "Fabric Port Name", "isns.fabric_port_name",
+ FT_UINT64, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_permanent_port_name,
+ { "Permanent Port Name", "isns.permanent_port_name",
+ FT_UINT64, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_switch_name,
+ { "Switch Name", "isns.switch_name",
+ FT_UINT64, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_dd_set_next_id,
+ { "DD Set Next ID", "isns.dd_set_next_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_assigned_id,
+ { "Assigned ID", "isns.assigned_id",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_node_index,
+ { "Node Index", "isns.node.index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_node_next_index,
+ { "Node Next Index", "isns.node.next_index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Node INext index", HFILL }},
+
+ { &hf_isns_portal_index,
+ { "Portal Index", "isns.portal.index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_portal_next_index,
+ { "Portal Next Index", "isns.portal.next_index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_entity_index,
+ { "Entity Index", "isns.entity.index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }},
+
+ { &hf_isns_entity_next_index,
+ { "Entity Next Index", "isns.entity.next_index",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Next Entity Index", HFILL }},
+
+ { &hf_isns_timestamp,
+ { "Timestamp", "isns.timestamp",
+ FT_UINT64, BASE_DEC, NULL, 0x0,
+ "Timestamp in Seconds", HFILL }},
+
+ { &hf_isns_esi_interval,
+ { "ESI Interval", "isns.esi_interval",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "ESI Interval in Seconds", HFILL }},
+
+ { &hf_isns_registration_period,
+ { "Registration Period", "isns.registration_period",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Registration Period in Seconds", HFILL }},
+
+ { &hf_isns_portal_group_tag,
+ { "PG Tag", "isns.portal_group_tag",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ "Portal Group Tag", HFILL }},
+
+ { &hf_isns_payload,
{ "Payload", "isns.payload",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL}
- }
+ }
};
/* Setup protocol subtree array */
static gint *ett[] = {
- &ett_isns,
- &ett_isns_flags,
- &ett_isns_payload,
- &ett_isns_attribute,
- &ett_isns_port,
- &ett_isns_isnt
+ &ett_isns,
+ &ett_isns_flags,
+ &ett_isns_payload,
+ &ett_isns_attribute,
+ &ett_isns_port,
+ &ett_isns_isnt
};
static ei_register_info ei[] = {
- { &ei_isns_portal_ip_addr, { "isns.portal.ip_address.malformed", PI_MALFORMED, PI_ERROR, "Broken iSNS implementation. The PORTAL_IP_ADDRESS tag should be 16 bytes in length", EXPFILL }},
- { &ei_isns_not_first_pdu, { "isns.not_first_pdu", PI_PROTOCOL, PI_WARN, "This is not the first PDU. The attributes are not decoded", EXPFILL }},
+ { &ei_isns_portal_ip_addr,
+ { "isns.portal.ip_address.malformed",
+ PI_MALFORMED, PI_ERROR,
+ "Broken iSNS implementation. The PORTAL_IP_ADDRESS tag should be 16 bytes in length", EXPFILL }},
+ { &ei_isns_not_first_pdu,
+ { "isns.not_first_pdu",
+ PI_PROTOCOL, PI_WARN,
+ "This is not the first PDU. The attributes are not decoded", EXPFILL }},
};
module_t *isns_module;
@@ -1918,7 +1924,7 @@ void proto_register_isns(void)
/* Register the protocol name and description */
proto_isns = proto_register_protocol("iSNS",
- "iSNS", "isns");
+ "iSNS", "isns");
proto_register_field_array(proto_isns, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_isns = expert_register_protocol(proto_isns);
@@ -1926,11 +1932,12 @@ void proto_register_isns(void)
/* Register preferences */
isns_module = prefs_register_protocol(proto_isns, NULL);
- prefs_register_bool_preference(isns_module, "desegment",
- "Reassemble iSNS messages spanning multiple TCP segments",
- "Whether the iSNS dissector should reassemble messages spanning multiple TCP segments."
- " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
- &isns_desegment);
+ prefs_register_bool_preference(
+ isns_module, "desegment",
+ "Reassemble iSNS messages spanning multiple TCP segments",
+ "Whether the iSNS dissector should reassemble messages spanning multiple TCP segments."
+ " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ &isns_desegment);
}
void
@@ -1942,3 +1949,16 @@ proto_reg_handoff_isns(void)
dissector_add_uint("tcp.port",ISNS_TCP_PORT,isns_tcp_handle);
dissector_add_uint("udp.port",ISNS_UDP_PORT,isns_udp_handle);
}
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/epan/dissectors/packet-nlsp.c b/epan/dissectors/packet-nlsp.c
index 672daf0012..cc97cba9bc 100644
--- a/epan/dissectors/packet-nlsp.c
+++ b/epan/dissectors/packet-nlsp.c
@@ -284,7 +284,7 @@ nlsp_dissect_clvs(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offse
*/
static void
dissect_area_address_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
while (length > 0) {
if (length < 4) {
@@ -326,7 +326,7 @@ dissect_area_address_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, in
*/
static void
dissect_neighbor_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
while (length > 0) {
if (length < 6) {
@@ -357,7 +357,7 @@ dissect_neighbor_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int of
*/
static void
dissect_hello_local_mtu_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
if (length < 4) {
proto_tree_add_expert_format(tree, pinfo, &ei_nlsp_short_packet, tvb, offset, -1,
@@ -439,7 +439,7 @@ static const value_string nlsp_hello_circuit_type_vals[] = {
static void
nlsp_dissect_nlsp_hello(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- int offset, int hello_type, int header_length)
+ int offset, int hello_type, int header_length)
{
guint16 packet_length;
int len;
@@ -517,7 +517,7 @@ nlsp_dissect_nlsp_hello(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
*/
static void
dissect_lsp_mgt_info_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
guint8 name_length;
@@ -625,7 +625,7 @@ static const value_string media_type_vals[] = {
static void
dissect_lsp_link_info_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
guint8 flags_cost;
@@ -721,7 +721,7 @@ dissect_lsp_link_info_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, i
*/
static void
dissect_lsp_svcs_info_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
if (length < 1) {
proto_tree_add_expert_format(tree, pinfo, &ei_nlsp_short_packet, tvb, offset, -1,
@@ -796,7 +796,7 @@ dissect_lsp_svcs_info_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, i
*/
static void
dissect_lsp_ext_routes_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
while (length > 0) {
if (length < 1) {
@@ -906,7 +906,7 @@ static const nlsp_clv_handle_t clv_l1_lsp_opts[] = {
static void
nlsp_dissect_nlsp_lsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- int offset, int header_length)
+ int offset, int header_length)
{
guint16 packet_length;
guint16 remaining_lifetime;
@@ -1001,7 +1001,7 @@ nlsp_dissect_nlsp_lsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
*/
static void
dissect_csnp_lsp_entries(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
proto_tree *subtree;
@@ -1037,7 +1037,7 @@ dissect_csnp_lsp_entries(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, in
static void
dissect_psnp_lsp_entries(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, int offset,
- int length)
+ int length)
{
proto_tree *subtree;
@@ -1105,7 +1105,7 @@ static const nlsp_clv_handle_t clv_l1_csnp_opts[] = {
*/
static void
nlsp_dissect_nlsp_csnp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- int offset, int header_length)
+ int offset, int header_length)
{
guint16 packet_length;
int len;
@@ -1185,7 +1185,7 @@ static const nlsp_clv_handle_t clv_l1_psnp_opts[] = {
*/
static void
nlsp_dissect_nlsp_psnp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- int offset, int header_length)
+ int offset, int header_length)
{
guint16 packet_length;
int len;
@@ -1329,152 +1329,408 @@ void
proto_register_nlsp(void)
{
static hf_register_info hf[] = {
- { &hf_nlsp_irpd,
- { "NetWare Link Services Protocol Discriminator", "nlsp.irpd",
- FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_header_length,
- { "PDU Header Length", "nlsp.header_length",
- FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_minor_version,
- { "Minor Version", "nlsp.minor_version", FT_UINT8,
- BASE_DEC, NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_nr,
- { "Multi-homed Non-routing Server", "nlsp.nr", FT_BOOLEAN, 8,
- NULL, 0x80, NULL, HFILL }},
-
- { &hf_nlsp_type,
- { "Packet Type", "nlsp.type", FT_UINT8, BASE_DEC,
- VALS(nlsp_packet_type_vals), PACKET_TYPE_MASK, NULL, HFILL }},
-
- { &hf_nlsp_major_version,
- { "Major Version", "nlsp.major_version", FT_UINT8,
- BASE_DEC, NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_packet_length,
- { "Packet Length", "nlsp.packet_length",
- FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_hello_state,
- { "State", "nlsp.hello.state", FT_UINT8, BASE_DEC,
- VALS(nlsp_hello_state_vals), NLSP_HELLO_STATE_MASK,
- NULL, HFILL }},
-
- { &hf_nlsp_hello_multicast,
- { "Multicast Routing", "nlsp.hello.multicast", FT_BOOLEAN, 8,
- TFS(&tfs_supported_not_supported), NLSP_HELLO_MULTICAST_MASK,
- "If set, this router supports multicast routing", HFILL }},
-
- { &hf_nlsp_hello_circuit_type,
- { "Circuit Type", "nlsp.hello.circuit_type", FT_UINT8, BASE_DEC,
- VALS(nlsp_hello_circuit_type_vals), NLSP_HELLO_CTYPE_MASK,
- NULL, HFILL }},
-
- { &hf_nlsp_hello_holding_timer,
- { "Holding Timer", "nlsp.hello.holding_timer", FT_UINT8, BASE_DEC,
- NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_hello_priority,
- { "Priority", "nlsp.hello.priority", FT_UINT8, BASE_DEC,
- NULL, NLSP_HELLO_PRIORITY_MASK,
- NULL, HFILL }},
-
- { &hf_nlsp_lsp_sequence_number,
- { "Sequence Number", "nlsp.sequence_number",
- FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_lsp_checksum,
- { "Checksum", "nlsp.lsp.checksum",
- FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
-
- { &hf_nlsp_lsp_p,
- { "Partition Repair", "nlsp.lsp.partition_repair", FT_BOOLEAN, 8,
- TFS(&tfs_supported_not_supported), NLSP_LSP_PARTITION_MASK,
- "If set, this router supports the optional Partition Repair function", HFILL }},
-
- { &hf_nlsp_lsp_attached_flag,
- { "Attached Flag", "nlsp.lsp.attached_flag", FT_UINT8, BASE_DEC,
- VALS(nlsp_attached_flag_vals), NLSP_LSP_ATT_MASK, NULL, HFILL }},
-
- { &hf_nlsp_lsp_lspdbol,
- { "LSP Database Overloaded", "nlsp.lsp.lspdbol", FT_BOOLEAN, 8,
- NULL, NLSP_LSP_OVERFLOW_MASK, NULL, HFILL }},
-
- { &hf_nlsp_lsp_router_type,
- { "Router Type", "nlsp.lsp.router_type", FT_UINT8, BASE_DEC,
- VALS(nlsp_router_type_vals), NLSP_LSP_ROUTER_TYPE_MASK,
- NULL, HFILL }},
-
- { &hf_nlsp_lsp_link_info_clv_flags_cost_present,
- { "Cost present", "nlsp.lsp.link_info_clv.flags.cost_present", FT_BOOLEAN, 8,
- TFS(&tfs_no_yes), 0x80, NULL, HFILL }},
-
- { &hf_nlsp_lsp_link_info_clv_flags_cost_metric,
- { "Cost metric", "nlsp.lsp.link_info_clv.flags.cost_metric", FT_BOOLEAN, 8,
- TFS(&tfs_internal_external), 0x40, NULL, HFILL }},
-
- { &hf_nlsp_lsp_link_info_clv_flags_cost,
- { "Cost", "nlsp.lsp.link_info_clv.flags.cost", FT_UINT8, BASE_DEC,
- NULL, 0x3F, NULL, HFILL }},
-
- /* Generated from convert_proto_tree_add_text.pl */
- { &hf_nlsp_unknown_code, { "Unknown code", "nlsp.unknown_code", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_area_address_network_number, { "Area address network number", "nlsp.area_address.network_number", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_area_address_mask, { "Area address mask", "nlsp.area_address.mask", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_neighbor, { "Neighbor", "nlsp.neighbor", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_hello_local_mtu_mtu_size, { "MTU Size", "nlsp.hello_local_mtu.mtu_size", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_hello_sending_router_system_id, { "Sending Router System ID", "nlsp.hello.sending_router_system_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_hello_local_wan_circuit_id, { "Local WAN Circuit ID", "nlsp.hello.local_wan_circuit_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_hello_designated_router_system_id, { "Designated Router System ID", "nlsp.hello.designated_router_system_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_hello_designated_router_pseudonode_id, { "Designated Router Pseudonode ID", "nlsp.hello.designated_router_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_mgt_info_network_number, { "Network number", "nlsp.mgt_info.network_number", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_mgt_info_node_number, { "Node number", "nlsp.mgt_info.node_number", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_mgt_info_ipx_version_number, { "IPX version number", "nlsp.mgt_info.ipx_version_number", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_mgt_info_name_length, { "Name length", "nlsp.mgt_info.name_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_mgt_info_name, { "Name", "nlsp.mgt_info.name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_link_info_router_system_id, { "Router System ID", "nlsp.link_info.router_system_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_link_info_router_pseudonode_id, { "Router Pseudonode ID", "nlsp.link_info.router_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_link_info_mtu_size, { "MTU Size", "nlsp.link_info.mtu_size", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_link_info_delay, { "Delay", "nlsp.link_info.delay", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_link_info_throughput, { "Throughput", "nlsp.link_info.throughput", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_link_info_media_type, { "Media type", "nlsp.link_info.media_type", FT_UINT16, BASE_DEC, VALS(media_type_vals), 0x0, NULL, HFILL }},
- { &hf_nlsp_svcs_info_hops_to_reach_the_service, { "Hops to reach the service", "nlsp.svcs_info.hops_to_reach_the_service", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_svcs_info_network_number, { "Network number", "nlsp.svcs_info.network_number", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_svcs_info_node_number, { "Node number", "nlsp.svcs_info.node_number", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_svcs_info_socket, { "Socket", "nlsp.svcs_info.socket", FT_UINT16, BASE_DEC|BASE_EXT_STRING, &ipx_socket_vals_ext, 0x0, NULL, HFILL }},
- { &hf_nlsp_svcs_info_type, { "Type", "nlsp.svcs_info.type", FT_UINT16, BASE_DEC|BASE_EXT_STRING, &novell_server_vals_ext, 0x0, NULL, HFILL }},
- { &hf_nlsp_svcs_info_service_name, { "Service Name", "nlsp.svcs_info.service_name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_ext_routes_hops, { "Hops", "nlsp.ext_routes.hops", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_ext_routes_network_number, { "Network number", "nlsp.ext_routes.network_number", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_ext_routes_rip_delay, { "RIP delay", "nlsp.ext_routes.rip_delay", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_remaining_lifetime, { "Remaining Lifetime", "nlsp.remaining_lifetime", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_lsp_id_system_id, { "LSP ID system ID", "nlsp.lsp_id_system_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_lsp_id_pseudonode_id, { "LSP ID pseudonode ID", "nlsp.lsp_id_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_lsp_id_lsp_number, { "LSP ID LSP number", "nlsp.lsp_id_lsp_number", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_lsp_id_source_id, { "LSP ID source ID", "nlsp.csnp.lsp_id_source_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_lsp_id_pseudonode_id, { "LSP ID pseudonode ID", "nlsp.csnp.lsp_id_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_lsp_id_lsp_number, { "LSP ID LSP number", "nlsp.csnp.lsp_id_lsp_number", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_lsp_sequence_number, { "LSP Sequence Number", "nlsp.csnp.lsp_sequence_number", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_remaining_lifetime, { "Remaining Lifetime", "nlsp.csnp.remaining_lifetime", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_lsp_checksum, { "LSP checksum", "nlsp.csnp.lsp_checksum", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_lsp_id_source_id, { "LSP ID source ID", "nlsp.psnp.lsp_id_source_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_lsp_id_pseudonode_id, { "LSP ID pseudonode ID", "nlsp.psnp.lsp_id_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_lsp_id_lsp_number, { "LSP ID LSP number", "nlsp.psnp.lsp_id_lsp_number", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_lsp_sequence_number, { "LSP Sequence Number", "nlsp.psnp.lsp_sequence_number", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_remaining_lifetime, { "Remaining Lifetime", "nlsp.psnp.remaining_lifetime", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_lsp_checksum, { "LSP checksum", "nlsp.psnp.lsp_checksum", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_source_id_system_id, { "Source ID system ID", "nlsp.csnp.source_id_system_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_source_id_pseudonode_id, { "Source ID pseudonode ID", "nlsp.csnp.source_id_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_start_lsp_id_source_id, { "Start LSP ID source ID", "nlsp.csnp.start_lsp_id_source_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_start_lsp_id_pseudonode_id, { "Start LSP ID pseudonode ID", "nlsp.csnp.start_lsp_id_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_start_lsp_id_lsp_number, { "Start LSP ID LSP number", "nlsp.csnp.start_lsp_id_lsp_number", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_end_lsp_id_source_id, { "End LSP ID source ID", "nlsp.csnp.end_lsp_id_source_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_end_lsp_id_pseudonode_id, { "End LSP ID pseudonode ID", "nlsp.csnp.end_lsp_id_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_csnp_end_lsp_id_lsp_number, { "End LSP ID LSP number", "nlsp.csnp.end_lsp_id_lsp_number", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_source_id_system_id, { "Source ID system ID", "nlsp.psnp.source_id_system_id", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_nlsp_psnp_source_id_pseudonode_id, { "Source ID pseudonode ID", "nlsp.psnp.source_id_pseudonode_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_nlsp_irpd,
+ { "NetWare Link Services Protocol Discriminator", "nlsp.irpd",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_header_length,
+ { "PDU Header Length", "nlsp.header_length",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_minor_version,
+ { "Minor Version", "nlsp.minor_version",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_nr,
+ { "Multi-homed Non-routing Server", "nlsp.nr",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_type,
+ { "Packet Type", "nlsp.type",
+ FT_UINT8, BASE_DEC, VALS(nlsp_packet_type_vals), PACKET_TYPE_MASK,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_major_version,
+ { "Major Version", "nlsp.major_version",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_packet_length,
+ { "Packet Length", "nlsp.packet_length",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_hello_state,
+ { "State", "nlsp.hello.state",
+ FT_UINT8, BASE_DEC, VALS(nlsp_hello_state_vals), NLSP_HELLO_STATE_MASK,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_hello_multicast,
+ { "Multicast Routing", "nlsp.hello.multicast",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), NLSP_HELLO_MULTICAST_MASK,
+ "If set, this router supports multicast routing", HFILL }
+ },
+
+ { &hf_nlsp_hello_circuit_type,
+ { "Circuit Type", "nlsp.hello.circuit_type",
+ FT_UINT8, BASE_DEC, VALS(nlsp_hello_circuit_type_vals), NLSP_HELLO_CTYPE_MASK,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_hello_holding_timer,
+ { "Holding Timer", "nlsp.hello.holding_timer",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_hello_priority,
+ { "Priority", "nlsp.hello.priority",
+ FT_UINT8, BASE_DEC, NULL, NLSP_HELLO_PRIORITY_MASK,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_sequence_number,
+ { "Sequence Number", "nlsp.sequence_number",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_checksum,
+ { "Checksum", "nlsp.lsp.checksum",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_p,
+ { "Partition Repair", "nlsp.lsp.partition_repair",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), NLSP_LSP_PARTITION_MASK,
+ "If set, this router supports the optional Partition Repair function", HFILL }
+ },
+
+ { &hf_nlsp_lsp_attached_flag,
+ { "Attached Flag", "nlsp.lsp.attached_flag",
+ FT_UINT8, BASE_DEC, VALS(nlsp_attached_flag_vals), NLSP_LSP_ATT_MASK,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_lspdbol,
+ { "LSP Database Overloaded", "nlsp.lsp.lspdbol",
+ FT_BOOLEAN, 8, NULL, NLSP_LSP_OVERFLOW_MASK,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_router_type,
+ { "Router Type", "nlsp.lsp.router_type",
+ FT_UINT8, BASE_DEC, VALS(nlsp_router_type_vals), NLSP_LSP_ROUTER_TYPE_MASK,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_link_info_clv_flags_cost_present,
+ { "Cost present", "nlsp.lsp.link_info_clv.flags.cost_present",
+ FT_BOOLEAN, 8, TFS(&tfs_no_yes), 0x80,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_link_info_clv_flags_cost_metric,
+ { "Cost metric", "nlsp.lsp.link_info_clv.flags.cost_metric",
+ FT_BOOLEAN, 8, TFS(&tfs_internal_external), 0x40,
+ NULL, HFILL }
+ },
+
+ { &hf_nlsp_lsp_link_info_clv_flags_cost,
+ { "Cost", "nlsp.lsp.link_info_clv.flags.cost",
+ FT_UINT8, BASE_DEC, NULL, 0x3F,
+ NULL, HFILL }
+ },
+
+ /* Generated from convert_proto_tree_add_text.pl */
+ { &hf_nlsp_unknown_code,
+ { "Unknown code", "nlsp.unknown_code",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_area_address_network_number,
+ { "Area address network number", "nlsp.area_address.network_number",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_area_address_mask,
+ { "Area address mask", "nlsp.area_address.mask",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_neighbor,
+ { "Neighbor", "nlsp.neighbor",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_hello_local_mtu_mtu_size,
+ { "MTU Size", "nlsp.hello_local_mtu.mtu_size",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_hello_sending_router_system_id,
+ { "Sending Router System ID", "nlsp.hello.sending_router_system_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_hello_local_wan_circuit_id,
+ { "Local WAN Circuit ID", "nlsp.hello.local_wan_circuit_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_hello_designated_router_system_id,
+ { "Designated Router System ID", "nlsp.hello.designated_router_system_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_hello_designated_router_pseudonode_id,
+ { "Designated Router Pseudonode ID", "nlsp.hello.designated_router_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_mgt_info_network_number,
+ { "Network number", "nlsp.mgt_info.network_number",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_mgt_info_node_number,
+ { "Node number", "nlsp.mgt_info.node_number",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_mgt_info_ipx_version_number,
+ { "IPX version number", "nlsp.mgt_info.ipx_version_number",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_mgt_info_name_length,
+ { "Name length", "nlsp.mgt_info.name_length",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_mgt_info_name,
+ { "Name", "nlsp.mgt_info.name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_link_info_router_system_id,
+ { "Router System ID", "nlsp.link_info.router_system_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_link_info_router_pseudonode_id,
+ { "Router Pseudonode ID", "nlsp.link_info.router_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_link_info_mtu_size,
+ { "MTU Size", "nlsp.link_info.mtu_size",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_link_info_delay,
+ { "Delay", "nlsp.link_info.delay",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_link_info_throughput,
+ { "Throughput", "nlsp.link_info.throughput",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_link_info_media_type,
+ { "Media type", "nlsp.link_info.media_type",
+ FT_UINT16, BASE_DEC, VALS(media_type_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_svcs_info_hops_to_reach_the_service,
+ { "Hops to reach the service", "nlsp.svcs_info.hops_to_reach_the_service",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_svcs_info_network_number,
+ { "Network number", "nlsp.svcs_info.network_number",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_svcs_info_node_number,
+ { "Node number", "nlsp.svcs_info.node_number",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_svcs_info_socket,
+ { "Socket", "nlsp.svcs_info.socket",
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &ipx_socket_vals_ext, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_svcs_info_type,
+ { "Type", "nlsp.svcs_info.type",
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &novell_server_vals_ext, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_svcs_info_service_name,
+ { "Service Name", "nlsp.svcs_info.service_name",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_ext_routes_hops,
+ { "Hops", "nlsp.ext_routes.hops",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_ext_routes_network_number,
+ { "Network number", "nlsp.ext_routes.network_number",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_ext_routes_rip_delay,
+ { "RIP delay", "nlsp.ext_routes.rip_delay",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_remaining_lifetime,
+ { "Remaining Lifetime", "nlsp.remaining_lifetime",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_lsp_id_system_id,
+ { "LSP ID system ID", "nlsp.lsp_id_system_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_lsp_id_pseudonode_id,
+ { "LSP ID pseudonode ID", "nlsp.lsp_id_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_lsp_id_lsp_number,
+ { "LSP ID LSP number", "nlsp.lsp_id_lsp_number",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_lsp_id_source_id,
+ { "LSP ID source ID", "nlsp.csnp.lsp_id_source_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_lsp_id_pseudonode_id,
+ { "LSP ID pseudonode ID", "nlsp.csnp.lsp_id_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_lsp_id_lsp_number,
+ { "LSP ID LSP number", "nlsp.csnp.lsp_id_lsp_number",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_lsp_sequence_number,
+ { "LSP Sequence Number", "nlsp.csnp.lsp_sequence_number",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_remaining_lifetime,
+ { "Remaining Lifetime", "nlsp.csnp.remaining_lifetime",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_lsp_checksum,
+ { "LSP checksum", "nlsp.csnp.lsp_checksum",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_lsp_id_source_id,
+ { "LSP ID source ID", "nlsp.psnp.lsp_id_source_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_lsp_id_pseudonode_id,
+ { "LSP ID pseudonode ID", "nlsp.psnp.lsp_id_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_lsp_id_lsp_number,
+ { "LSP ID LSP number", "nlsp.psnp.lsp_id_lsp_number",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_lsp_sequence_number,
+ { "LSP Sequence Number", "nlsp.psnp.lsp_sequence_number",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_remaining_lifetime,
+ { "Remaining Lifetime", "nlsp.psnp.remaining_lifetime",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_lsp_checksum,
+ { "LSP checksum", "nlsp.psnp.lsp_checksum",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_source_id_system_id,
+ { "Source ID system ID", "nlsp.csnp.source_id_system_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_source_id_pseudonode_id,
+ { "Source ID pseudonode ID", "nlsp.csnp.source_id_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_start_lsp_id_source_id,
+ { "Start LSP ID source ID", "nlsp.csnp.start_lsp_id_source_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_start_lsp_id_pseudonode_id,
+ { "Start LSP ID pseudonode ID", "nlsp.csnp.start_lsp_id_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_start_lsp_id_lsp_number,
+ { "Start LSP ID LSP number", "nlsp.csnp.start_lsp_id_lsp_number",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_end_lsp_id_source_id,
+ { "End LSP ID source ID", "nlsp.csnp.end_lsp_id_source_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_end_lsp_id_pseudonode_id,
+ { "End LSP ID pseudonode ID", "nlsp.csnp.end_lsp_id_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_csnp_end_lsp_id_lsp_number,
+ { "End LSP ID LSP number", "nlsp.csnp.end_lsp_id_lsp_number",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_source_id_system_id,
+ { "Source ID system ID", "nlsp.psnp.source_id_system_id",
+ FT_ETHER, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_nlsp_psnp_source_id_pseudonode_id,
+ { "Source ID pseudonode ID", "nlsp.psnp.source_id_pseudonode_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
};
static gint *ett[] = {
&ett_nlsp,
@@ -1522,3 +1778,16 @@ proto_reg_handoff_nlsp(void)
nlsp_handle = create_dissector_handle(dissect_nlsp, proto_nlsp);
dissector_add_uint("ipx.socket", IPX_SOCKET_NLSP, nlsp_handle);
}
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 8
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * End:
+ *
+ * vi: set shiftwidth=8 tabstop=8 noexpandtab:
+ * :indentSize=8:tabSize=8:noTabs=false:
+ */
diff --git a/epan/dissectors/packet-q2931.c b/epan/dissectors/packet-q2931.c
index c47fbb47a2..2ee96034e6 100644
--- a/epan/dissectors/packet-q2931.c
+++ b/epan/dissectors/packet-q2931.c
@@ -144,7 +144,7 @@ static gint ett_q2931_ie_ext = -1;
static gint ett_q2931_nsap = -1;
static void dissect_q2931_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree, guint8 info_element, guint8 info_element_ext);
+ proto_tree *tree, guint8 info_element, guint8 info_element_ext);
/*
* Q.2931 message types.
@@ -340,7 +340,7 @@ static const true_false_string tfs_q2931_handling_instructions = { "Follow expli
static void
dissect_q2931_shift_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree, guint8 info_element)
+ proto_tree *tree, guint8 info_element)
{
gboolean non_locking_shift;
guint8 codeset;
@@ -434,7 +434,7 @@ static const value_string q2931_sscs_type_vals[] = {
static void
dissect_q2931_aal_parameters_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 aal_type;
guint8 identifier;
@@ -623,7 +623,7 @@ static const value_string q2931_atm_td_subfield_vals[] = {
static void
dissect_q2931_atm_cell_rate_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 identifier;
guint32 value;
@@ -740,7 +740,7 @@ static const value_string q2931_up_conn_config_vals[] = {
static void
dissect_q2931_bband_bearer_cap_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 octet;
@@ -778,7 +778,7 @@ static const value_string q2931_hi_layer_info_type_vals[] = {
static void
dissect_q2931_bband_hi_layer_info_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -847,7 +847,7 @@ static const value_string lane_pid_vals[] = {
*/
static void
dissect_q2931_bband_low_layer_info_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 octet;
guint8 uil2_protocol;
@@ -1141,7 +1141,7 @@ static const value_string q2931_rejection_reason_vals[] = {
static void
dissect_q2931_cause_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 octet;
guint8 cause_value;
@@ -1301,7 +1301,7 @@ static const value_string q2931_call_state_vals[] = {
static void
dissect_q2931_call_state_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1350,7 +1350,7 @@ static const value_string q2931_screening_indicator_vals[] = {
static void
dissect_q2931_number_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 octet;
guint8 numbering_plan;
@@ -1418,7 +1418,7 @@ static const value_string q2931_odd_even_indicator_vals[] = {
static void
dissect_q2931_party_subaddr_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1451,7 +1451,7 @@ static const value_string q2931_preferred_exclusive_vals[] = {
static void
dissect_q2931_connection_identifier_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1477,7 +1477,7 @@ dissect_q2931_connection_identifier_ie(tvbuff_t *tvb, int offset, int len,
*/
static void
dissect_q2931_e2e_transit_delay_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 identifier;
guint16 value;
@@ -1522,7 +1522,7 @@ static const value_string q2931_qos_parameter_vals[] = {
static void
dissect_q2931_qos_parameter_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1546,7 +1546,7 @@ static const value_string q2931_bband_rpt_indicator_vals[] = {
static void
dissect_q2931_bband_rpt_indicator(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1566,7 +1566,7 @@ static const value_string q2931_class_vals[] = {
static void
dissect_q2931_restart_indicator(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1579,7 +1579,7 @@ dissect_q2931_restart_indicator(tvbuff_t *tvb, int offset, int len,
*/
static void
dissect_q2931_bband_sending_compl_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 identifier;
@@ -1622,7 +1622,7 @@ static const value_string q2931_netid_plan_vals[] = {
static void
dissect_q2931_transit_network_sel_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1668,7 +1668,7 @@ static const value_string q2931_bwd_e2e_oam_f5_flow_indicator_vals[] = {
static void
dissect_q2931_oam_traffic_descriptor_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint8 octet;
@@ -1700,7 +1700,7 @@ static const value_string q2931_endpoint_reference_type_vals[] = {
static void
dissect_q2931_endpoint_reference_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
guint16 value;
@@ -1736,7 +1736,7 @@ static const value_string q2931_endpoint_reference_party_state_vals[] = {
static void
dissect_q2931_endpoint_state_ie(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree)
+ proto_tree *tree)
{
if (len == 0)
return;
@@ -1746,7 +1746,7 @@ dissect_q2931_endpoint_state_ie(tvbuff_t *tvb, int offset, int len,
static void
dissect_q2931_ie_contents(tvbuff_t *tvb, int offset, int len,
- proto_tree *tree, guint8 info_element)
+ proto_tree *tree, guint8 info_element)
{
switch (info_element) {
@@ -1850,7 +1850,7 @@ dissect_q2931_ie_contents(tvbuff_t *tvb, int offset, int len,
static void
dissect_q2931_ie(tvbuff_t *tvb, int offset, int len, proto_tree *tree,
- guint8 info_element, guint8 info_element_ext)
+ guint8 info_element, guint8 info_element_ext)
{
proto_item *ti;
proto_tree *ie_tree;
@@ -1885,21 +1885,21 @@ dissect_q2931_ie(tvbuff_t *tvb, int offset, int len, proto_tree *tree,
static void
dissect_q2931(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
- int offset = 0;
- proto_tree *q2931_tree = NULL;
- proto_item *ti;
- proto_tree *ext_tree;
- guint8 call_ref_len;
- guint8 call_ref[15];
- guint8 message_type;
- guint8 message_type_ext;
- guint16 message_len;
- guint8 info_element;
- guint8 info_element_ext;
- guint16 info_element_len;
+ int offset = 0;
+ proto_tree *q2931_tree = NULL;
+ proto_item *ti;
+ proto_tree *ext_tree;
+ guint8 call_ref_len;
+ guint8 call_ref[15];
+ guint8 message_type;
+ guint8 message_type_ext;
+ guint16 message_len;
+ guint8 info_element;
+ guint8 info_element_ext;
+ guint16 info_element_len;
#if 0
- int codeset;
- gboolean non_locking_shift;
+ int codeset;
+ gboolean non_locking_shift;
#endif
col_set_str(pinfo->cinfo, COL_PROTOCOL, "Q.2931");
@@ -2001,133 +2001,473 @@ proto_register_q2931(void)
{
static hf_register_info hf[] = {
{ &hf_q2931_discriminator,
- { "Protocol discriminator", "q2931.disc", FT_UINT8, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
+ { "Protocol discriminator", "q2931.disc",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_q2931_call_ref_len,
- { "Call reference value length", "q2931.call_ref_len", FT_UINT8, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
+ { "Call reference value length", "q2931.call_ref_len",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_q2931_call_ref_flag,
- { "Call reference flag", "q2931.call_ref_flag", FT_BOOLEAN, BASE_NONE, TFS(&tfs_call_ref_flag), 0x0,
- NULL, HFILL }},
+ { "Call reference flag", "q2931.call_ref_flag",
+ FT_BOOLEAN, BASE_NONE, TFS(&tfs_call_ref_flag), 0x0,
+ NULL, HFILL }
+ },
{ &hf_q2931_call_ref,
- { "Call reference value", "q2931.call_ref", FT_BYTES, BASE_NONE, NULL, 0x0,
- NULL, HFILL }},
+ { "Call reference value", "q2931.call_ref",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_q2931_message_type,
- { "Message type", "q2931.message_type", FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_message_type_vals_ext, 0x0,
- NULL, HFILL }},
+ { "Message type", "q2931.message_type",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_message_type_vals_ext, 0x0,
+ NULL, HFILL }
+ },
{ &hf_q2931_message_type_ext,
- { "Message type extension", "q2931.message_type_ext", FT_UINT8, BASE_HEX, NULL, 0x0,
- NULL, HFILL }},
+ { "Message type extension", "q2931.message_type_ext",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_q2931_message_flag,
- { "Flag", "q2931.message_flag", FT_BOOLEAN, 8, TFS(&tos_msg_flag), Q2931_MSG_TYPE_EXT_FOLLOW_INST,
- NULL, HFILL }},
+ { "Flag", "q2931.message_flag",
+ FT_BOOLEAN, 8, TFS(&tos_msg_flag), Q2931_MSG_TYPE_EXT_FOLLOW_INST,
+ NULL, HFILL }
+ },
{ &hf_q2931_message_action_indicator,
- { "Action indicator", "q2931.message_action_indicator", FT_UINT8, BASE_DEC, VALS(msg_action_ind_vals), Q2931_MSG_TYPE_EXT_ACTION_IND,
- NULL, HFILL }},
+ { "Action indicator", "q2931.message_action_indicator",
+ FT_UINT8, BASE_DEC, VALS(msg_action_ind_vals), Q2931_MSG_TYPE_EXT_ACTION_IND,
+ NULL, HFILL }
+ },
{ &hf_q2931_message_len,
- { "Message length", "q2931.message_len", FT_UINT16, BASE_DEC, NULL, 0x0,
- NULL, HFILL }},
+ { "Message length", "q2931.message_len",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_q2931_ie_handling_instructions,
- { "Handling Instructions", "q2931.ie_handling_instructions", FT_BOOLEAN, 8, TFS(&tfs_q2931_handling_instructions), Q2931_IE_COMPAT_FOLLOW_INST,
- NULL, HFILL }},
+ { "Handling Instructions", "q2931.ie_handling_instructions",
+ FT_BOOLEAN, 8, TFS(&tfs_q2931_handling_instructions), Q2931_IE_COMPAT_FOLLOW_INST,
+ NULL, HFILL }
+ },
{ &hf_q2931_ie_coding_standard,
- { "Coding standard", "q2931.ie_coding_standard", FT_UINT8, BASE_DEC, VALS(coding_std_vals), Q2931_IE_COMPAT_CODING_STD,
- NULL, HFILL }},
+ { "Coding standard", "q2931.ie_coding_standard",
+ FT_UINT8, BASE_DEC, VALS(coding_std_vals), Q2931_IE_COMPAT_CODING_STD,
+ NULL, HFILL }
+ },
{ &hf_q2931_ie_action_indicator,
- { "Action indicator", "q2931.ie_action_indicator", FT_UINT8, BASE_DEC, VALS(ie_action_ind_vals), Q2931_IE_COMPAT_ACTION_IND,
- NULL, HFILL }},
-
- /* Generated from convert_proto_tree_add_text.pl */
- { &hf_q2931_aal_type, { "AAL type", "q2931.aal_type", FT_UINT8, BASE_HEX, VALS(q9231_aal_type_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_user_defined_aal_information, { "User defined AAL information", "q2931.user_defined_aal_information", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_subtype, { "Subtype", "q2931.aal1.subtype", FT_UINT8, BASE_HEX, VALS(q9231_aal1_subtype_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_cbr_rate, { "CBR rate", "q2931.aal1.cbr_rate", FT_UINT8, BASE_HEX, VALS(q9231_aal1_cbr_rate_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_multiplier, { "Multiplier", "q2931.aal1.multiplier", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_source_clock_frequency_recovery_method, { "Source clock frequency recovery method", "q2931.aal1.source_clock_frequency_recovery_method", FT_UINT8, BASE_HEX, VALS(q2931_aal1_src_clk_rec_meth_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_error_correction_method, { "Error correction method", "q2931.aal1.error_correction_method", FT_UINT8, BASE_HEX, VALS(q2931_aal1_err_correction_method_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_structured_data_transfer_block_size, { "Structured data transfer block size", "q2931.aal1.structured_data_transfer_block_size", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_partially_filled_cells_method, { "Partially filled cells method", "q2931.aal1.partially_filled_cells_method", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_forward_max_cpcs_sdu_size, { "Forward maximum CPCS-SDU size", "q2931.aal1.forward_max_cpcs_sdu_size", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_backward_max_cpcs_sdu_size, { "Backward maximum CPCS-SDU size", "q2931.aal1.backward_max_cpcs_sdu_size", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_mode, { "Mode", "q2931.aal1.mode", FT_UINT8, BASE_HEX, VALS(q2931_aal_mode_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_aal1_sscs_type, { "SSCS type", "q2931.aal1.sscs_type", FT_UINT8, BASE_HEX, VALS(q2931_sscs_type_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_bearer_class, { "Bearer class", "q2931.bearer_class", FT_UINT8, BASE_HEX, VALS(q2931_bearer_class_vals), 0x1F, NULL, HFILL }},
- { &hf_q2931_atm_transfer_capability, { "ATM Transfer Capability", "q2931.atm_transfer_capability", FT_UINT8, BASE_HEX, VALS(q2931_transfer_capability_vals), 0x1F, NULL, HFILL }},
- { &hf_q2931_susceptibility_to_clipping, { "Susceptibility to clipping", "q2931.susceptibility_to_clipping", FT_UINT8, BASE_HEX, VALS(q2931_susc_clip_vals), 0x60, NULL, HFILL }},
- { &hf_q2931_user_plane_connection_configuration, { "User-plane connection configuration", "q2931.user_plane_connection_configuration", FT_UINT8, BASE_HEX, VALS(q2931_up_conn_config_vals), 0x03, NULL, HFILL }},
- { &hf_q2931_high_layer_information_type, { "High layer information type", "q2931.high_layer_information_type", FT_UINT8, BASE_HEX, VALS(q2931_hi_layer_info_type_vals), 0x7F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_user_info_l1_proto, { "User information layer 1 protocol", "q2931.bband_low_layer_info.user_info_l1_proto", FT_UINT8, BASE_HEX, NULL, 0x1F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_user_info_l2_proto, { "User information layer 2 protocol", "q2931.bband_low_layer_info.user_info_l2_proto", FT_UINT8, BASE_HEX, VALS(q2931_uil2_vals), 0x1F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_user_specified_l2_proto, { "User-specified layer 2 protocol information", "q2931.bband_low_layer_info.user_specified_l2_proto", FT_UINT8, BASE_HEX, NULL, 0x7F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_mode, { "Mode", "q2931.bband_low_layer_info.mode", FT_UINT8, BASE_HEX, VALS(q2931_mode_vals), 0x60, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_window_size, { "Window size", "q2931.bband_low_layer_info.window_size", FT_UINT8, BASE_DEC, NULL, 0x7F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_user_info_l3_proto, { "User information layer 3 protocol", "q2931.bband_low_layer_info.user_info_l3_proto", FT_UINT8, BASE_HEX, VALS(q2931_uil3_vals), 0x1F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_default_packet_size, { "Default packet size", "q2931.bband_low_layer_info.default_packet_size", FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_packet_window_size, { "Packet window size", "q2931.bband_low_layer_info.packet_window_size", FT_UINT8, BASE_DEC, NULL, 0x7F, NULL, HFILL }},
- { &hf_q2931_bband_low_layer_info_additional_l3_proto, { "Additional layer 3 protocol information", "q2931.bband_low_layer_info.additional_l3_proto", FT_UINT8, BASE_HEX, VALS(nlpid_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_organization_code, { "Organization Code", "q2931.bband_low_layer_info.organization_code", FT_UINT24, BASE_HEX, VALS(oui_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_ethernet_type, { "Ethernet type", "q2931.bband_low_layer_info.ethernet_type", FT_UINT16, BASE_HEX, VALS(etype_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_lane_protocol_id, { "LANE Protocol ID", "q2931.bband_low_layer_info.lane_protocol_id", FT_UINT16, BASE_HEX, VALS(lane_pid_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_protocol_id, { "Protocol ID", "q2931.bband_low_layer_info.protocol_id", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_location, { "Location", "q2931.cause.location", FT_UINT8, BASE_HEX, VALS(q2931_cause_location_vals), 0x0F, NULL, HFILL }},
- { &hf_q2931_cause_value, { "Cause value", "q2931.cause.value", FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_cause_code_vals_ext, 0x7F, NULL, HFILL }},
- { &hf_q2931_cause_rejection_reason, { "Rejection reason", "q2931.cause.rejection.reason", FT_UINT8, BASE_HEX, VALS(q2931_rejection_reason_vals), 0x7C, NULL, HFILL }},
- { &hf_q2931_cause_rejection_condition, { "Condition", "q2931.cause.rejection.condition", FT_UINT8, BASE_HEX, VALS(q2931_cause_condition_vals), 0x03, NULL, HFILL }},
- { &hf_q2931_cause_rejection_user_specific_diagnostic, { "User specific diagnostic", "q2931.cause.rejection.user_specific_diagnostic", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_rejection_missing_information_element, { "Missing information element", "q2931.cause.rejection.missing_information_element", FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_rejection_insufficient_information_element, { "Insufficient information element", "q2931.cause.rejection.insufficient_information_element", FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_rejection_diagnostic, { "Diagnostic", "q2931.cause.rejection.diagnostic", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_information_element, { "Information element", "q2931.cause.information_element", FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_cell_rate_subfield_identifier, { "Cell rate subfield identifier", "q2931.cause.cell_rate_subfield_identifier", FT_UINT8, BASE_HEX, VALS(q2931_atm_td_subfield_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_cause_vpci, { "VPCI", "q2931.cause.vpci", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_vci, { "VCI", "q2931.cause.vci", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_message_type, { "Message type", "q2931.cause.message_type", FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_message_type_vals_ext, 0x0, NULL, HFILL }},
- { &hf_q2931_cause_timer, { "Timer", "q2931.cause.timer", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_call_state, { "Call state", "q2931.call_state", FT_UINT8, BASE_HEX, VALS(q2931_call_state_vals), 0x3F, NULL, HFILL }},
- { &hf_q2931_number_type, { "Type of number", "q2931.number.type", FT_UINT8, BASE_HEX, VALS(q2931_number_type_vals), 0x70, NULL, HFILL }},
- { &hf_q2931_number_plan, { "Numbering plan", "q2931.number.plan", FT_UINT8, BASE_HEX, VALS(q2931_numbering_plan_vals), 0x0F, NULL, HFILL }},
- { &hf_q2931_number_presentation_indicator, { "Presentation indicator", "q2931.number.presentation_indicator", FT_UINT8, BASE_HEX, VALS(q2931_presentation_indicator_vals), 0x60, NULL, HFILL }},
- { &hf_q2931_number_screening_indicator, { "Screening indicator", "q2931.number.screening_indicator", FT_UINT8, BASE_HEX, VALS(q2931_screening_indicator_vals), 0x03, NULL, HFILL }},
- { &hf_q2931_number_string, { "Number", "q2931.number.string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_number_bytes, { "Number", "q2931.number.bytes", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_party_subaddr_type_of_subaddress, { "Type of subaddress", "q2931.party_subaddr.type_of_subaddress", FT_UINT8, BASE_HEX, VALS(q2931_subaddress_type_vals), 0x70, NULL, HFILL }},
- { &hf_q2931_party_subaddr_odd_even_indicator, { "Odd/even indicator", "q2931.party_subaddr.odd_even_indicator", FT_UINT8, BASE_HEX, VALS(q2931_odd_even_indicator_vals), 0x10, NULL, HFILL }},
- { &hf_q2931_party_subaddr_subaddress, { "Subaddress", "q2931.party_subaddr.subaddress", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_conn_id_vp_associated_signalling, { "VP-associated signalling", "q2931.conn_id.vp_associated_signalling", FT_UINT8, BASE_HEX, VALS(q2931_vp_associated_signalling_vals), 0x18, NULL, HFILL }},
- { &hf_q2931_conn_id_preferred_exclusive, { "Preferred/exclusive", "q2931.conn_id.preferred_exclusive", FT_UINT8, BASE_HEX, VALS(q2931_preferred_exclusive_vals), 0x07, NULL, HFILL }},
- { &hf_q2931_conn_id_vpci, { "VPCI", "q2931.conn_id.vpci", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_conn_id_vci, { "VCI", "q2931.conn_id.vci", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_e2e_transit_delay_cumulative, { "Cumulative transit delay", "q2931.e2e_transit_delay.cumulative", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_e2e_transit_delay_maximum_end_to_end, { "Maximum end-to-end transit delay", "q2931.e2e_transit_delay.maximum_end_to_end", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_qos_class_forward, { "QOS class forward", "q2931.qos_class_forward", FT_UINT8, BASE_HEX, VALS(q2931_qos_parameter_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_qos_class_backward, { "QOS class backward", "q2931.qos_class_backward", FT_UINT8, BASE_HEX, VALS(q2931_qos_parameter_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_broadband_repeat_indicator, { "Broadband repeat indicator", "q2931.broadband_repeat_indicator", FT_UINT8, BASE_HEX, VALS(q2931_bband_rpt_indicator_vals), 0x0F, NULL, HFILL }},
- { &hf_q2931_restart_indicator, { "Restart indicator", "q2931.restart_indicator", FT_UINT8, BASE_HEX, VALS(q2931_class_vals), 0x07, NULL, HFILL }},
- { &hf_q2931_transit_network_sel_type, { "Type of network identification", "q2931.transit_network_sel.type", FT_UINT8, BASE_HEX, VALS(q2931_netid_type_vals), 0x70, NULL, HFILL }},
- { &hf_q2931_transit_network_sel_plan, { "Network identification plan", "q2931.transit_network_sel.plan", FT_UINT8, BASE_HEX, VALS(q2931_netid_plan_vals), 0x0F, NULL, HFILL }},
- { &hf_q2931_transit_network_sel_network_id, { "Network identification", "q2931.transit_network_sel.network_identification", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_oam_traffic_descriptor_shaping_indicator, { "Shaping indicator", "q2931.oam_traffic_descriptor.shaping_indicator", FT_UINT8, BASE_HEX, VALS(q2931_shaping_indicator_vals), 0x60, NULL, HFILL }},
- { &hf_q2931_oam_traffic_descriptor_management_indicator, { "User-Network fault management indicator", "q2931.oam_traffic_descriptor.management_indicator", FT_UINT8, BASE_HEX, VALS(q2931_user_net_fault_mgmt_vals), 0x07, NULL, HFILL }},
- { &hf_q2931_oam_traffic_descriptor_forward_f5_flow_indicator, { "Forward end-to-end OAM F5 flow indicator", "q2931.oam_traffic_descriptor.forward_f5_flow_indicator", FT_UINT8, BASE_HEX, VALS(q2931_fwd_e2e_oam_f5_flow_indicator_vals), 0x70, NULL, HFILL }},
- { &hf_q2931_oam_traffic_descriptor_backward_f5_flow_indicator, { "Backward end-to-end OAM F5 flow indicator", "q2931.oam_traffic_descriptor.backward_f5_flow_indicator", FT_UINT8, BASE_HEX, VALS(q2931_bwd_e2e_oam_f5_flow_indicator_vals), 0x07, NULL, HFILL }},
- { &hf_q2931_endpoint_reference_type, { "Endpoint reference type", "q2931.endpoint_reference.type", FT_UINT8, BASE_HEX, VALS(q2931_endpoint_reference_type_vals), 0x0, NULL, HFILL }},
- { &hf_q2931_endpoint_reference_identifier_value, { "Endpoint reference identifier value", "q2931.endpoint_reference.identifier_value", FT_UINT16, BASE_DEC, NULL, 0x7FFF, NULL, HFILL }},
- { &hf_q2931_endpoint_state, { "Endpoint reference party-state", "q2931.endpoint_state", FT_UINT8, BASE_HEX, VALS(q2931_endpoint_reference_party_state_vals), 0x3F, NULL, HFILL }},
- { &hf_q2931_information_element, { "Information element", "q2931.information_element", FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0, NULL, HFILL }},
- { &hf_q2931_information_element_extension, { "Information element extension", "q2931.information_element.extension", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_information_element_length, { "Length", "q2931.information_element.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
- { &hf_q2931_information_element_data, { "Data", "q2931.information_element.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { "Action indicator", "q2931.ie_action_indicator",
+ FT_UINT8, BASE_DEC, VALS(ie_action_ind_vals), Q2931_IE_COMPAT_ACTION_IND,
+ NULL, HFILL }
+ },
+
+ /* Generated from convert_proto_tree_add_text.pl */
+ { &hf_q2931_aal_type,
+ { "AAL type", "q2931.aal_type",
+ FT_UINT8, BASE_HEX, VALS(q9231_aal_type_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_user_defined_aal_information,
+ { "User defined AAL information", "q2931.user_defined_aal_information",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_subtype,
+ { "Subtype", "q2931.aal1.subtype",
+ FT_UINT8, BASE_HEX, VALS(q9231_aal1_subtype_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_cbr_rate,
+ { "CBR rate", "q2931.aal1.cbr_rate",
+ FT_UINT8, BASE_HEX, VALS(q9231_aal1_cbr_rate_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_multiplier,
+ { "Multiplier", "q2931.aal1.multiplier",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_source_clock_frequency_recovery_method,
+ { "Source clock frequency recovery method", "q2931.aal1.source_clock_frequency_recovery_method",
+ FT_UINT8, BASE_HEX, VALS(q2931_aal1_src_clk_rec_meth_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_error_correction_method,
+ { "Error correction method", "q2931.aal1.error_correction_method",
+ FT_UINT8, BASE_HEX, VALS(q2931_aal1_err_correction_method_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_structured_data_transfer_block_size,
+ { "Structured data transfer block size", "q2931.aal1.structured_data_transfer_block_size",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_partially_filled_cells_method,
+ { "Partially filled cells method", "q2931.aal1.partially_filled_cells_method",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_forward_max_cpcs_sdu_size,
+ { "Forward maximum CPCS-SDU size", "q2931.aal1.forward_max_cpcs_sdu_size",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_backward_max_cpcs_sdu_size,
+ { "Backward maximum CPCS-SDU size", "q2931.aal1.backward_max_cpcs_sdu_size",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_mode,
+ { "Mode", "q2931.aal1.mode",
+ FT_UINT8, BASE_HEX, VALS(q2931_aal_mode_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_aal1_sscs_type,
+ { "SSCS type", "q2931.aal1.sscs_type",
+ FT_UINT8, BASE_HEX, VALS(q2931_sscs_type_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bearer_class,
+ { "Bearer class", "q2931.bearer_class",
+ FT_UINT8, BASE_HEX, VALS(q2931_bearer_class_vals), 0x1F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_atm_transfer_capability,
+ { "ATM Transfer Capability", "q2931.atm_transfer_capability",
+ FT_UINT8, BASE_HEX, VALS(q2931_transfer_capability_vals), 0x1F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_susceptibility_to_clipping,
+ { "Susceptibility to clipping", "q2931.susceptibility_to_clipping",
+ FT_UINT8, BASE_HEX, VALS(q2931_susc_clip_vals), 0x60,
+ NULL, HFILL }
+ },
+ { &hf_q2931_user_plane_connection_configuration,
+ { "User-plane connection configuration", "q2931.user_plane_connection_configuration",
+ FT_UINT8, BASE_HEX, VALS(q2931_up_conn_config_vals), 0x03,
+ NULL, HFILL }
+ },
+ { &hf_q2931_high_layer_information_type,
+ { "High layer information type", "q2931.high_layer_information_type",
+ FT_UINT8, BASE_HEX, VALS(q2931_hi_layer_info_type_vals), 0x7F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_user_info_l1_proto,
+ { "User information layer 1 protocol", "q2931.bband_low_layer_info.user_info_l1_proto",
+ FT_UINT8, BASE_HEX, NULL, 0x1F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_user_info_l2_proto,
+ { "User information layer 2 protocol", "q2931.bband_low_layer_info.user_info_l2_proto",
+ FT_UINT8, BASE_HEX, VALS(q2931_uil2_vals), 0x1F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_user_specified_l2_proto,
+ { "User-specified layer 2 protocol information", "q2931.bband_low_layer_info.user_specified_l2_proto",
+ FT_UINT8, BASE_HEX, NULL, 0x7F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_mode,
+ { "Mode", "q2931.bband_low_layer_info.mode",
+ FT_UINT8, BASE_HEX, VALS(q2931_mode_vals), 0x60,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_window_size,
+ { "Window size", "q2931.bband_low_layer_info.window_size",
+ FT_UINT8, BASE_DEC, NULL, 0x7F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_user_info_l3_proto,
+ { "User information layer 3 protocol", "q2931.bband_low_layer_info.user_info_l3_proto",
+ FT_UINT8, BASE_HEX, VALS(q2931_uil3_vals), 0x1F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_default_packet_size,
+ { "Default packet size", "q2931.bband_low_layer_info.default_packet_size",
+ FT_UINT8, BASE_DEC, NULL, 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_packet_window_size,
+ { "Packet window size", "q2931.bband_low_layer_info.packet_window_size",
+ FT_UINT8, BASE_DEC, NULL, 0x7F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_bband_low_layer_info_additional_l3_proto,
+ { "Additional layer 3 protocol information", "q2931.bband_low_layer_info.additional_l3_proto",
+ FT_UINT8, BASE_HEX, VALS(nlpid_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_organization_code,
+ { "Organization Code", "q2931.bband_low_layer_info.organization_code",
+ FT_UINT24, BASE_HEX, VALS(oui_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_ethernet_type,
+ { "Ethernet type", "q2931.bband_low_layer_info.ethernet_type",
+ FT_UINT16, BASE_HEX, VALS(etype_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_lane_protocol_id,
+ { "LANE Protocol ID", "q2931.bband_low_layer_info.lane_protocol_id",
+ FT_UINT16, BASE_HEX, VALS(lane_pid_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_protocol_id,
+ { "Protocol ID", "q2931.bband_low_layer_info.protocol_id",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_location,
+ { "Location", "q2931.cause.location",
+ FT_UINT8, BASE_HEX, VALS(q2931_cause_location_vals), 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_value,
+ { "Cause value", "q2931.cause.value",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_cause_code_vals_ext, 0x7F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_rejection_reason,
+ { "Rejection reason", "q2931.cause.rejection.reason",
+ FT_UINT8, BASE_HEX, VALS(q2931_rejection_reason_vals), 0x7C,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_rejection_condition,
+ { "Condition", "q2931.cause.rejection.condition",
+ FT_UINT8, BASE_HEX, VALS(q2931_cause_condition_vals), 0x03,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_rejection_user_specific_diagnostic,
+ { "User specific diagnostic", "q2931.cause.rejection.user_specific_diagnostic",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_rejection_missing_information_element,
+ { "Missing information element", "q2931.cause.rejection.missing_information_element",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_rejection_insufficient_information_element,
+ { "Insufficient information element", "q2931.cause.rejection.insufficient_information_element",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_rejection_diagnostic,
+ { "Diagnostic", "q2931.cause.rejection.diagnostic",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_information_element,
+ { "Information element", "q2931.cause.information_element",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_cell_rate_subfield_identifier,
+ { "Cell rate subfield identifier", "q2931.cause.cell_rate_subfield_identifier",
+ FT_UINT8, BASE_HEX, VALS(q2931_atm_td_subfield_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_vpci,
+ { "VPCI", "q2931.cause.vpci",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_vci,
+ { "VCI", "q2931.cause.vci",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_message_type,
+ { "Message type", "q2931.cause.message_type",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_message_type_vals_ext, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_cause_timer,
+ { "Timer", "q2931.cause.timer",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_call_state,
+ { "Call state", "q2931.call_state",
+ FT_UINT8, BASE_HEX, VALS(q2931_call_state_vals), 0x3F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_number_type,
+ { "Type of number", "q2931.number.type",
+ FT_UINT8, BASE_HEX, VALS(q2931_number_type_vals), 0x70,
+ NULL, HFILL }
+ },
+ { &hf_q2931_number_plan,
+ { "Numbering plan", "q2931.number.plan",
+ FT_UINT8, BASE_HEX, VALS(q2931_numbering_plan_vals), 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_number_presentation_indicator,
+ { "Presentation indicator", "q2931.number.presentation_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_presentation_indicator_vals), 0x60,
+ NULL, HFILL }
+ },
+ { &hf_q2931_number_screening_indicator,
+ { "Screening indicator", "q2931.number.screening_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_screening_indicator_vals), 0x03,
+ NULL, HFILL }
+ },
+ { &hf_q2931_number_string,
+ { "Number", "q2931.number.string",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_number_bytes,
+ { "Number", "q2931.number.bytes",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_party_subaddr_type_of_subaddress,
+ { "Type of subaddress", "q2931.party_subaddr.type_of_subaddress",
+ FT_UINT8, BASE_HEX, VALS(q2931_subaddress_type_vals), 0x70,
+ NULL, HFILL }
+ },
+ { &hf_q2931_party_subaddr_odd_even_indicator,
+ { "Odd/even indicator", "q2931.party_subaddr.odd_even_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_odd_even_indicator_vals), 0x10,
+ NULL, HFILL }
+ },
+ { &hf_q2931_party_subaddr_subaddress,
+ { "Subaddress", "q2931.party_subaddr.subaddress",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_conn_id_vp_associated_signalling,
+ { "VP-associated signalling", "q2931.conn_id.vp_associated_signalling",
+ FT_UINT8, BASE_HEX, VALS(q2931_vp_associated_signalling_vals), 0x18,
+ NULL, HFILL }
+ },
+ { &hf_q2931_conn_id_preferred_exclusive,
+ { "Preferred/exclusive", "q2931.conn_id.preferred_exclusive",
+ FT_UINT8, BASE_HEX, VALS(q2931_preferred_exclusive_vals), 0x07,
+ NULL, HFILL }
+ },
+ { &hf_q2931_conn_id_vpci,
+ { "VPCI", "q2931.conn_id.vpci",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_conn_id_vci,
+ { "VCI", "q2931.conn_id.vci",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_e2e_transit_delay_cumulative,
+ { "Cumulative transit delay", "q2931.e2e_transit_delay.cumulative",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_e2e_transit_delay_maximum_end_to_end,
+ { "Maximum end-to-end transit delay", "q2931.e2e_transit_delay.maximum_end_to_end",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_qos_class_forward,
+ { "QOS class forward", "q2931.qos_class_forward",
+ FT_UINT8, BASE_HEX, VALS(q2931_qos_parameter_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_qos_class_backward,
+ { "QOS class backward", "q2931.qos_class_backward",
+ FT_UINT8, BASE_HEX, VALS(q2931_qos_parameter_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_broadband_repeat_indicator,
+ { "Broadband repeat indicator", "q2931.broadband_repeat_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_bband_rpt_indicator_vals), 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_restart_indicator,
+ { "Restart indicator", "q2931.restart_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_class_vals), 0x07,
+ NULL, HFILL }
+ },
+ { &hf_q2931_transit_network_sel_type,
+ { "Type of network identification", "q2931.transit_network_sel.type",
+ FT_UINT8, BASE_HEX, VALS(q2931_netid_type_vals), 0x70,
+ NULL, HFILL }
+ },
+ { &hf_q2931_transit_network_sel_plan,
+ { "Network identification plan", "q2931.transit_network_sel.plan",
+ FT_UINT8, BASE_HEX, VALS(q2931_netid_plan_vals), 0x0F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_transit_network_sel_network_id,
+ { "Network identification", "q2931.transit_network_sel.network_identification",
+ FT_STRING, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_oam_traffic_descriptor_shaping_indicator,
+ { "Shaping indicator", "q2931.oam_traffic_descriptor.shaping_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_shaping_indicator_vals), 0x60,
+ NULL, HFILL }
+ },
+ { &hf_q2931_oam_traffic_descriptor_management_indicator,
+ { "User-Network fault management indicator", "q2931.oam_traffic_descriptor.management_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_user_net_fault_mgmt_vals), 0x07,
+ NULL, HFILL }
+ },
+ { &hf_q2931_oam_traffic_descriptor_forward_f5_flow_indicator,
+ { "Forward end-to-end OAM F5 flow indicator", "q2931.oam_traffic_descriptor.forward_f5_flow_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_fwd_e2e_oam_f5_flow_indicator_vals), 0x70,
+ NULL, HFILL }
+ },
+ { &hf_q2931_oam_traffic_descriptor_backward_f5_flow_indicator,
+ { "Backward end-to-end OAM F5 flow indicator", "q2931.oam_traffic_descriptor.backward_f5_flow_indicator",
+ FT_UINT8, BASE_HEX, VALS(q2931_bwd_e2e_oam_f5_flow_indicator_vals), 0x07,
+ NULL, HFILL }
+ },
+ { &hf_q2931_endpoint_reference_type,
+ { "Endpoint reference type", "q2931.endpoint_reference.type",
+ FT_UINT8, BASE_HEX, VALS(q2931_endpoint_reference_type_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_endpoint_reference_identifier_value,
+ { "Endpoint reference identifier value", "q2931.endpoint_reference.identifier_value",
+ FT_UINT16, BASE_DEC, NULL, 0x7FFF,
+ NULL, HFILL }
+ },
+ { &hf_q2931_endpoint_state,
+ { "Endpoint reference party-state", "q2931.endpoint_state",
+ FT_UINT8, BASE_HEX, VALS(q2931_endpoint_reference_party_state_vals), 0x3F,
+ NULL, HFILL }
+ },
+ { &hf_q2931_information_element,
+ { "Information element", "q2931.information_element",
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &q2931_info_element_vals_ext, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_information_element_extension,
+ { "Information element extension", "q2931.information_element.extension",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_information_element_length,
+ { "Length", "q2931.information_element.length",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_q2931_information_element_data,
+ { "Data", "q2931.information_element.data",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
};
static gint *ett[] = {
&ett_q2931,
@@ -2143,3 +2483,16 @@ proto_register_q2931(void)
register_dissector("q2931", dissect_q2931, proto_q2931);
}
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 8
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * End:
+ *
+ * vi: set shiftwidth=8 tabstop=8 noexpandtab:
+ * :indentSize=8:tabSize=8:noTabs=false:
+ */