forked from osmocom/wireshark
Fix some [-Wunused-but-set-variable] warnings
(in some cases by changing proto_tree_add_item() to use what appears to be the correct 'tree' arg); Do whitespace cleanup. svn path=/trunk/; revision=39772
This commit is contained in:
parent
9799f94861
commit
a25e421a10
|
@ -1769,7 +1769,7 @@ dissect_admin_record(proto_tree *primary_tree, tvbuff_t *tvb, int offset)
|
|||
}
|
||||
else {
|
||||
proto_item_set_text(timestamp_sequence_item,
|
||||
"Timestamp Sequence Number: %d", timestamp_sequence);
|
||||
"Timestamp Sequence Number: %d", timestamp_sequence);
|
||||
}
|
||||
offset += sdnv_length; record_size += sdnv_length;
|
||||
|
||||
|
@ -1953,7 +1953,7 @@ display_metadata_block(proto_tree *tree, tvbuff_t *tvb, int offset, gboolean *la
|
|||
int control_flags;
|
||||
proto_tree *block_flag_tree = NULL;
|
||||
int num_eid_ref = 0;
|
||||
int i = 0, ref_scheme = 0, ref_ssp = 0;
|
||||
int i = 0;
|
||||
|
||||
type = tvb_get_guint8(tvb, offset);
|
||||
header_start = offset; /*Used to compute total payload length*/
|
||||
|
@ -1976,32 +1976,32 @@ display_metadata_block(proto_tree *tree, tvbuff_t *tvb, int offset, gboolean *la
|
|||
block_flag_tree = proto_item_add_subtree(block_item, ett_block_flags);
|
||||
|
||||
proto_tree_add_boolean(block_flag_tree, hf_block_control_replicate,
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
proto_tree_add_boolean(block_flag_tree, hf_block_control_transmit_status,
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
proto_tree_add_boolean(block_flag_tree, hf_block_control_delete_bundle,
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
proto_tree_add_boolean(block_flag_tree, hf_block_control_last_block,
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
proto_tree_add_boolean(block_flag_tree, hf_block_control_discard_block,
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
proto_tree_add_boolean(block_flag_tree, hf_block_control_not_processed,
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
proto_tree_add_boolean(block_flag_tree, hf_block_control_eid_reference,
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
tvb, offset, sdnv_length, control_flags);
|
||||
|
||||
if (control_flags & BLOCK_CONTROL_EID_REFERENCE) {
|
||||
num_eid_ref = evaluate_sdnv(tvb, header_start + offset, &sdnv_length);
|
||||
offset += sdnv_length;
|
||||
num_eid_ref = evaluate_sdnv(tvb, header_start + offset, &sdnv_length);
|
||||
offset += sdnv_length;
|
||||
|
||||
for (i = 0; i < num_eid_ref; i++)
|
||||
{
|
||||
ref_scheme = evaluate_sdnv(tvb, header_start + offset, &sdnv_length);
|
||||
offset += sdnv_length;
|
||||
for (i = 0; i < num_eid_ref; i++)
|
||||
{
|
||||
evaluate_sdnv(tvb, header_start + offset, &sdnv_length);
|
||||
offset += sdnv_length;
|
||||
|
||||
ref_ssp = evaluate_sdnv(tvb, header_start + offset, &sdnv_length);
|
||||
offset += sdnv_length;
|
||||
}
|
||||
evaluate_sdnv(tvb, header_start + offset, &sdnv_length);
|
||||
offset += sdnv_length;
|
||||
}
|
||||
}
|
||||
|
||||
block_length = evaluate_sdnv(tvb, header_start + offset, &sdnv_length);
|
||||
|
@ -2172,433 +2172,433 @@ void
|
|||
proto_register_bundle(void)
|
||||
{
|
||||
|
||||
static hf_register_info hf[] = {
|
||||
{&hf_bundle_pdu_version,
|
||||
{"Bundle Version", "bundle.version",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_version,
|
||||
{"Version", "bundle.tcp_conv.contact_hdr.version",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags,
|
||||
{"Flags", "bundle.tcp_conv.contact_hdr.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags_ack_req,
|
||||
{"Bundle Acks Requested", "bundle.tcp_conv.contact_hdr.flags.ackreq",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONV_BUNDLE_ACK_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags_frag_enable,
|
||||
{"Reactive Fragmentation Enabled", "bundle.tcp_conv.contact_hdr.flags.fragen",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONV_REACTIVE_FRAG_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags_nak,
|
||||
{"Support Negative Acknowledgements", "bundle.tcp_conv.contact_hdr.flags.nak",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONV_CONNECTOR_RCVR_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_keep_alive,
|
||||
{"Keep Alive", "bundle.tcp_conv.contact_hdr.keep_alive",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_data_procflags,
|
||||
{"TCP Convergence Data Flags", "bundle.tcp_conv.data.proc.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, TCP_CONVERGENCE_DATA_FLAGS, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_data_procflags_start,
|
||||
{"Segment contains start of bundle", "bundle.tcp_conv.data.proc.start",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_DATA_START_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_data_procflags_end,
|
||||
{"Segment contains end of Bundle", "bundle.tcp_conv.data.proc.end",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_DATA_END_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_flags,
|
||||
{"TCP Convergence Shutdown Flags", "bundle.tcp_conv.shutdown.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, TCP_CONVERGENCE_SHUTDOWN_FLAGS, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_flags_reason,
|
||||
{"Shutdown includes Reason Code", "bundle.tcp_conv.shutdown.reason.flag",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_SHUTDOWN_REASON, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_flags_delay,
|
||||
{"Shutdown includes Reconnection Delay", "bundle.tcp_conv.shutdown.delay.flag",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_SHUTDOWN_DELAY, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_reason,
|
||||
{"Shutdown Reason Code", "bundle.tcp_conv.shutdown.reason",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_delay,
|
||||
{"Shutdown Reconnection Delay", "bundle.tcp_conv.shutdown.delay",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
static hf_register_info hf[] = {
|
||||
{&hf_bundle_pdu_version,
|
||||
{"Bundle Version", "bundle.version",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_version,
|
||||
{"Version", "bundle.tcp_conv.contact_hdr.version",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags,
|
||||
{"Flags", "bundle.tcp_conv.contact_hdr.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags_ack_req,
|
||||
{"Bundle Acks Requested", "bundle.tcp_conv.contact_hdr.flags.ackreq",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONV_BUNDLE_ACK_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags_frag_enable,
|
||||
{"Reactive Fragmentation Enabled", "bundle.tcp_conv.contact_hdr.flags.fragen",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONV_REACTIVE_FRAG_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_flags_nak,
|
||||
{"Support Negative Acknowledgements", "bundle.tcp_conv.contact_hdr.flags.nak",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONV_CONNECTOR_RCVR_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_contact_hdr_keep_alive,
|
||||
{"Keep Alive", "bundle.tcp_conv.contact_hdr.keep_alive",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_data_procflags,
|
||||
{"TCP Convergence Data Flags", "bundle.tcp_conv.data.proc.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, TCP_CONVERGENCE_DATA_FLAGS, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_data_procflags_start,
|
||||
{"Segment contains start of bundle", "bundle.tcp_conv.data.proc.start",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_DATA_START_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_data_procflags_end,
|
||||
{"Segment contains end of Bundle", "bundle.tcp_conv.data.proc.end",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_DATA_END_FLAG, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_flags,
|
||||
{"TCP Convergence Shutdown Flags", "bundle.tcp_conv.shutdown.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, TCP_CONVERGENCE_SHUTDOWN_FLAGS, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_flags_reason,
|
||||
{"Shutdown includes Reason Code", "bundle.tcp_conv.shutdown.reason.flag",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_SHUTDOWN_REASON, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_flags_delay,
|
||||
{"Shutdown includes Reconnection Delay", "bundle.tcp_conv.shutdown.delay.flag",
|
||||
FT_BOOLEAN, 8, NULL, TCP_CONVERGENCE_SHUTDOWN_DELAY, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_reason,
|
||||
{"Shutdown Reason Code", "bundle.tcp_conv.shutdown.reason",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_tcp_convergence_shutdown_delay,
|
||||
{"Shutdown Reconnection Delay", "bundle.tcp_conv.shutdown.delay",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
|
||||
{&hf_msg_fragments,
|
||||
{"Message Fragments", "bundle.msg.fragments",
|
||||
FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment,
|
||||
{"Message Fragment", "bundle.msg.fragment",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_overlap,
|
||||
{"Message fragment overlap", "bundle.msg.fragment.overlap",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_overlap_conflicts,
|
||||
{"Message fragment overlapping with conflicting data",
|
||||
"bundle.msg.fragment.overlap.conflicts",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_multiple_tails,
|
||||
{"Message has multiple tails", "bundle.msg.fragment.multiple_tails",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_too_long_fragment,
|
||||
{"Message fragment too long", "bundle.msg.fragment.too_long_fragment",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_error,
|
||||
{"Message defragmentation error", "bundle.msg.fragment.error",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_count,
|
||||
{"Message fragment count", "bundle.msg.fragment.count",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_reassembled_in,
|
||||
{"Reassembled in", "bundle.msg.reassembled.in",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_reassembled_length,
|
||||
{"Reassembled DTN length", "bundle.msg.reassembled.length",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags,
|
||||
{"Primary Header Processing Flags", "bundle.primary.proc.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_fragment,
|
||||
{"Bundle is a Fragment", "bundle.primary.proc.frag",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_FRAG_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_admin,
|
||||
{"Administrative Record", "bundle.primary.proc.admin",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_ADMIN_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_dont_fragment,
|
||||
{"Do Not Fragment Bundle", "bundle.primary.proc.dontfrag",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_DONTFRAG_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_cust_xfer_req,
|
||||
{"Request Custody Transfer", "bundle.primary.proc.xferreq",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_XFERREQ_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_dest_singleton,
|
||||
{"Destination is Singleton", "bundle.primary.proc.single",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_SINGLETON_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_application_ack,
|
||||
{"Request Acknowledgement by Application", "bundle.primary.proc.ack",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_APP_ACK_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_control_flags,
|
||||
{"Bundle Processing Control Flags", "bundle.primary.proc.flag",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_general,
|
||||
{"General Flags", "bundle.primary.proc.gen",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_cos,
|
||||
{"Cloass of Service Flags", "bundle.primary.proc.cos",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_status,
|
||||
{"Status Report Flags", "bundle.primary.proc.status",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cosflags,
|
||||
{"Primary Header COS Flags", "bundle.primary.cos.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cosflags_priority,
|
||||
{"Priority", "bundle.primary.cos.priority",
|
||||
FT_UINT8, BASE_DEC, NULL, BUNDLE_COSFLAGS_PRIORITY_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags,
|
||||
{"Primary Header Report Request Flags", "bundle.primary.srr.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_receipt,
|
||||
{"Request Reception Report", "bundle.primary.srr.report",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_REPORT_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_cust_accept,
|
||||
{"Request Report of Custody Acceptance", "bundle.primary.srr.custaccept",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_CUSTODY_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_forward,
|
||||
{"Request Report of Bundle Forwarding", "bundle.primary.srr.forward",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_FORWARD_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_delivery,
|
||||
{"Request Report of Bundle Delivery", "bundle.primary.srr.delivery",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_DELIVERY_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_deletion,
|
||||
{"Request Report of Bundle Deletion", "bundle.primary.srr.delete",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_DELETION_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_ack,
|
||||
{"Request Report of Application Ack", "bundle.primary.srr.ack",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_ACK_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_primary_header_len,
|
||||
{"Bundle Header Length", "bundle.primary.len",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_scheme_offset,
|
||||
{"Destination Scheme Offset", "bundle.primary.destschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_ssp_offset,
|
||||
{"Destination SSP Offset", "bundle.primary.destssspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_scheme_offset,
|
||||
{"Source Scheme Offset", "bundle.primary.srcschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_ssp_offset,
|
||||
{"Source SSP Offset", "bundle.primary.srcsspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_scheme_offset,
|
||||
{"Report Scheme Offset", "bundle.primary.rptschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_ssp_offset,
|
||||
{"Report SSP Offset", "bundle.primary.rptsspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cust_scheme_offset,
|
||||
{"Custodian Scheme Offset", "bundle.primary.custschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cust_ssp_offset,
|
||||
{"Custodian SSP Offset", "bundle.primary.custsspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_scheme,
|
||||
{"Destination Scheme", "bundle.primary.destination_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_ssp,
|
||||
{"Destination", "bundle.primary.destination",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_scheme,
|
||||
{"Source Scheme", "bundle.primary.source_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_ssp,
|
||||
{"Source", "bundle.primary.source",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_scheme,
|
||||
{"Report Scheme", "bundle.primary.report_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_ssp,
|
||||
{"Report", "bundle.primary.report",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_custodian_scheme,
|
||||
{"Custodian Scheme", "bundle.primary.custodian_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_custodian_ssp,
|
||||
{"Custodian", "bundle.primary.custodian",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_creation_timestamp,
|
||||
{"Creation Timestamp", "bundle.primary.timestamp",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_lifetime,
|
||||
{"Lifetime", "bundle.primary.lifetime",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags,
|
||||
{"Payload Header Processing Flags", "bundle.payload.proc.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_replicate_hdr,
|
||||
{"Replicate Header in Every Fragment", "bundle.payload.proc.replicate",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_REPLICATE_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_xmit_report,
|
||||
{"Report if Can't Process Header", "bundle.payload.proc.report",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_XMIT_STATUS, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_discard_on_fail,
|
||||
{"Discard if Can't Process Header", "bundle.payload.proc.discard",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_DISCARD_FAILURE, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_last_header,
|
||||
{"Last Header", "bundle.payload.proc.lastheader",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_LAST_HEADER, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_statflags,
|
||||
{"Administrative Record Status Flags", "bundle.admin.status.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_rcvd,
|
||||
{"Reporting Node Received Bundle", "bundle.admin.status.rcvd",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_RECEIVED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_accepted,
|
||||
{"Reporting Node Accepted Custody", "bundle.admin.status.accept",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_ACCEPTED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_forwarded,
|
||||
{"Reporting Node Forwarded Bundle", "bundle.admin.status.forward",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_FORWARDED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_delivered,
|
||||
{"Reporting Node Delivered Bundle", "bundle.admin.status.delivered",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_DELIVERED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_deleted,
|
||||
{"Reporting Node Deleted Bundle", "bundle.admin.status.delete",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_DELETED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_acked,
|
||||
{"Acknowledged by Application", "bundle.admin.status.ack",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_ACKNOWLEDGED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_receipt_time,
|
||||
{"Time of Receipt", "bundle.admin.status.receipttime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_accept_time,
|
||||
{"Time of Custody Acceptance", "bundle.admin.status.accepttime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_forward_time,
|
||||
{"Time of Forwarding", "bundle.admin.status.forwardtime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_delivery_time,
|
||||
{"Time of Delivery", "bundle.admin.status.deliverytime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_delete_time,
|
||||
{"Time of Deletion", "bundle.admin.status.deletetime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_ack_time,
|
||||
{"Time of Acknowledgement", "bundle.admin.status.acktime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_timestamp_copy,
|
||||
{"Copy of Creation Timestamp", "bundle.admin.status.timecopy",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_signal_time,
|
||||
{"Time of Signal", "bundle.admin.signal.time",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_flags,
|
||||
{"Block Processing Control Flags", "bundle.block.control.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_replicate,
|
||||
{"Replicate Block in Every Fragment", "bundle.block.control.replicate",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_REPLICATE, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_transmit_status,
|
||||
{"Transmit Status if Block Can't be Processeed", "bundle.block.control.status",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_TRANSMIT_STATUS, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_delete_bundle,
|
||||
{"Delete Bundle if Block Can't be Processeed", "bundle.block.control.delete",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_DELETE_BUNDLE, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_last_block,
|
||||
{"Last Block", "bundle.block.control.last",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_LAST_BLOCK, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_discard_block,
|
||||
{"Discard Block If Can't Process", "bundle.block.control.discard",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_DISCARD_BLOCK, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_not_processed,
|
||||
{"Block Was Forwarded Without Processing", "bundle.block.control.process",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_NOT_PROCESSED, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_eid_reference,
|
||||
{"Block Contains an EID-reference Field", "bundle.block.control.eid",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_EID_REFERENCE, NULL, HFILL}
|
||||
}
|
||||
};
|
||||
{&hf_msg_fragments,
|
||||
{"Message Fragments", "bundle.msg.fragments",
|
||||
FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment,
|
||||
{"Message Fragment", "bundle.msg.fragment",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_overlap,
|
||||
{"Message fragment overlap", "bundle.msg.fragment.overlap",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_overlap_conflicts,
|
||||
{"Message fragment overlapping with conflicting data",
|
||||
"bundle.msg.fragment.overlap.conflicts",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_multiple_tails,
|
||||
{"Message has multiple tails", "bundle.msg.fragment.multiple_tails",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_too_long_fragment,
|
||||
{"Message fragment too long", "bundle.msg.fragment.too_long_fragment",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_error,
|
||||
{"Message defragmentation error", "bundle.msg.fragment.error",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_fragment_count,
|
||||
{"Message fragment count", "bundle.msg.fragment.count",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_reassembled_in,
|
||||
{"Reassembled in", "bundle.msg.reassembled.in",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_msg_reassembled_length,
|
||||
{"Reassembled DTN length", "bundle.msg.reassembled.length",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags,
|
||||
{"Primary Header Processing Flags", "bundle.primary.proc.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_fragment,
|
||||
{"Bundle is a Fragment", "bundle.primary.proc.frag",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_FRAG_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_admin,
|
||||
{"Administrative Record", "bundle.primary.proc.admin",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_ADMIN_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_dont_fragment,
|
||||
{"Do Not Fragment Bundle", "bundle.primary.proc.dontfrag",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_DONTFRAG_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_cust_xfer_req,
|
||||
{"Request Custody Transfer", "bundle.primary.proc.xferreq",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_XFERREQ_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_dest_singleton,
|
||||
{"Destination is Singleton", "bundle.primary.proc.single",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_SINGLETON_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_application_ack,
|
||||
{"Request Acknowledgement by Application", "bundle.primary.proc.ack",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_PROCFLAGS_APP_ACK_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_control_flags,
|
||||
{"Bundle Processing Control Flags", "bundle.primary.proc.flag",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_general,
|
||||
{"General Flags", "bundle.primary.proc.gen",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_cos,
|
||||
{"Cloass of Service Flags", "bundle.primary.proc.cos",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_procflags_status,
|
||||
{"Status Report Flags", "bundle.primary.proc.status",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cosflags,
|
||||
{"Primary Header COS Flags", "bundle.primary.cos.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cosflags_priority,
|
||||
{"Priority", "bundle.primary.cos.priority",
|
||||
FT_UINT8, BASE_DEC, NULL, BUNDLE_COSFLAGS_PRIORITY_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags,
|
||||
{"Primary Header Report Request Flags", "bundle.primary.srr.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_receipt,
|
||||
{"Request Reception Report", "bundle.primary.srr.report",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_REPORT_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_cust_accept,
|
||||
{"Request Report of Custody Acceptance", "bundle.primary.srr.custaccept",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_CUSTODY_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_forward,
|
||||
{"Request Report of Bundle Forwarding", "bundle.primary.srr.forward",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_FORWARD_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_delivery,
|
||||
{"Request Report of Bundle Delivery", "bundle.primary.srr.delivery",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_DELIVERY_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_deletion,
|
||||
{"Request Report of Bundle Deletion", "bundle.primary.srr.delete",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_DELETION_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_srrflags_report_ack,
|
||||
{"Request Report of Application Ack", "bundle.primary.srr.ack",
|
||||
FT_BOOLEAN, 8, NULL, BUNDLE_SRRFLAGS_ACK_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_primary_header_len,
|
||||
{"Bundle Header Length", "bundle.primary.len",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_scheme_offset,
|
||||
{"Destination Scheme Offset", "bundle.primary.destschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_ssp_offset,
|
||||
{"Destination SSP Offset", "bundle.primary.destssspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_scheme_offset,
|
||||
{"Source Scheme Offset", "bundle.primary.srcschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_ssp_offset,
|
||||
{"Source SSP Offset", "bundle.primary.srcsspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_scheme_offset,
|
||||
{"Report Scheme Offset", "bundle.primary.rptschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_ssp_offset,
|
||||
{"Report SSP Offset", "bundle.primary.rptsspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cust_scheme_offset,
|
||||
{"Custodian Scheme Offset", "bundle.primary.custschemeoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_cust_ssp_offset,
|
||||
{"Custodian SSP Offset", "bundle.primary.custsspoff",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_scheme,
|
||||
{"Destination Scheme", "bundle.primary.destination_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_dest_ssp,
|
||||
{"Destination", "bundle.primary.destination",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_scheme,
|
||||
{"Source Scheme", "bundle.primary.source_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_source_ssp,
|
||||
{"Source", "bundle.primary.source",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_scheme,
|
||||
{"Report Scheme", "bundle.primary.report_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_report_ssp,
|
||||
{"Report", "bundle.primary.report",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_custodian_scheme,
|
||||
{"Custodian Scheme", "bundle.primary.custodian_scheme",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_custodian_ssp,
|
||||
{"Custodian", "bundle.primary.custodian",
|
||||
FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_creation_timestamp,
|
||||
{"Creation Timestamp", "bundle.primary.timestamp",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_lifetime,
|
||||
{"Lifetime", "bundle.primary.lifetime",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags,
|
||||
{"Payload Header Processing Flags", "bundle.payload.proc.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_replicate_hdr,
|
||||
{"Replicate Header in Every Fragment", "bundle.payload.proc.replicate",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_REPLICATE_MASK, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_xmit_report,
|
||||
{"Report if Can't Process Header", "bundle.payload.proc.report",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_XMIT_STATUS, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_discard_on_fail,
|
||||
{"Discard if Can't Process Header", "bundle.payload.proc.discard",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_DISCARD_FAILURE, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_payload_flags_last_header,
|
||||
{"Last Header", "bundle.payload.proc.lastheader",
|
||||
FT_BOOLEAN, 8, NULL, PAYLOAD_PROCFLAGS_LAST_HEADER, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_statflags,
|
||||
{"Administrative Record Status Flags", "bundle.admin.status.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_rcvd,
|
||||
{"Reporting Node Received Bundle", "bundle.admin.status.rcvd",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_RECEIVED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_accepted,
|
||||
{"Reporting Node Accepted Custody", "bundle.admin.status.accept",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_ACCEPTED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_forwarded,
|
||||
{"Reporting Node Forwarded Bundle", "bundle.admin.status.forward",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_FORWARDED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_delivered,
|
||||
{"Reporting Node Delivered Bundle", "bundle.admin.status.delivered",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_DELIVERED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_deleted,
|
||||
{"Reporting Node Deleted Bundle", "bundle.admin.status.delete",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_DELETED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_acked,
|
||||
{"Acknowledged by Application", "bundle.admin.status.ack",
|
||||
FT_BOOLEAN, 8, NULL, ADMIN_STATUS_FLAGS_ACKNOWLEDGED, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_receipt_time,
|
||||
{"Time of Receipt", "bundle.admin.status.receipttime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_accept_time,
|
||||
{"Time of Custody Acceptance", "bundle.admin.status.accepttime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_forward_time,
|
||||
{"Time of Forwarding", "bundle.admin.status.forwardtime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_delivery_time,
|
||||
{"Time of Delivery", "bundle.admin.status.deliverytime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_delete_time,
|
||||
{"Time of Deletion", "bundle.admin.status.deletetime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_ack_time,
|
||||
{"Time of Acknowledgement", "bundle.admin.status.acktime",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_timestamp_copy,
|
||||
{"Copy of Creation Timestamp", "bundle.admin.status.timecopy",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_bundle_admin_signal_time,
|
||||
{"Time of Signal", "bundle.admin.signal.time",
|
||||
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_flags,
|
||||
{"Block Processing Control Flags", "bundle.block.control.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_replicate,
|
||||
{"Replicate Block in Every Fragment", "bundle.block.control.replicate",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_REPLICATE, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_transmit_status,
|
||||
{"Transmit Status if Block Can't be Processeed", "bundle.block.control.status",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_TRANSMIT_STATUS, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_delete_bundle,
|
||||
{"Delete Bundle if Block Can't be Processeed", "bundle.block.control.delete",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_DELETE_BUNDLE, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_last_block,
|
||||
{"Last Block", "bundle.block.control.last",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_LAST_BLOCK, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_discard_block,
|
||||
{"Discard Block If Can't Process", "bundle.block.control.discard",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_DISCARD_BLOCK, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_not_processed,
|
||||
{"Block Was Forwarded Without Processing", "bundle.block.control.process",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_NOT_PROCESSED, NULL, HFILL}
|
||||
},
|
||||
{&hf_block_control_eid_reference,
|
||||
{"Block Contains an EID-reference Field", "bundle.block.control.eid",
|
||||
FT_BOOLEAN, 8, NULL, BLOCK_CONTROL_EID_REFERENCE, NULL, HFILL}
|
||||
}
|
||||
};
|
||||
|
||||
static gint *ett[] = {
|
||||
&ett_bundle,
|
||||
&ett_tcp_conv,
|
||||
&ett_tcp_conv_hdr,
|
||||
&ett_msg_fragment,
|
||||
&ett_msg_fragments,
|
||||
&ett_bundle_hdr,
|
||||
&ett_primary_hdr,
|
||||
&ett_proc_flags,
|
||||
&ett_gen_flags,
|
||||
&ett_cos_flags,
|
||||
&ett_srr_flags,
|
||||
&ett_dictionary,
|
||||
&ett_payload_hdr,
|
||||
&ett_payload_flags,
|
||||
&ett_block_flags,
|
||||
&ett_contact_hdr_flags,
|
||||
&ett_conv_flags,
|
||||
&ett_shutdown_flags,
|
||||
&ett_admin_record,
|
||||
&ett_admin_rec_status,
|
||||
&ett_metadata_hdr
|
||||
};
|
||||
static gint *ett[] = {
|
||||
&ett_bundle,
|
||||
&ett_tcp_conv,
|
||||
&ett_tcp_conv_hdr,
|
||||
&ett_msg_fragment,
|
||||
&ett_msg_fragments,
|
||||
&ett_bundle_hdr,
|
||||
&ett_primary_hdr,
|
||||
&ett_proc_flags,
|
||||
&ett_gen_flags,
|
||||
&ett_cos_flags,
|
||||
&ett_srr_flags,
|
||||
&ett_dictionary,
|
||||
&ett_payload_hdr,
|
||||
&ett_payload_flags,
|
||||
&ett_block_flags,
|
||||
&ett_contact_hdr_flags,
|
||||
&ett_conv_flags,
|
||||
&ett_shutdown_flags,
|
||||
&ett_admin_record,
|
||||
&ett_admin_rec_status,
|
||||
&ett_metadata_hdr
|
||||
};
|
||||
|
||||
module_t *bundle_module;
|
||||
module_t *bundle_module;
|
||||
|
||||
proto_bundle = proto_register_protocol (
|
||||
"Bundle Protocol",
|
||||
"Bundle",
|
||||
"bundle"
|
||||
);
|
||||
bundle_module = prefs_register_protocol(proto_bundle, proto_reg_handoff_bundle);
|
||||
proto_bundle = proto_register_protocol (
|
||||
"Bundle Protocol",
|
||||
"Bundle",
|
||||
"bundle"
|
||||
);
|
||||
bundle_module = prefs_register_protocol(proto_bundle, proto_reg_handoff_bundle);
|
||||
|
||||
proto_tcp_conv = proto_register_protocol (
|
||||
"DTN TCP Convergence Layer Protocol",
|
||||
"TCPCL",
|
||||
"tcpcl"
|
||||
);
|
||||
proto_tcp_conv = proto_register_protocol (
|
||||
"DTN TCP Convergence Layer Protocol",
|
||||
"TCPCL",
|
||||
"tcpcl"
|
||||
);
|
||||
|
||||
prefs_register_uint_preference(bundle_module, "tcp.port",
|
||||
"Bundle Protocol TCP Port",
|
||||
"TCP Port to Accept Bundle Protocol Connections",
|
||||
10,
|
||||
&bundle_tcp_port);
|
||||
prefs_register_uint_preference(bundle_module, "tcp.port",
|
||||
"Bundle Protocol TCP Port",
|
||||
"TCP Port to Accept Bundle Protocol Connections",
|
||||
10,
|
||||
&bundle_tcp_port);
|
||||
|
||||
prefs_register_uint_preference(bundle_module, "udp.port",
|
||||
"Bundle Protocol UDP Port",
|
||||
"UDP Port to Accept Bundle Protocol Connections",
|
||||
10,
|
||||
&bundle_udp_port);
|
||||
prefs_register_uint_preference(bundle_module, "udp.port",
|
||||
"Bundle Protocol UDP Port",
|
||||
"UDP Port to Accept Bundle Protocol Connections",
|
||||
10,
|
||||
&bundle_udp_port);
|
||||
|
||||
proto_register_field_array(proto_bundle, hf, array_length(hf));
|
||||
proto_register_subtree_array(ett, array_length(ett));
|
||||
register_init_routine(bundle_defragment_init);
|
||||
proto_register_field_array(proto_bundle, hf, array_length(hf));
|
||||
proto_register_subtree_array(ett, array_length(ett));
|
||||
register_init_routine(bundle_defragment_init);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -2967,11 +2967,11 @@ static void
|
|||
dissect_gtpv2_F_container(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type, guint8 instance _U_)
|
||||
{
|
||||
tvbuff_t *tvb_new;
|
||||
proto_item *bss_item;
|
||||
proto_tree *sub_tree;
|
||||
proto_item *bss_item;
|
||||
proto_tree *sub_tree;
|
||||
int offset = 0;
|
||||
guint8 container_type;
|
||||
guint8 container_flags, xid_len;
|
||||
guint8 container_flags, xid_len;
|
||||
|
||||
/* Octets 8 7 6 5 4 3 2 1
|
||||
* 5 Spare | Container Type
|
||||
|
@ -2988,25 +2988,25 @@ dissect_gtpv2_F_container(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, p
|
|||
bss_item = proto_tree_add_text(tree, tvb, offset, length, "BSS container");
|
||||
sub_tree = proto_item_add_subtree(bss_item, ett_bss_con);
|
||||
/* The flags PFI, RP, SAPI and PHX in octet 6 indicate the corresponding type of paratemer */
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_container_phx, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_sapi_flg, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_rp_flg, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_pfi_flg, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_container_phx, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_sapi_flg, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_rp_flg, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_pfi_flg, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
container_flags = tvb_get_guint8(tvb,offset);
|
||||
offset++;
|
||||
if((container_flags&0x01)==1){
|
||||
/* Packet Flow ID present */
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_pfi, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_pfi, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
}
|
||||
if(((container_flags&0x04)==4)||((container_flags&0x02)==2)){
|
||||
if((container_flags&0x04)==4){
|
||||
/* SAPI present */
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_sapi, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_sapi, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
}
|
||||
if((container_flags&0x02)==2){
|
||||
/* Radio Priority present */
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_rp, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_rp, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
}
|
||||
offset++;
|
||||
}
|
||||
|
@ -3015,9 +3015,9 @@ dissect_gtpv2_F_container(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, p
|
|||
* XiD parameters are present in Octet d to n.
|
||||
*/
|
||||
xid_len = tvb_get_guint8(tvb,offset);
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_xid_len, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_xid_len, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
proto_tree_add_item(tree, hf_gtpv2_bss_con_xid, tvb, offset, xid_len, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(sub_tree, hf_gtpv2_bss_con_xid, tvb, offset, xid_len, ENC_BIG_ENDIAN);
|
||||
offset += xid_len;
|
||||
}
|
||||
return;
|
||||
|
@ -3207,26 +3207,26 @@ dissect_gtpv2_target_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pro
|
|||
/* Target ID field shall be same as the Octets 3 to 10 of the Cell Identifier IEI
|
||||
* in 3GPP TS 48.018 [34].
|
||||
*/
|
||||
tvb_new = tvb_new_subset_remaining(tvb, offset);
|
||||
de_bssgp_cell_id(tvb_new, tree, pinfo, 0, 0/* not used */, NULL, 0);
|
||||
return;
|
||||
tvb_new = tvb_new_subset_remaining(tvb, offset);
|
||||
de_bssgp_cell_id(tvb_new, tree, pinfo, 0, 0/* not used */, NULL, 0);
|
||||
return;
|
||||
case 3:
|
||||
/* Home eNodeB ID */
|
||||
tvb_new = tvb_new_subset_remaining(tvb, offset);
|
||||
dissect_e212_mcc_mnc(tvb_new, pinfo, tree, 0, TRUE);
|
||||
offset+=3;
|
||||
/* Octet 10 to 12 Home eNodeB ID
|
||||
* The Home eNodeB ID consists of 28 bits. See 3GPP TS 36.413 [10].
|
||||
* Bit 4 of Octet 9 is the most significant bit and bit 1 of Octet 12 is the least significant bit.
|
||||
* The coding of the Home eNodeB ID is the responsibility of each administration.
|
||||
* Coding using full hexadecimal representation shall be used.
|
||||
*/
|
||||
proto_tree_add_item(tree, hf_gtpv2_home_enodeb_id, tvb, offset, 4 , ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
/* Octet 10 to 12 Home eNodeB ID
|
||||
* The Home eNodeB ID consists of 28 bits. See 3GPP TS 36.413 [10].
|
||||
* Bit 4 of Octet 9 is the most significant bit and bit 1 of Octet 12 is the least significant bit.
|
||||
* The coding of the Home eNodeB ID is the responsibility of each administration.
|
||||
* Coding using full hexadecimal representation shall be used.
|
||||
*/
|
||||
proto_tree_add_item(tree, hf_gtpv2_home_enodeb_id, tvb, offset, 4 , ENC_BIG_ENDIAN);
|
||||
offset+=4;
|
||||
/* Octet 13 to 14 Tracking Area Code (TAC) */
|
||||
proto_tree_add_item(tree, hf_gtpv2_tac, tvb, offset, 2 , ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
return;
|
||||
proto_tree_add_item(tree, hf_gtpv2_tac, tvb, offset, 2 , ENC_BIG_ENDIAN);
|
||||
offset+=2;
|
||||
return;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
@ -5086,52 +5086,52 @@ void proto_register_gtpv2(void)
|
|||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_container_phx,
|
||||
{ &hf_gtpv2_bss_container_phx,
|
||||
{"PHX", "gtpv2.bss_cont.phx",
|
||||
FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x08,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_con_sapi_flg,
|
||||
{ &hf_gtpv2_bss_con_sapi_flg,
|
||||
{"SAPI", "gtpv2.bss_cont.sapi_flg",
|
||||
FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x04,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_con_rp_flg,
|
||||
{ &hf_gtpv2_bss_con_rp_flg,
|
||||
{"RP", "gtpv2.bss_cont.rp_flg",
|
||||
FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x02,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_con_pfi_flg,
|
||||
{ &hf_gtpv2_bss_con_pfi_flg,
|
||||
{"PFI", "gtpv2.bss_cont.pfi_flg",
|
||||
FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x01,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_con_pfi,
|
||||
{ &hf_gtpv2_bss_con_pfi,
|
||||
{"Packet Flow ID(PFI)", "gtpv2.bss_cont.pfi",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_con_rp,
|
||||
{ &hf_gtpv2_bss_con_rp,
|
||||
{"Radio Priority(RP)", "gtpv2.bss_cont.rp",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x07,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_con_sapi,
|
||||
{ &hf_gtpv2_bss_con_sapi,
|
||||
{"SAPI", "gtpv2.bss_cont.sapi",
|
||||
FT_UINT8, BASE_DEC, NULL, 0xf0,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_bss_con_xid_len,
|
||||
{ &hf_gtpv2_bss_con_xid_len,
|
||||
{"XiD parameters length", "gtpv2.bss_cont.xid_len",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_home_enodeb_id,
|
||||
{ &hf_gtpv2_home_enodeb_id,
|
||||
{"Home eNodeB ID", "gtpv2.home_enodeb_id",
|
||||
FT_UINT32, BASE_HEX, NULL, 0x0fffffff,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_tac,
|
||||
{ &hf_gtpv2_tac,
|
||||
{"Tracking Area Code (TAC)", "gtpv2.tac",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL}
|
||||
|
@ -5171,7 +5171,7 @@ void proto_register_gtpv2(void)
|
|||
&ett_gtpv2_stn_sr,
|
||||
&ett_gtpv2_ms_mark,
|
||||
&ett_gtpv2_supp_codec_list,
|
||||
&ett_bss_con,
|
||||
&ett_bss_con,
|
||||
};
|
||||
|
||||
proto_gtpv2 = proto_register_protocol("GPRS Tunneling Protocol V2", "GTPv2", "gtpv2");
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -60,18 +60,18 @@ static dissector_handle_t eth_handle;
|
|||
static void
|
||||
dissect_vxlan(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||
{
|
||||
proto_tree *vxlan_tree, *flg_tree;
|
||||
proto_item *ti, *flg_item;
|
||||
tvbuff_t *next_tvb;
|
||||
int offset = 0;
|
||||
proto_tree *vxlan_tree, *flg_tree;
|
||||
proto_item *ti, *flg_item;
|
||||
tvbuff_t *next_tvb;
|
||||
int offset = 0;
|
||||
|
||||
/* Make entry in Protocol column on summary display */
|
||||
col_set_str(pinfo->cinfo, COL_PROTOCOL, "VxLAN");
|
||||
/* Make entry in Protocol column on summary display */
|
||||
col_set_str(pinfo->cinfo, COL_PROTOCOL, "VxLAN");
|
||||
|
||||
col_clear(pinfo->cinfo, COL_INFO);
|
||||
col_clear(pinfo->cinfo, COL_INFO);
|
||||
|
||||
ti = proto_tree_add_item(tree, proto_vxlan, tvb, offset, -1, ENC_NA);
|
||||
vxlan_tree = proto_item_add_subtree(ti, ett_vxlan);
|
||||
ti = proto_tree_add_item(tree, proto_vxlan, tvb, offset, -1, ENC_NA);
|
||||
vxlan_tree = proto_item_add_subtree(ti, ett_vxlan);
|
||||
|
||||
/*
|
||||
0 1 2 3
|
||||
|
@ -83,36 +83,36 @@ dissect_vxlan(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
| VXLAN Network Identifier (VNI) | Reserved |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
*/
|
||||
/* Flags (8 bits) where the I flag MUST be set to 1 for a valid
|
||||
/* Flags (8 bits) where the I flag MUST be set to 1 for a valid
|
||||
* VXLAN Network ID (VNI). The remaining 7 bits (designated "R") are
|
||||
* reserved fields and MUST be set to zero.
|
||||
*/
|
||||
flg_item = proto_tree_add_item(vxlan_tree, hf_vxlan_flags, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
flg_tree = proto_item_add_subtree(ti, ett_vxlan_flgs);
|
||||
*/
|
||||
flg_item = proto_tree_add_item(vxlan_tree, hf_vxlan_flags, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
flg_tree = proto_item_add_subtree(flg_item, ett_vxlan_flgs);
|
||||
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b7, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b6, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b5, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b4, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b7, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b6, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b5, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b4, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_i, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b2, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b1, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b0, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_i, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b2, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b1, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(flg_tree, hf_vxlan_flag_b0, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
|
||||
proto_tree_add_item(vxlan_tree, hf_vxlan_reserved_24, tvb, offset, 3, ENC_BIG_ENDIAN);
|
||||
offset+=3;
|
||||
proto_tree_add_item(vxlan_tree, hf_vxlan_reserved_24, tvb, offset, 3, ENC_BIG_ENDIAN);
|
||||
offset+=3;
|
||||
|
||||
proto_tree_add_item(vxlan_tree, hf_vxlan_vni, tvb, offset, 3, ENC_BIG_ENDIAN);
|
||||
offset+=3;
|
||||
proto_tree_add_item(vxlan_tree, hf_vxlan_vni, tvb, offset, 3, ENC_BIG_ENDIAN);
|
||||
offset+=3;
|
||||
|
||||
|
||||
proto_tree_add_item(vxlan_tree, hf_vxlan_reserved_8, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector(eth_handle, next_tvb, pinfo, tree);
|
||||
proto_tree_add_item(vxlan_tree, hf_vxlan_reserved_8, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
call_dissector(eth_handle, next_tvb, pinfo, tree);
|
||||
|
||||
}
|
||||
|
||||
|
@ -121,94 +121,94 @@ dissect_vxlan(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
void
|
||||
proto_register_vxlan(void)
|
||||
{
|
||||
static hf_register_info hf[] = {
|
||||
{ &hf_vxlan_flags,
|
||||
{ "Flags", "vxlan.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b7,
|
||||
{ "Reserved(R)", "vxlan.flag_b7",
|
||||
static hf_register_info hf[] = {
|
||||
{ &hf_vxlan_flags,
|
||||
{ "Flags", "vxlan.flags",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b7,
|
||||
{ "Reserved(R)", "vxlan.flag_b7",
|
||||
FT_BOOLEAN, 8, NULL, 0x80,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b6,
|
||||
{ "Reserved(R)", "vxlan.flag_b6",
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b6,
|
||||
{ "Reserved(R)", "vxlan.flag_b6",
|
||||
FT_BOOLEAN, 8, NULL, 0x40,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b5,
|
||||
{ "Reserved(R)", "vxlan.flag_b5",
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b5,
|
||||
{ "Reserved(R)", "vxlan.flag_b5",
|
||||
FT_BOOLEAN, 8, NULL, 0x20,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b4,
|
||||
{ "Reserved(R)", "vxlan.flag_b4",
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b4,
|
||||
{ "Reserved(R)", "vxlan.flag_b4",
|
||||
FT_BOOLEAN, 8, NULL, 0x10,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_i,
|
||||
{ "VXLAN Network ID(VNI)", "vxlan.flag_i",
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_i,
|
||||
{ "VXLAN Network ID(VNI)", "vxlan.flag_i",
|
||||
FT_BOOLEAN, 8, TFS(&tfs_present_not_present), 0x08,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b2,
|
||||
{ "Reserved(R)", "vxlan.flag_b2",
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b2,
|
||||
{ "Reserved(R)", "vxlan.flag_b2",
|
||||
FT_BOOLEAN, 8, NULL, 0x10,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b1,
|
||||
{ "Reserved(R)", "vxlan.flag_b1",
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b1,
|
||||
{ "Reserved(R)", "vxlan.flag_b1",
|
||||
FT_BOOLEAN, 8, NULL, 0x10,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b0,
|
||||
{ "Reserved(R)", "vxlan.flag_b0",
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_flag_b0,
|
||||
{ "Reserved(R)", "vxlan.flag_b0",
|
||||
FT_BOOLEAN, 8, NULL, 0x10,
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_reserved_24,
|
||||
{ "Reserved", "vxlan.reserved24",
|
||||
FT_UINT24, BASE_HEX, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_vni,
|
||||
{ "VXLAN Network Identifier (VNI)", "vxlan.vni",
|
||||
FT_UINT24, BASE_DEC, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_reserved_8,
|
||||
{ "Reserved", "vxlan.reserved8",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
};
|
||||
NULL, HFILL,
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_reserved_24,
|
||||
{ "Reserved", "vxlan.reserved24",
|
||||
FT_UINT24, BASE_HEX, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_vni,
|
||||
{ "VXLAN Network Identifier (VNI)", "vxlan.vni",
|
||||
FT_UINT24, BASE_DEC, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
{ &hf_vxlan_reserved_8,
|
||||
{ "Reserved", "vxlan.reserved8",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x00,
|
||||
NULL, HFILL
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
/* Setup protocol subtree array */
|
||||
static gint *ett[] = {
|
||||
&ett_vxlan,
|
||||
&ett_vxlan_flgs,
|
||||
};
|
||||
/* Setup protocol subtree array */
|
||||
static gint *ett[] = {
|
||||
&ett_vxlan,
|
||||
&ett_vxlan_flgs,
|
||||
};
|
||||
|
||||
/* Register the protocol name and description */
|
||||
proto_vxlan = proto_register_protocol("Virtual eXtensible Local Area Network",
|
||||
"VXLAN", "vxlan");
|
||||
/* Register the protocol name and description */
|
||||
proto_vxlan = proto_register_protocol("Virtual eXtensible Local Area Network",
|
||||
"VXLAN", "vxlan");
|
||||
|
||||
/* Required function calls to register the header fields and subtrees used */
|
||||
proto_register_field_array(proto_vxlan, hf, array_length(hf));
|
||||
proto_register_subtree_array(ett, array_length(ett));
|
||||
/* Required function calls to register the header fields and subtrees used */
|
||||
proto_register_field_array(proto_vxlan, hf, array_length(hf));
|
||||
proto_register_subtree_array(ett, array_length(ett));
|
||||
|
||||
|
||||
}
|
||||
|
@ -218,7 +218,7 @@ proto_reg_handoff_vxlan(void)
|
|||
{
|
||||
dissector_handle_t vxlan_handle;
|
||||
|
||||
eth_handle = find_dissector("eth");
|
||||
eth_handle = find_dissector("eth");
|
||||
|
||||
vxlan_handle = create_dissector_handle(dissect_vxlan, proto_vxlan);
|
||||
dissector_add_handle("udp.port", vxlan_handle); /* For 'Decode As' */
|
||||
|
|
Loading…
Reference in New Issue