aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2009-05-26 16:01:12 +0000
committerBill Meier <wmeier@newsguy.com>2009-05-26 16:01:12 +0000
commit548e46895945dae484c388381687bf7b8e3a5e9c (patch)
tree7f0f3903258126f362c4ffd52388e8d041d38d5d /epan/dissectors
parenta3f8b9e4c05b86c2bcd2d20f6c0c0c2d7c6f21d0 (diff)
Misc dissector cleanup:
- Make some fcns & vars static - hf[] blurbs: "" and repeated text --> NULL - Move proto_register & proto_reg_handoff to end of source - packet-catapult-dct2000: simplify proto_reg_handoff - Use consistent indentation svn path=/trunk/; revision=28488
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-2dparityfec.c92
-rw-r--r--epan/dissectors/packet-ansi_637.c372
-rw-r--r--epan/dissectors/packet-ansi_801.c16
-rw-r--r--epan/dissectors/packet-catapult-dct2000.c30
-rw-r--r--epan/dissectors/packet-dis.c52
-rw-r--r--epan/dissectors/packet-juniper.c1242
-rw-r--r--epan/dissectors/packet-memcache.c2
-rw-r--r--epan/dissectors/packet-ms-mms.c158
-rw-r--r--epan/dissectors/packet-netflow.c168
-rw-r--r--epan/dissectors/packet-ptp.c682
-rw-r--r--epan/dissectors/packet-ssh.c54
-rw-r--r--epan/dissectors/packet-ucp.c42
12 files changed, 1458 insertions, 1452 deletions
diff --git a/epan/dissectors/packet-2dparityfec.c b/epan/dissectors/packet-2dparityfec.c
index 7f6c0dcb6b..2c24863331 100644
--- a/epan/dissectors/packet-2dparityfec.c
+++ b/epan/dissectors/packet-2dparityfec.c
@@ -69,7 +69,6 @@
#include <epan/prefs.h>
/* forward reference */
-void proto_register_2dparityfec(void);
void proto_reg_handoff_2dparityfec(void);
static gboolean dissect_fec = FALSE;
@@ -94,10 +93,10 @@ static int hf_2dparityfec_snbase_ext = -1;
static int hf_2dparityfec_payload = -1;
static const value_string fec_type_names[] = {
- {0, "XOR"},
- {1, "Hamming"},
- {2, "Reed-Solomon"},
- {0, NULL}
+ {0, "XOR"},
+ {1, "Hamming"},
+ {2, "Reed-Solomon"},
+ {0, NULL}
};
static void dissect_2dparityfec(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
@@ -168,6 +167,10 @@ static void dissect_2dparityfec(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
}
}
+void proto_register_2dparityfec(void)
+{
+ module_t *module_2dparityfec;
+
/* Payload type definitions */
static hf_register_info hf[] = {
{&hf_2dparityfec_snbase_low,
@@ -177,7 +180,7 @@ static hf_register_info hf[] = {
BASE_DEC,
NULL,
0x0,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_length_recovery,
@@ -187,7 +190,7 @@ static hf_register_info hf[] = {
BASE_HEX,
NULL,
0x0,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_rfc2733_ext,
@@ -197,7 +200,7 @@ static hf_register_info hf[] = {
8,
NULL,
0x80,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_pt_recovery,
@@ -207,7 +210,7 @@ static hf_register_info hf[] = {
BASE_HEX,
NULL,
0x7f,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_mask,
@@ -217,7 +220,7 @@ static hf_register_info hf[] = {
BASE_HEX,
NULL,
/*0x00ffffff*/0x0,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_ts_recovery,
@@ -227,7 +230,7 @@ static hf_register_info hf[] = {
BASE_HEX,
NULL,
0x0,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_ts_pro_mpeg_ext,
@@ -237,7 +240,7 @@ static hf_register_info hf[] = {
8,
NULL,
0x80,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_row_flag,
@@ -247,7 +250,7 @@ static hf_register_info hf[] = {
8,
NULL,
0x40,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_type,
@@ -257,7 +260,7 @@ static hf_register_info hf[] = {
BASE_DEC,
VALS(fec_type_names),
0x38,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_index,
@@ -267,7 +270,7 @@ static hf_register_info hf[] = {
BASE_DEC,
NULL,
0x07,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_offset,
@@ -277,7 +280,7 @@ static hf_register_info hf[] = {
BASE_DEC,
NULL,
0x0,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_na,
@@ -287,7 +290,7 @@ static hf_register_info hf[] = {
BASE_DEC,
NULL,
0x0,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_snbase_ext,
@@ -297,7 +300,7 @@ static hf_register_info hf[] = {
BASE_DEC,
NULL,
0x0,
- "",
+ NULL,
HFILL} },
{&hf_2dparityfec_payload,
@@ -307,7 +310,7 @@ static hf_register_info hf[] = {
BASE_HEX,
NULL,
0x0,
- "",
+ NULL,
HFILL} }
@@ -318,12 +321,8 @@ static gint *ett[] = {
&ett_2dparityfec,
};
-void proto_register_2dparityfec(void)
-{
- module_t *module_2dparityfec;
-
proto_2dparityfec = proto_register_protocol(
- "Pro-MPEG Code of Practice #3 release 2 FEC Protocol", /* name */
+ "Pro-MPEG Code of Practice #3 release 2 FEC Protocol", /* name */
"2dparityfec", /* short name */
"2dparityfec"); /* abbrev */
@@ -331,28 +330,41 @@ void proto_register_2dparityfec(void)
proto_register_subtree_array(ett, array_length(ett));
module_2dparityfec = prefs_register_protocol(proto_2dparityfec,
- proto_reg_handoff_2dparityfec);
+ proto_reg_handoff_2dparityfec);
prefs_register_bool_preference(module_2dparityfec, "enable",
- "Decode Pro-MPEG FEC on RTP dynamic payload type 96",
- "Enable this option to recognise all traffic on RTP dynamic payload type 96 (0x60) "
- "as FEC data corresponding to Pro-MPEG Code of Practice #3 release 2",
- &dissect_fec);
+ "Decode Pro-MPEG FEC on RTP dynamic payload type 96",
+ "Enable this option to recognise all traffic on RTP dynamic payload type 96 (0x60) "
+ "as FEC data corresponding to Pro-MPEG Code of Practice #3 release 2",
+ &dissect_fec);
}
void proto_reg_handoff_2dparityfec(void)
{
- static dissector_handle_t handle_2dparityfec = NULL;
-
- if (!handle_2dparityfec) {
- handle_2dparityfec = create_dissector_handle(dissect_2dparityfec,
- proto_2dparityfec);
- }
+ static dissector_handle_t handle_2dparityfec = NULL;
- if (dissect_fec) {
- dissector_add("rtp.pt", fec_rtp_payload_type, handle_2dparityfec);
- } else {
- dissector_delete("rtp.pt", fec_rtp_payload_type, handle_2dparityfec);
- }
+ if (!handle_2dparityfec) {
+ handle_2dparityfec = create_dissector_handle(dissect_2dparityfec,
+ proto_2dparityfec);
+ }
+
+ if (dissect_fec) {
+ dissector_add("rtp.pt", fec_rtp_payload_type, handle_2dparityfec);
+ } else {
+ dissector_delete("rtp.pt", fec_rtp_payload_type, handle_2dparityfec);
+ }
}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 3
+ * tab-width: 3
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=3 tabstop=3 noexpandtab
+ * :indentSize=3:tabSize=3:noTabs=false:
+ */
diff --git a/epan/dissectors/packet-ansi_637.c b/epan/dissectors/packet-ansi_637.c
index 1007bd5e81..11d310b5a4 100644
--- a/epan/dissectors/packet-ansi_637.c
+++ b/epan/dissectors/packet-ansi_637.c
@@ -220,7 +220,7 @@ static proto_tree *g_tree;
#define GN_CHAR_ESCAPE 0x1b
-gunichar gsm_default_alphabet[GN_CHAR_ALPHABET_SIZE] = {
+static gunichar gsm_default_alphabet[GN_CHAR_ALPHABET_SIZE] = {
/* ETSI GSM 03.38, version 6.0.1, section 6.2.1; Default alphabet */
/* Fixed to use unicode */
@@ -247,7 +247,7 @@ gunichar gsm_default_alphabet[GN_CHAR_ALPHABET_SIZE] = {
};
-gunichar IA5_default_alphabet[GN_CHAR_ALPHABET_SIZE] = {
+static gunichar IA5_default_alphabet[GN_CHAR_ALPHABET_SIZE] = {
/*ITU-T recommendation T.50 specifies International Reference Alphabet 5 (IA5) */
@@ -269,13 +269,13 @@ gunichar IA5_default_alphabet[GN_CHAR_ALPHABET_SIZE] = {
'x', 'y', 'z', '{', '|', '}', '~', '?'
};
-gboolean
+static gboolean
char_is_escape(unsigned char value)
{
return (value == GN_CHAR_ESCAPE);
}
-gunichar
+static gunichar
char_def_alphabet_ext_decode(unsigned char value)
{
switch (value)
@@ -294,7 +294,7 @@ char_def_alphabet_ext_decode(unsigned char value)
}
}
-gunichar
+static gunichar
char_def_alphabet_decode(unsigned char value)
{
if (value < GN_CHAR_ALPHABET_SIZE)
@@ -307,7 +307,7 @@ char_def_alphabet_decode(unsigned char value)
}
}
-void
+static void
gsm_sms_char_7bit_ascii_decode(unsigned char * dest, const unsigned char* src, int len)
{
int i, j;
@@ -331,7 +331,7 @@ gsm_sms_char_7bit_ascii_decode(unsigned char * dest, const unsigned char* src, i
-gunichar
+static gunichar
char_def_ia5_alphabet_decode(unsigned char value)
{
if (value < GN_CHAR_ALPHABET_SIZE)
@@ -344,7 +344,7 @@ char_def_ia5_alphabet_decode(unsigned char value)
}
}
-void
+static void
IA5_7BIT_decode(unsigned char * dest, const unsigned char* src, int len)
{
int i, j;
@@ -495,100 +495,100 @@ tele_param_msg_id(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset)
static void
tele_param_msg_status(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset)
{
- /* Declare some variables */
+ /* Declare some variables */
- guint8 oct;
- guint8 error_class;
+ guint8 oct;
+ guint8 error_class;
guint8 msg_status_code;
const gchar *str = NULL;
/* Chceck if the exact length */
- EXACT_DATA_CHECK(len, 1);
+ EXACT_DATA_CHECK(len, 1);
- /* get the status octet? */
+ /* get the status octet? */
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_guint8(tvb, offset);
- /* error class filter */
- proto_tree_add_item(tree, hf_ansi_637_tele_msg_status,tvb, offset, 1, FALSE);
+ /* error class filter */
+ proto_tree_add_item(tree, hf_ansi_637_tele_msg_status,tvb, offset, 1, FALSE);
- /*error class filter end */
+ /*error class filter end */
/*error class */
- error_class = ((oct & 0xc0) >> 6);
- switch (error_class)
+ error_class = ((oct & 0xc0) >> 6);
+ switch (error_class)
{
- case 0x00: str = "No Error";break;
- case 0x01: str = "Reserved";break;
- case 0x02: str = "Temporary Condition";break;
- case 0x03: str = "Permanent Condition";break;
- default: str = "Reserved";break;
- }
- other_decode_bitfield_value(ansi_637_bigbuf, oct, 0xc0, 8);
- proto_tree_add_text(tree, tvb, offset, 1,
- "%s : Erorr Class: %s",
- ansi_637_bigbuf,
- str);
+ case 0x00: str = "No Error";break;
+ case 0x01: str = "Reserved";break;
+ case 0x02: str = "Temporary Condition";break;
+ case 0x03: str = "Permanent Condition";break;
+ default: str = "Reserved";break;
+ }
+ other_decode_bitfield_value(ansi_637_bigbuf, oct, 0xc0, 8);
+ proto_tree_add_text(tree, tvb, offset, 1,
+ "%s : Erorr Class: %s",
+ ansi_637_bigbuf,
+ str);
- msg_status_code = (oct & 0x3f);
+ msg_status_code = (oct & 0x3f);
- if (error_class == 0x00){
+ if (error_class == 0x00){
switch (msg_status_code)
{
case 0x00: str = "Message accepted";break;
- case 0x01: str = "Message deposited to internet";break;
- case 0x02: str = "Message delivered";break;
- case 0x03: str = "Message cancelled";break;
- default: str = "Reserved";break;
- }
+ case 0x01: str = "Message deposited to internet";break;
+ case 0x02: str = "Message delivered";break;
+ case 0x03: str = "Message cancelled";break;
+ default: str = "Reserved";break;
+ }
other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x3f, 8);
proto_tree_add_text(tree, tvb, offset, 1,
- "%s : Message status code: %s",
- ansi_637_bigbuf,
- str);
- }
+ "%s : Message status code: %s",
+ ansi_637_bigbuf,
+ str);
+ }
/*error message status */
- if (error_class == 0x02){
- switch (msg_status_code)
- {
- case 0x04: str = "Network congestion";break;
- case 0x05: str = "Network error";break;
- case 0x1f: str = "Unknown error";break;
- default: str = "Reserved";break;
+ if (error_class == 0x02){
+ switch (msg_status_code)
+ {
+ case 0x04: str = "Network congestion";break;
+ case 0x05: str = "Network error";break;
+ case 0x1f: str = "Unknown error";break;
+ default: str = "Reserved";break;
+ }
+ other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x3f, 8);
+ proto_tree_add_text(tree, tvb, offset, 1,
+ "%s : Message status code: %s",
+ ansi_637_bigbuf,
+ str);
}
- other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x3f, 8);
- proto_tree_add_text(tree, tvb, offset, 1,
- "%s : Message status code: %s",
- ansi_637_bigbuf,
- str);
- }
- if (error_class == 0x03){
- switch (msg_status_code)
- {
- case 0x04: str = "Network congestion";break;
- case 0x05: str = "Network error";break;
- case 0x06: str = "Cancel failed";break;
- case 0x07: str = "Blocked destination";break;
- case 0x08: str = "Text too long";break;
- case 0x09: str = "Duplicate message";break;
- case 0x0a: str = "Invalid destination";break;
- case 0x0d: str = "Message expired";break;
- case 0x1f: str = "Unknown error";break;
- default: str = "Reserved";break;
+ if (error_class == 0x03){
+ switch (msg_status_code)
+ {
+ case 0x04: str = "Network congestion";break;
+ case 0x05: str = "Network error";break;
+ case 0x06: str = "Cancel failed";break;
+ case 0x07: str = "Blocked destination";break;
+ case 0x08: str = "Text too long";break;
+ case 0x09: str = "Duplicate message";break;
+ case 0x0a: str = "Invalid destination";break;
+ case 0x0d: str = "Message expired";break;
+ case 0x1f: str = "Unknown error";break;
+ default: str = "Reserved";break;
+ }
+ other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x3f, 8);
+ proto_tree_add_text(tree, tvb, offset, 1,
+ "%s : Message status code: %s",
+ ansi_637_bigbuf,
+ str);
}
- other_decode_bitfield_value(ansi_637_bigbuf, oct, 0x3f, 8);
- proto_tree_add_text(tree, tvb, offset, 1,
- "%s : Message status code: %s",
- ansi_637_bigbuf,
- str);
- }
}
@@ -606,9 +606,9 @@ tele_param_user_data(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset)
guint32 i , out_len;
const gchar *str = NULL;
- /*add more translation UCS , IA5 , latin , latin \ hebrew ,gsm 7BIT*/
- proto_item *ucs2_item;
- gchar *utf8_text = NULL;
+ /*add more translation UCS , IA5 , latin , latin \ hebrew ,gsm 7BIT*/
+ proto_item *ucs2_item;
+ gchar *utf8_text = NULL;
GIConv cd;
GError *l_conv_error = NULL;
@@ -751,113 +751,113 @@ tele_param_user_data(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset)
}
else if (encoding == 0x03)/* IA5 */
{
- i = (num_fields * 7) - 3;
- required_octs = (i / 8) + ((i % 8) ? 1 : 0);
-
- if (required_octs + used > len)
- {
- proto_tree_add_text(tree, tvb, offset, 1,
- "Missing %d octet(s) for number of fields",
- (required_octs + used) - len);
-
- return;
- }
-
- bit = 3;
- saved_offset = offset;
- out_len = decode_7_bits(tvb, &offset, num_fields, &oct, &bit, ansi_637_bigbuf);
- IA5_7BIT_decode(ia5_637_bigbuf, ansi_637_bigbuf, out_len);
-
- proto_tree_add_text(tree, tvb, saved_offset, offset - saved_offset,
- "Encoded user data: %s",
- ia5_637_bigbuf);
+ i = (num_fields * 7) - 3;
+ required_octs = (i / 8) + ((i % 8) ? 1 : 0);
+
+ if (required_octs + used > len)
+ {
+ proto_tree_add_text(tree, tvb, offset, 1,
+ "Missing %d octet(s) for number of fields",
+ (required_octs + used) - len);
+
+ return;
+ }
+
+ bit = 3;
+ saved_offset = offset;
+ out_len = decode_7_bits(tvb, &offset, num_fields, &oct, &bit, ansi_637_bigbuf);
+ IA5_7BIT_decode(ia5_637_bigbuf, ansi_637_bigbuf, out_len);
+
+ proto_tree_add_text(tree, tvb, saved_offset, offset - saved_offset,
+ "Encoded user data: %s",
+ ia5_637_bigbuf);
}
/*TODO UCS else if (encoding == 0x04)
{
}*/
else if (encoding == 0x07)/* Latin/Hebrew */
- {
- saved_offset = offset - 1;
- for (i=0; i < num_fields; i++)
- {
- oct = tvb_get_guint8(tvb, saved_offset);
- oct2 = tvb_get_guint8(tvb, saved_offset + 1);;
- ansi_637_bigbuf[i] = ((oct & 0x07) << 5) | ((oct2 & 0xf8) >> 3);
- saved_offset++;
- }
-
- if ((cd = g_iconv_open("UTF-8","iso-8859-8")) != (GIConv)-1)
- {
- utf8_text = g_convert_with_iconv(tvb->real_data + offset, num_fields , cd , NULL , NULL , &l_conv_error);
- if(!l_conv_error)
- {
- ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "Encoded user data: %s", utf8_text);
- }
- else
- {
- ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "%s", "Failed on iso-8859-8 contact Wireshark developers");
- }
- if(utf8_text)
- g_free(utf8_text);
- g_iconv_close(cd);
- }
- }
- else if (encoding == 0x08) /* Latin */
- {
- saved_offset = offset - 1;
- for (i=0; i < num_fields; i++)
- {
- oct = tvb_get_guint8(tvb, saved_offset);
- oct2 = tvb_get_guint8(tvb, saved_offset + 1);;
- ansi_637_bigbuf[i] = ((oct & 0x07) << 5) | ((oct2 & 0xf8) >> 3);
- saved_offset++;
- }
-
- if ((cd = g_iconv_open("UTF-8","iso-8859-1")) != (GIConv)-1)
- {
- utf8_text = g_convert_with_iconv(ansi_637_bigbuf , num_fields , cd , NULL , NULL , &l_conv_error);
- if(!l_conv_error)
- {
- ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "Encoded user data: %s", utf8_text);
- }
- else
- {
- ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "%s", "Failed on iso-8859-1 contact Wireshark developers");
- }
- if(utf8_text)
- g_free(utf8_text);
- g_iconv_close(cd);
- }
- }
- else if (encoding == 0x09) /* GSM 7-bit default alphabet */
- {
- i = (num_fields * 7) - 3;
- required_octs = (i / 8) + ((i % 8) ? 1 : 0);
+ {
+ saved_offset = offset - 1;
+ for (i=0; i < num_fields; i++)
+ {
+ oct = tvb_get_guint8(tvb, saved_offset);
+ oct2 = tvb_get_guint8(tvb, saved_offset + 1);;
+ ansi_637_bigbuf[i] = ((oct & 0x07) << 5) | ((oct2 & 0xf8) >> 3);
+ saved_offset++;
+ }
+
+ if ((cd = g_iconv_open("UTF-8","iso-8859-8")) != (GIConv)-1)
+ {
+ utf8_text = g_convert_with_iconv(tvb->real_data + offset, num_fields , cd , NULL , NULL , &l_conv_error);
+ if(!l_conv_error)
+ {
+ ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "Encoded user data: %s", utf8_text);
+ }
+ else
+ {
+ ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "%s", "Failed on iso-8859-8 contact Wireshark developers");
+ }
+ if(utf8_text)
+ g_free(utf8_text);
+ g_iconv_close(cd);
+ }
+ }
+ else if (encoding == 0x08) /* Latin */
+ {
+ saved_offset = offset - 1;
+ for (i=0; i < num_fields; i++)
+ {
+ oct = tvb_get_guint8(tvb, saved_offset);
+ oct2 = tvb_get_guint8(tvb, saved_offset + 1);;
+ ansi_637_bigbuf[i] = ((oct & 0x07) << 5) | ((oct2 & 0xf8) >> 3);
+ saved_offset++;
+ }
+
+ if ((cd = g_iconv_open("UTF-8","iso-8859-1")) != (GIConv)-1)
+ {
+ utf8_text = g_convert_with_iconv(ansi_637_bigbuf , num_fields , cd , NULL , NULL , &l_conv_error);
+ if(!l_conv_error)
+ {
+ ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "Encoded user data: %s", utf8_text);
+ }
+ else
+ {
+ ucs2_item = proto_tree_add_text(tree, tvb, offset, num_fields, "%s", "Failed on iso-8859-1 contact Wireshark developers");
+ }
+ if(utf8_text)
+ g_free(utf8_text);
+ g_iconv_close(cd);
+ }
+ }
+ else if (encoding == 0x09) /* GSM 7-bit default alphabet */
+ {
+ i = (num_fields * 7) - 3;
+ required_octs = (i / 8) + ((i % 8) ? 1 : 0);
- if (required_octs + used > len)
- {
- proto_tree_add_text(tree, tvb, offset, 1,
- "Missing %d octet(s) for number of fields",
- (required_octs + used) - len);
+ if (required_octs + used > len)
+ {
+ proto_tree_add_text(tree, tvb, offset, 1,
+ "Missing %d octet(s) for number of fields",
+ (required_octs + used) - len);
- return;
- }
+ return;
+ }
- bit = 3;
- saved_offset = offset;
- out_len = decode_7_bits(tvb, &offset, num_fields, &oct, &bit, ansi_637_bigbuf);
- gsm_sms_char_7bit_ascii_decode(gsm_637_bigbuf, ansi_637_bigbuf, out_len);
+ bit = 3;
+ saved_offset = offset;
+ out_len = decode_7_bits(tvb, &offset, num_fields, &oct, &bit, ansi_637_bigbuf);
+ gsm_sms_char_7bit_ascii_decode(gsm_637_bigbuf, ansi_637_bigbuf, out_len);
- proto_tree_add_text(tree, tvb, saved_offset, offset - saved_offset,
- "Encoded user data: %s",
- gsm_637_bigbuf);
+ proto_tree_add_text(tree, tvb, saved_offset, offset - saved_offset,
+ "Encoded user data: %s",
+ gsm_637_bigbuf);
- }
- else
+ }
+ else
{
- proto_tree_add_text(tree, tvb, offset, len - used,
- "Encoded user data");
+ proto_tree_add_text(tree, tvb, offset, len - used,
+ "Encoded user data");
}
}
@@ -954,11 +954,11 @@ tele_param_rel_timestamp(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 off
}
static const value_string tele_param_pri_ind_strings[] = {
- { 0, "Normal" },
- { 1, "Interactive" },
- { 2, "Urgent" },
- { 3, "Emergency" },
- { 0, NULL }
+ { 0, "Normal" },
+ { 1, "Interactive" },
+ { 2, "Urgent" },
+ { 3, "Emergency" },
+ { 0, NULL }
};
static void
@@ -2278,19 +2278,19 @@ proto_register_ansi_637(void)
{ "Message Type",
"ansi_637_trans.msg_type",
FT_UINT24, BASE_DEC, VALS(ansi_trans_msg_type_strings), 0xf00000,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_trans_param_id,
{ "Transport Param ID", "ansi_637_trans.param_id",
FT_UINT8, BASE_DEC, VALS(ansi_trans_param_strings), 0,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_trans_length,
{ "Length", "ansi_637_trans.len",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_trans_bin_addr,
{ "Binary Address", "ansi_637_trans.bin_addr",
FT_BYTES, BASE_HEX, 0, 0,
- "", HFILL }},
+ NULL, HFILL }},
};
static hf_register_info hf_tele[] =
{
@@ -2298,30 +2298,30 @@ proto_register_ansi_637(void)
{ "Message Type",
"ansi_637_tele.msg_type",
FT_UINT24, BASE_DEC, VALS(ansi_tele_msg_type_strings), 0xf00000,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_tele_msg_id,
{ "Message ID",
"ansi_637_tele.msg_id",
FT_UINT24, BASE_DEC, NULL, 0x0ffff0,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_tele_msg_status,
{ "Message Status",
"ansi_637_tele.msg_status",
FT_UINT8, BASE_DEC, VALS(ansi_tele_msg_status_strings), 0,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_tele_msg_rsvd,
{ "Reserved",
"ansi_637_tele.msg_rsvd",
FT_UINT24, BASE_DEC, NULL, 0x00000f,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_tele_length,
{ "Length", "ansi_637_tele.len",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }},
+ NULL, HFILL }},
{ &hf_ansi_637_tele_subparam_id,
{ "Teleservice Subparam ID", "ansi_637_tele.subparam_id",
FT_UINT8, BASE_DEC, VALS(ansi_tele_param_strings), 0,
- "", HFILL }},
+ NULL, HFILL }},
};
/* Setup protocol subtree array */
diff --git a/epan/dissectors/packet-ansi_801.c b/epan/dissectors/packet-ansi_801.c
index 7800c13760..fd7df213d8 100644
--- a/epan/dissectors/packet-ansi_801.c
+++ b/epan/dissectors/packet-ansi_801.c
@@ -93,7 +93,7 @@ static const guint8 global_bit_mask[] = {
0xff
};
-guint64
+static guint64
ansi_801_tvb_get_bits(tvbuff_t *tvb, guint32 *offset_p, guint8 *bit_offset_p, guint8 num_bits)
{
guint64 bits;
@@ -2504,37 +2504,37 @@ proto_register_ansi_801(void)
{ &hf_ansi_801_for_req_type,
{ "Forward Request Type", "ansi_801.for_req_type",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ansi_801_for_rsp_type,
{ "Forward Response Type", "ansi_801.for_rsp_type",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ansi_801_rev_req_type,
{ "Reverse Request Type", "ansi_801.rev_req_type",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ansi_801_rev_rsp_type,
{ "Reverse Response Type", "ansi_801.rev_rsp_type",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ansi_801_for_sess_tag,
{ "Forward Session Tag", "ansi_801.for_sess_tag",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ansi_801_rev_sess_tag,
{ "Reverse Session Tag", "ansi_801.rev_sess_tag",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ansi_801_sess_tag,
{ "Session Tag", "ansi_801.sess_tag",
FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
+ NULL, HFILL }
},
};
diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c
index 49e813735b..34505967bd 100644
--- a/epan/dissectors/packet-catapult-dct2000.c
+++ b/epan/dissectors/packet-catapult-dct2000.c
@@ -619,7 +619,7 @@ static gboolean find_sctpprim_variant3_data_offset(tvbuff_t *tvb, int *data_offs
/* Dissect an RRC LTE frame by first parsing the header entries then passing
the data to the RRC dissector, according to direction and channel type.
TODO: factor out common code between this function and dissect_pdcp_lte() */
-void dissect_rrc_lte(tvbuff_t *tvb, gint offset,
+static void dissect_rrc_lte(tvbuff_t *tvb, gint offset,
packet_info *pinfo _U_, proto_tree *tree)
{
guint8 tag;
@@ -813,7 +813,7 @@ void dissect_rrc_lte(tvbuff_t *tvb, gint offset,
/* Dissect a PDCP LTE frame by first parsing the RLCPrim header then passing
the data to the PDCP LTE dissector */
-void dissect_pdcp_lte(tvbuff_t *tvb, gint offset,
+static void dissect_pdcp_lte(tvbuff_t *tvb, gint offset,
packet_info *pinfo, proto_tree *tree)
{
guint8 opcode;
@@ -1013,7 +1013,7 @@ void dissect_pdcp_lte(tvbuff_t *tvb, gint offset,
/* Look up dissector by protocol name. Fix up known name mis-matches.
This includes exact matches and prefixes (e.g. "diameter_rx" -> "diameter") */
-dissector_handle_t look_for_dissector(char *protocol_name)
+static dissector_handle_t look_for_dissector(char *protocol_name)
{
/* Use known aliases and protocol name prefixes */
if (strcmp(protocol_name, "tbcp") == 0)
@@ -1106,7 +1106,7 @@ dissector_handle_t look_for_dissector(char *protocol_name)
/* Populate outhdr_values array with numbers found in outhdr_string */
-void parse_outhdr_string(const guchar *outhdr_string)
+static void parse_outhdr_string(const guchar *outhdr_string)
{
int n = 0;
guint outhdr_string_len = (guint)strlen((gchar*)outhdr_string);
@@ -1469,7 +1469,7 @@ static void attach_pdcp_lte_info(packet_info *pinfo)
/* Attempt to show tty (raw character messages) as text lines. */
-void dissect_tty_lines(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
+static void dissect_tty_lines(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
{
gint next_offset;
proto_tree *tty_tree;
@@ -2161,19 +2161,13 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/******************************************************************************/
void proto_reg_handoff_catapult_dct2000(void)
{
- static gboolean have_cached_handles = FALSE;
dissector_handle_t catapult_dct2000_handle = find_dissector("dct2000");
- dissector_add("wtap_encap", WTAP_ENCAP_CATAPULT_DCT2000,
- catapult_dct2000_handle);
- /* Cache some protocol handles that we don't want to keep looking up */
- if (!have_cached_handles) {
- mac_lte_handle = find_dissector("mac-lte");
- rlc_lte_handle = find_dissector("rlc-lte");
- pdcp_lte_handle = find_dissector("pdcp-lte");
+ dissector_add("wtap_encap", WTAP_ENCAP_CATAPULT_DCT2000, catapult_dct2000_handle);
- have_cached_handles = TRUE;
- }
+ mac_lte_handle = find_dissector("mac-lte");
+ rlc_lte_handle = find_dissector("rlc-lte");
+ pdcp_lte_handle = find_dissector("pdcp-lte");
}
/****************************************/
@@ -2192,7 +2186,7 @@ void proto_register_catapult_dct2000(void)
{ &hf_catapult_dct2000_port_number,
{ "Context Port number",
"dct2000.context_port", FT_UINT8, BASE_DEC, NULL, 0x0,
- "Context port number", HFILL
+ NULL, HFILL
}
},
{ &hf_catapult_dct2000_timestamp,
@@ -2247,7 +2241,7 @@ void proto_register_catapult_dct2000(void)
{ &hf_catapult_dct2000_ipprim_addresses,
{ "IPPrim Addresses",
"dct2000.ipprim", FT_STRING, BASE_NONE, NULL, 0x0,
- "IPPrim Addresses", HFILL
+ NULL, HFILL
}
},
{ &hf_catapult_dct2000_ipprim_src_addr_v4,
@@ -2375,7 +2369,7 @@ void proto_register_catapult_dct2000(void)
{ &hf_catapult_dct2000_tty_line,
{ "tty line",
"dct2000.tty-line", FT_STRING, BASE_NONE, NULL, 0x0,
- "tty line", HFILL
+ NULL, HFILL
}
},
diff --git a/epan/dissectors/packet-dis.c b/epan/dissectors/packet-dis.c
index 1ac4257faa..7df8e81e20 100644
--- a/epan/dissectors/packet-dis.c
+++ b/epan/dissectors/packet-dis.c
@@ -45,7 +45,6 @@
#include <stdio.h>
#include <epan/packet.h>
-#include <epan/value_string.h>
#include <epan/prefs.h>
#include "packet-dis-enums.h"
#include "packet-dis-pdus.h"
@@ -152,32 +151,10 @@ static gint dissect_dis(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
return tvb_length(tvb);
}
-/* Register handoff routine for DIS dissector. This will be invoked initially
- * and when the preferences are changed, to handle changing the UDP port for
- * which this dissector is registered.
- */
-void proto_reg_handoff_dis(void)
-{
- static gboolean dis_prefs_initialized = FALSE;
- static dissector_handle_t dis_dissector_handle;
- static guint saved_dis_udp_port;
-
- if (!dis_prefs_initialized)
- {
- dis_dissector_handle = new_create_dissector_handle(dissect_dis, proto_dis);
- dis_prefs_initialized = TRUE;
- }
- else
- {
- dissector_delete("udp.port", saved_dis_udp_port, dis_dissector_handle);
- }
-
- dissector_add("udp.port", dis_udp_port, dis_dissector_handle);
- saved_dis_udp_port = dis_udp_port;
-}
-
/* Registration routine for the DIS protocol.
*/
+void proto_reg_handoff_dis(void);
+
void proto_register_dis(void)
{
/* Only these 3 ett variables will be present for every DIS PDU --
@@ -210,3 +187,28 @@ void proto_register_dis(void)
*/
initializeParsers();
}
+
+/* Register handoff routine for DIS dissector. This will be invoked initially
+ * and when the preferences are changed, to handle changing the UDP port for
+ * which this dissector is registered.
+ */
+void proto_reg_handoff_dis(void)
+{
+ static gboolean dis_prefs_initialized = FALSE;
+ static dissector_handle_t dis_dissector_handle;
+ static guint saved_dis_udp_port;
+
+ if (!dis_prefs_initialized)
+ {
+ dis_dissector_handle = new_create_dissector_handle(dissect_dis, proto_dis);
+ dis_prefs_initialized = TRUE;
+ }
+ else
+ {
+ dissector_delete("udp.port", saved_dis_udp_port, dis_dissector_handle);
+ }
+
+ dissector_add("udp.port", dis_udp_port, dis_dissector_handle);
+ saved_dis_udp_port = dis_udp_port;
+}
+
diff --git a/epan/dissectors/packet-juniper.c b/epan/dissectors/packet-juniper.c
index 5067f30406..a3459ac143 100644
--- a/epan/dissectors/packet-juniper.c
+++ b/epan/dissectors/packet-juniper.c
@@ -82,27 +82,27 @@
#define EXT_TLV_TTP_IFL_ENCAPS 8
static const value_string ext_tlv_vals[] = {
- { EXT_TLV_IFD_IDX, "Device Interface Index" },
- { EXT_TLV_IFD_NAME, "Device Interface Name" },
- { EXT_TLV_IFD_MEDIATYPE, "Device Media Type" },
- { EXT_TLV_IFL_IDX, "Logical Interface Index" },
- { EXT_TLV_IFL_UNIT, "Logical Unit Number" },
- { EXT_TLV_IFL_ENCAPS, "Logical Interface Encapsulation" },
- { EXT_TLV_TTP_IFD_MEDIATYPE, "TTP derived Device Media Type" },
- { EXT_TLV_TTP_IFL_ENCAPS, "TTP derived Logical Interface Encapsulation" },
- { 0, NULL }
+ { EXT_TLV_IFD_IDX, "Device Interface Index" },
+ { EXT_TLV_IFD_NAME, "Device Interface Name" },
+ { EXT_TLV_IFD_MEDIATYPE, "Device Media Type" },
+ { EXT_TLV_IFL_IDX, "Logical Interface Index" },
+ { EXT_TLV_IFL_UNIT, "Logical Unit Number" },
+ { EXT_TLV_IFL_ENCAPS, "Logical Interface Encapsulation" },
+ { EXT_TLV_TTP_IFD_MEDIATYPE, "TTP derived Device Media Type" },
+ { EXT_TLV_TTP_IFL_ENCAPS, "TTP derived Logical Interface Encapsulation" },
+ { 0, NULL }
};
static const value_string juniper_direction_vals[] = {
- {JUNIPER_FLAG_PKT_OUT, "Out"},
- {JUNIPER_FLAG_PKT_IN, "In"},
- {0, NULL}
+ {JUNIPER_FLAG_PKT_OUT, "Out"},
+ {JUNIPER_FLAG_PKT_IN, "In"},
+ {0, NULL}
};
static const value_string juniper_l2hdr_presence_vals[] = {
- { 0, "Present"},
- { 2, "none"},
- {0, NULL}
+ { 0, "Present"},
+ { 2, "none"},
+ {0, NULL}
};
#define JUNIPER_IFML_ETHER 1
@@ -167,59 +167,59 @@ static const value_string juniper_l2hdr_presence_vals[] = {
#define JUNIPER_IFML_PICPEER 60
static const value_string juniper_ifmt_vals[] = {
- { JUNIPER_IFML_ETHER, "Ethernet" },
- { JUNIPER_IFML_FDDI, "FDDI" },
- { JUNIPER_IFML_TOKENRING, "Token-Ring" },
- { JUNIPER_IFML_PPP, "PPP" },
- { JUNIPER_IFML_PPP_SUBORDINATE, "PPP-Subordinate" },
- { JUNIPER_IFML_FRAMERELAY, "Frame-Relay" },
- { JUNIPER_IFML_CISCOHDLC, "Cisco-HDLC" },
- { JUNIPER_IFML_SMDSDXI, "SMDS-DXI" },
- { JUNIPER_IFML_ATMPVC, "ATM-PVC" },
- { JUNIPER_IFML_PPP_CCC, "PPP-CCC" },
- { JUNIPER_IFML_FRAMERELAY_CCC, "Frame-Relay-CCC" },
- { JUNIPER_IFML_FRAMERELAY_EXT_CCC, "Extended FR-CCC" },
- { JUNIPER_IFML_IPIP, "IP-over-IP" },
- { JUNIPER_IFML_GRE, "GRE" },
- { JUNIPER_IFML_PIM, "PIM-Encapsulator" },
- { JUNIPER_IFML_PIMD, "PIM-Decapsulator" },
- { JUNIPER_IFML_CISCOHDLC_CCC, "Cisco-HDLC-CCC" },
- { JUNIPER_IFML_VLAN_CCC, "VLAN-CCC" },
- { JUNIPER_IFML_EXTENDED_VLAN_CCC, "Extended-VLAN-CCC" },
- { JUNIPER_IFML_MLPPP, "Multilink-PPP" },
- { JUNIPER_IFML_MLFR, "Multilink-FR" },
- { JUNIPER_IFML_MFR, "Multilink-FR-UNI-NNI" },
- { JUNIPER_IFML_ML, "Multilink" },
- { JUNIPER_IFML_LS, "LinkService" },
- { JUNIPER_IFML_LSI, "LSI" },
- { JUNIPER_IFML_ATM_CELLRELAY_CCC, "ATM-CCC-Cell-Relay" },
- { JUNIPER_IFML_CRYPTO, "IPSEC-over-IP" },
- { JUNIPER_IFML_GGSN, "GGSN" },
- { JUNIPER_IFML_PPP_TCC, "PPP-TCC" },
- { JUNIPER_IFML_FRAMERELAY_TCC, "Frame-Relay-TCC" },
- { JUNIPER_IFML_FRAMERELAY_EXT_TCC, "Extended FR-TCC" },
- { JUNIPER_IFML_CISCOHDLC_TCC, "Cisco-HDLC-TCC" },
- { JUNIPER_IFML_ETHERNET_CCC, "Ethernet-CCC" },
- { JUNIPER_IFML_VT, "VPN-Loopback-tunnel" },
- { JUNIPER_IFML_ETHER_OVER_ATM, "Ethernet-over-ATM" },
- { JUNIPER_IFML_ETHER_VPLS_OVER_ATM, "Ethernet-VPLS-over-ATM" },
- { JUNIPER_IFML_MONITOR, "Monitor" },
- { JUNIPER_IFML_ETHERNET_TCC, "Ethernet-TCC" },
- { JUNIPER_IFML_VLAN_TCC, "VLAN-TCC" },
- { JUNIPER_IFML_EXTENDED_VLAN_TCC, "Extended-VLAN-TCC" },
- { JUNIPER_IFML_CONTROLLER, "Controller" },
- { JUNIPER_IFML_ETHERNET_VPLS, "VPLS" },
- { JUNIPER_IFML_ETHERNET_VLAN_VPLS, "VLAN-VPLS" },
- { JUNIPER_IFML_ETHERNET_EXTENDED_VLAN_VPLS, "Extended-VLAN-VPLS" },
- { JUNIPER_IFML_LT, "Logical-tunnel" },
- { JUNIPER_IFML_SERVICES, "General-Services" },
- { JUNIPER_IFML_PPPOE, "PPPoE" },
- { JUNIPER_IFML_ETHERNET_FLEX, "Flexible-Ethernet-Services" },
- { JUNIPER_IFML_FRAMERELAY_FLEX, "Flexible-FrameRelay" },
- { JUNIPER_IFML_COLLECTOR, "Flow-collection" },
- { JUNIPER_IFML_PICPEER, "PIC Peer" },
- { JUNIPER_IFML_DFC, "Dynamic-Flow-Capture" },
- {0, NULL}
+ { JUNIPER_IFML_ETHER, "Ethernet" },
+ { JUNIPER_IFML_FDDI, "FDDI" },
+ { JUNIPER_IFML_TOKENRING, "Token-Ring" },
+ { JUNIPER_IFML_PPP, "PPP" },
+ { JUNIPER_IFML_PPP_SUBORDINATE, "PPP-Subordinate" },
+ { JUNIPER_IFML_FRAMERELAY, "Frame-Relay" },
+ { JUNIPER_IFML_CISCOHDLC, "Cisco-HDLC" },
+ { JUNIPER_IFML_SMDSDXI, "SMDS-DXI" },
+ { JUNIPER_IFML_ATMPVC, "ATM-PVC" },
+ { JUNIPER_IFML_PPP_CCC, "PPP-CCC" },
+ { JUNIPER_IFML_FRAMERELAY_CCC, "Frame-Relay-CCC" },
+ { JUNIPER_IFML_FRAMERELAY_EXT_CCC, "Extended FR-CCC" },
+ { JUNIPER_IFML_IPIP, "IP-over-IP" },
+ { JUNIPER_IFML_GRE, "GRE" },
+ { JUNIPER_IFML_PIM, "PIM-Encapsulator" },
+ { JUNIPER_IFML_PIMD, "PIM-Decapsulator" },
+ { JUNIPER_IFML_CISCOHDLC_CCC, "Cisco-HDLC-CCC" },
+ { JUNIPER_IFML_VLAN_CCC, "VLAN-CCC" },
+ { JUNIPER_IFML_EXTENDED_VLAN_CCC, "Extended-VLAN-CCC" },
+ { JUNIPER_IFML_MLPPP, "Multilink-PPP" },
+ { JUNIPER_IFML_MLFR, "Multilink-FR" },
+ { JUNIPER_IFML_MFR, "Multilink-FR-UNI-NNI" },
+ { JUNIPER_IFML_ML, "Multilink" },
+ { JUNIPER_IFML_LS, "LinkService" },
+ { JUNIPER_IFML_LSI, "LSI" },
+ { JUNIPER_IFML_ATM_CELLRELAY_CCC, "ATM-CCC-Cell-Relay" },
+ { JUNIPER_IFML_CRYPTO, "IPSEC-over-IP" },
+ { JUNIPER_IFML_GGSN, "GGSN" },
+ { JUNIPER_IFML_PPP_TCC, "PPP-TCC" },
+ { JUNIPER_IFML_FRAMERELAY_TCC, "Frame-Relay-TCC" },
+ { JUNIPER_IFML_FRAMERELAY_EXT_TCC, "Extended FR-TCC" },
+ { JUNIPER_IFML_CISCOHDLC_TCC, "Cisco-HDLC-TCC" },
+ { JUNIPER_IFML_ETHERNET_CCC, "Ethernet-CCC" },
+ { JUNIPER_IFML_VT, "VPN-Loopback-tunnel" },
+ { JUNIPER_IFML_ETHER_OVER_ATM, "Ethernet-over-ATM" },
+ { JUNIPER_IFML_ETHER_VPLS_OVER_ATM, "Ethernet-VPLS-over-ATM" },
+ { JUNIPER_IFML_MONITOR, "Monitor" },
+ { JUNIPER_IFML_ETHERNET_TCC, "Ethernet-TCC" },
+ { JUNIPER_IFML_VLAN_TCC, "VLAN-TCC" },
+ { JUNIPER_IFML_EXTENDED_VLAN_TCC, "Extended-VLAN-TCC" },
+ { JUNIPER_IFML_CONTROLLER, "Controller" },
+ { JUNIPER_IFML_ETHERNET_VPLS, "VPLS" },
+ { JUNIPER_IFML_ETHERNET_VLAN_VPLS, "VLAN-VPLS" },
+ { JUNIPER_IFML_ETHERNET_EXTENDED_VLAN_VPLS, "Extended-VLAN-VPLS" },
+ { JUNIPER_IFML_LT, "Logical-tunnel" },
+ { JUNIPER_IFML_SERVICES, "General-Services" },
+ { JUNIPER_IFML_PPPOE, "PPPoE" },
+ { JUNIPER_IFML_ETHERNET_FLEX, "Flexible-Ethernet-Services" },
+ { JUNIPER_IFML_FRAMERELAY_FLEX, "Flexible-FrameRelay" },
+ { JUNIPER_IFML_COLLECTOR, "Flow-collection" },
+ { JUNIPER_IFML_PICPEER, "PIC Peer" },
+ { JUNIPER_IFML_DFC, "Dynamic-Flow-Capture" },
+ {0, NULL}
};
#define JUNIPER_IFLE_ATM_SNAP 2
@@ -290,68 +290,68 @@ static const value_string juniper_ifmt_vals[] = {
#define JUNIPER_IFLE_PICPEER 67
static const value_string juniper_ifle_vals[] = {
- { JUNIPER_IFLE_AGGREGATOR, "Aggregator" },
- { JUNIPER_IFLE_ATM_CCC, "CCC over ATM" },
- { JUNIPER_IFLE_ATM_CELLRELAY_CCC, "ATM CCC Cell Relay" },
- { JUNIPER_IFLE_ATM_CISCO_NLPID, "CISCO compatible NLPID" },
- { JUNIPER_IFLE_ATM_EOA_CCC, "Ethernet over ATM CCC" },
- { JUNIPER_IFLE_ATM_EOA_LLC, "Ethernet over ATM LLC" },
- { JUNIPER_IFLE_ATM_ETHER_VPLS_ATM_LLC, "Ethernet VPLS over ATM LLC" },
- { JUNIPER_IFLE_ATM_LLC, "ATM LLC" },
- { JUNIPER_IFLE_ATM_MLPPP_LLC, "MLPPP over ATM LLC" },
- { JUNIPER_IFLE_ATM_NLPID, "ATM NLPID" },
- { JUNIPER_IFLE_ATM_PPPOE_LLC, "PPPoE over ATM LLC" },
- { JUNIPER_IFLE_ATM_PPP_FUNI, "PPP over FUNI" },
- { JUNIPER_IFLE_ATM_PPP_LLC, "PPP over ATM LLC" },
- { JUNIPER_IFLE_ATM_PPP_VCMUX, "PPP over ATM VCMUX" },
- { JUNIPER_IFLE_ATM_SNAP, "ATM SNAP" },
- { JUNIPER_IFLE_ATM_SNAP_TCC, "ATM SNAP TCC" },
- { JUNIPER_IFLE_ATM_TCC, "ATM VCMUX TCC" },
- { JUNIPER_IFLE_ATM_VCMUX, "ATM VCMUX" },
- { JUNIPER_IFLE_CISCOHDLC, "C-HDLC" },
- { JUNIPER_IFLE_CISCOHDLC_CCC, "C-HDLC CCC" },
- { JUNIPER_IFLE_CISCOHDLC_SUBORDINATE, "C-HDLC via dialer" },
- { JUNIPER_IFLE_CISCOHDLC_TCC, "C-HDLC TCC" },
- { JUNIPER_IFLE_COLLECTOR, "Collector" },
- { JUNIPER_IFLE_CRYPTO, "Crypto" },
- { JUNIPER_IFLE_ENET2, "Ethernet" },
- { JUNIPER_IFLE_ETHERNET_CCC, "Ethernet CCC" },
- { JUNIPER_IFLE_ETHERNET_EXTENDED_VLAN_VPLS, "Extended VLAN VPLS" },
- { JUNIPER_IFLE_ETHERNET_PPPOE, "PPPoE over Ethernet" },
- { JUNIPER_IFLE_ETHERNET_TCC, "Ethernet TCC" },
- { JUNIPER_IFLE_ETHERNET_VLAN_VPLS, "VLAN VPLS" },
- { JUNIPER_IFLE_ETHERNET_VPLS, "VPLS" },
- { JUNIPER_IFLE_EXTENDED_VLAN_CCC, "Extended VLAN CCC" },
- { JUNIPER_IFLE_EXTENDED_VLAN_TCC, "Extended VLAN TCC" },
- { JUNIPER_IFLE_FR_CCC, "FR CCC" },
- { JUNIPER_IFLE_FR_NLPID, "FR NLPID" },
- { JUNIPER_IFLE_FR_PORT_CCC, "FR CCC" },
- { JUNIPER_IFLE_FR_PPP, "FR PPP" },
- { JUNIPER_IFLE_FR_SNAP, "FR SNAP" },
- { JUNIPER_IFLE_FR_TCC, "FR TCC" },
- { JUNIPER_IFLE_GGSN, "GGSN" },
- { JUNIPER_IFLE_GRE_NULL, "GRE NULL" },
- { JUNIPER_IFLE_GRE_PPP, "PPP over GRE" },
- { JUNIPER_IFLE_IPIP_NULL, "IPIP" },
- { JUNIPER_IFLE_LAPD, "LAPD" },
- { JUNIPER_IFLE_LSI_NULL, "LSI Null" },
- { JUNIPER_IFLE_LT_VLAN, "LT VLAN" },
- { JUNIPER_IFLE_MFR, "MFR" },
- { JUNIPER_IFLE_MLFR, "MLFR" },
- { JUNIPER_IFLE_MLPPP, "MLPPP" },
- { JUNIPER_IFLE_MONITOR, "Monitor" },
- { JUNIPER_IFLE_PIMD_DECAPS, "PIMd" },
- { JUNIPER_IFLE_PIM_NULL, "PIM Null" },
- { JUNIPER_IFLE_PPP, "PPP" },
- { JUNIPER_IFLE_PPPOE, "PPPoE" },
- { JUNIPER_IFLE_PPP_CCC, "PPP CCC" },
- { JUNIPER_IFLE_PPP_SUBORDINATE, "" },
- { JUNIPER_IFLE_PPP_TCC, "PPP TCC" },
- { JUNIPER_IFLE_SERVICES, "General Services" },
- { JUNIPER_IFLE_VLAN_CCC, "VLAN CCC" },
- { JUNIPER_IFLE_VLAN_TCC, "VLAN TCC" },
- { JUNIPER_IFLE_VT, "VT" },
- {0, NULL}
+ { JUNIPER_IFLE_AGGREGATOR, "Aggregator" },
+ { JUNIPER_IFLE_ATM_CCC, "CCC over ATM" },
+ { JUNIPER_IFLE_ATM_CELLRELAY_CCC, "ATM CCC Cell Relay" },
+ { JUNIPER_IFLE_ATM_CISCO_NLPID, "CISCO compatible NLPID" },
+ { JUNIPER_IFLE_ATM_EOA_CCC, "Ethernet over ATM CCC" },
+ { JUNIPER_IFLE_ATM_EOA_LLC, "Ethernet over ATM LLC" },
+ { JUNIPER_IFLE_ATM_ETHER_VPLS_ATM_LLC, "Ethernet VPLS over ATM LLC" },
+ { JUNIPER_IFLE_ATM_LLC, "ATM LLC" },
+ { JUNIPER_IFLE_ATM_MLPPP_LLC, "MLPPP over ATM LLC" },
+ { JUNIPER_IFLE_ATM_NLPID, "ATM NLPID" },
+ { JUNIPER_IFLE_ATM_PPPOE_LLC, "PPPoE over ATM LLC" },
+ { JUNIPER_IFLE_ATM_PPP_FUNI, "PPP over FUNI" },
+ { JUNIPER_IFLE_ATM_PPP_LLC, "PPP over ATM LLC" },
+ { JUNIPER_IFLE_ATM_PPP_VCMUX, "PPP over ATM VCMUX" },
+ { JUNIPER_IFLE_ATM_SNAP, "ATM SNAP" },
+ { JUNIPER_IFLE_ATM_SNAP_TCC, "ATM SNAP TCC" },
+ { JUNIPER_IFLE_ATM_TCC, "ATM VCMUX TCC" },
+ { JUNIPER_IFLE_ATM_VCMUX, "ATM VCMUX" },
+ { JUNIPER_IFLE_CISCOHDLC, "C-HDLC" },
+ { JUNIPER_IFLE_CISCOHDLC_CCC, "C-HDLC CCC" },
+ { JUNIPER_IFLE_CISCOHDLC_SUBORDINATE, "C-HDLC via dialer" },
+ { JUNIPER_IFLE_CISCOHDLC_TCC, "C-HDLC TCC" },
+ { JUNIPER_IFLE_COLLECTOR, "Collector" },
+ { JUNIPER_IFLE_CRYPTO, "Crypto" },
+ { JUNIPER_IFLE_ENET2, "Ethernet" },
+ { JUNIPER_IFLE_ETHERNET_CCC, "Ethernet CCC" },
+ { JUNIPER_IFLE_ETHERNET_EXTENDED_VLAN_VPLS, "Extended VLAN VPLS" },
+ { JUNIPER_IFLE_ETHERNET_PPPOE, "PPPoE over Ethernet" },
+ { JUNIPER_IFLE_ETHERNET_TCC, "Ethernet TCC" },
+ { JUNIPER_IFLE_ETHERNET_VLAN_VPLS, "VLAN VPLS" },
+ { JUNIPER_IFLE_ETHERNET_VPLS, "VPLS" },
+ { JUNIPER_IFLE_EXTENDED_VLAN_CCC, "Extended VLAN CCC" },
+ { JUNIPER_IFLE_EXTENDED_VLAN_TCC, "Extended VLAN TCC" },
+ { JUNIPER_IFLE_FR_CCC, "FR CCC" },
+ { JUNIPER_IFLE_FR_NLPID, "FR NLPID" },
+ { JUNIPER_IFLE_FR_PORT_CCC, "FR CCC" },
+ { JUNIPER_IFLE_FR_PPP, "FR PPP" },
+ { JUNIPER_IFLE_FR_SNAP, "FR SNAP" },
+ { JUNIPER_IFLE_FR_TCC, "FR TCC" },
+ { JUNIPER_IFLE_GGSN, "GGSN" },
+ { JUNIPER_IFLE_GRE_NULL, "GRE NULL" },
+ { JUNIPER_IFLE_GRE_PPP, "PPP over GRE" },
+ { JUNIPER_IFLE_IPIP_NULL, "IPIP" },
+ { JUNIPER_IFLE_LAPD, "LAPD" },
+ { JUNIPER_IFLE_LSI_NULL, "LSI Null" },
+ { JUNIPER_IFLE_LT_VLAN, "LT VLAN" },
+ { JUNIPER_IFLE_MFR, "MFR" },
+ { JUNIPER_IFLE_MLFR, "MLFR" },
+ { JUNIPER_IFLE_MLPPP, "MLPPP" },
+ { JUNIPER_IFLE_MONITOR, "Monitor" },
+ { JUNIPER_IFLE_PIMD_DECAPS, "PIMd" },
+ { JUNIPER_IFLE_PIM_NULL, "PIM Null" },
+ { JUNIPER_IFLE_PPP, "PPP" },
+ { JUNIPER_IFLE_PPPOE, "PPPoE" },
+ { JUNIPER_IFLE_PPP_CCC, "PPP CCC" },
+ { JUNIPER_IFLE_PPP_SUBORDINATE, "" },
+ { JUNIPER_IFLE_PPP_TCC, "PPP TCC" },
+ { JUNIPER_IFLE_SERVICES, "General Services" },
+ { JUNIPER_IFLE_VLAN_CCC, "VLAN CCC" },
+ { JUNIPER_IFLE_VLAN_TCC, "VLAN TCC" },
+ { JUNIPER_IFLE_VT, "VT" },
+ {0, NULL}
};
@@ -392,8 +392,8 @@ static dissector_handle_t data_handle;
static dissector_table_t osinl_subdissector_table;
static dissector_table_t osinl_excl_subdissector_table;
-int dissect_juniper_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *ti, guint8 *flags);
-int dissect_juniper_payload_proto(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,proto_item *ti, guint proto, guint offset);
+static int dissect_juniper_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *ti, guint8 *flags);
+static int dissect_juniper_payload_proto(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,proto_item *ti, guint proto, guint offset);
static void dissect_juniper_atm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint16 atm_pictype);
static gboolean ppp_heuristic_guess(guint16 proto);
static guint ip_heuristic_guess(guint8 ip_header_byte);
@@ -403,49 +403,49 @@ static guint juniper_svc_cookie_proto (guint64 cookie, guint16 pictype, guint8 f
/* values < 200 are JUNOS internal proto values
* found in frames containing no link-layer header */
enum {
- PROTO_UNKNOWN = 0,
- PROTO_IP = 2,
- PROTO_MPLS_IP = 3,
- PROTO_IP_MPLS = 4,
- PROTO_MPLS = 5,
- PROTO_IP6 = 6,
- PROTO_MPLS_IP6 = 7,
- PROTO_IP6_MPLS = 8,
- PROTO_CLNP = 10,
- PROTO_CLNP_MPLS = 32,
- PROTO_MPLS_CLNP = 33,
- PROTO_PPP = 200,
- PROTO_ISO = 201,
- PROTO_LLC = 202,
- PROTO_LLC_SNAP = 203,
- PROTO_ETHER = 204,
- PROTO_OAM = 205,
- PROTO_Q933 = 206,
- PROTO_FRELAY = 207,
- PROTO_CHDLC = 208
+ PROTO_UNKNOWN = 0,
+ PROTO_IP = 2,
+ PROTO_MPLS_IP = 3,
+ PROTO_IP_MPLS = 4,
+ PROTO_MPLS = 5,
+ PROTO_IP6 = 6,
+ PROTO_MPLS_IP6 = 7,
+ PROTO_IP6_MPLS = 8,
+ PROTO_CLNP = 10,
+ PROTO_CLNP_MPLS = 32,
+ PROTO_MPLS_CLNP = 33,
+ PROTO_PPP = 200,
+ PROTO_ISO = 201,
+ PROTO_LLC = 202,
+ PROTO_LLC_SNAP = 203,
+ PROTO_ETHER = 204,
+ PROTO_OAM = 205,
+ PROTO_Q933 = 206,
+ PROTO_FRELAY = 207,
+ PROTO_CHDLC = 208
};
static const value_string juniper_proto_vals[] = {
- {PROTO_IP, "IPv4"},
- {PROTO_MPLS_IP, "MPLS->IPv4"},
- {PROTO_IP_MPLS, "IPv4->MPLS"},
- {PROTO_IP6, "IPv6"},
- {PROTO_MPLS_IP6, "MPLS->IPv6"},
- {PROTO_IP6_MPLS, "IPv6->MPLS"},
- {PROTO_PPP, "PPP"},
- {PROTO_CLNP, "CLNP"},
- {PROTO_MPLS_CLNP, "MPLS->CLNP"},
- {PROTO_CLNP_MPLS, "CLNP->MPLS"},
- {PROTO_ISO, "OSI"},
- {PROTO_MPLS, "MPLS"},
- {PROTO_LLC, "LLC"},
- {PROTO_LLC_SNAP, "LLC/SNAP"},
- {PROTO_ETHER, "Ethernet"},
- {PROTO_OAM, "ATM OAM Cell"},
- {PROTO_Q933, "Q.933"},
- {PROTO_FRELAY, "Frame-Relay"},
- {PROTO_CHDLC, "C-HDLC"},
- {0, NULL}
+ {PROTO_IP, "IPv4"},
+ {PROTO_MPLS_IP, "MPLS->IPv4"},
+ {PROTO_IP_MPLS, "IPv4->MPLS"},
+ {PROTO_IP6, "IPv6"},
+ {PROTO_MPLS_IP6, "MPLS->IPv6"},
+ {PROTO_IP6_MPLS, "IPv6->MPLS"},
+ {PROTO_PPP, "PPP"},
+ {PROTO_CLNP, "CLNP"},
+ {PROTO_MPLS_CLNP, "MPLS->CLNP"},
+ {PROTO_CLNP_MPLS, "CLNP->MPLS"},
+ {PROTO_ISO, "OSI"},
+ {PROTO_MPLS, "MPLS"},
+ {PROTO_LLC, "LLC"},
+ {PROTO_LLC_SNAP, "LLC/SNAP"},
+ {PROTO_ETHER, "Ethernet"},
+ {PROTO_OAM, "ATM OAM Cell"},
+ {PROTO_Q933, "Q.933"},
+ {PROTO_FRELAY, "Frame-Relay"},
+ {PROTO_CHDLC, "C-HDLC"},
+ {0, NULL}
};
/* the first subtree is accessed by several routines */
@@ -455,52 +455,52 @@ static proto_tree *juniper_subtree = NULL;
static int
juniper_ext_get_tlv_value(tvbuff_t *tvb, guint tlv_type, guint tlv_len, guint offset) {
- int tlv_value;
-
- if (tlv_type < 128) {
- /* TLVs < 128 are little-endian / host order encoded */
- switch (tlv_len) {
- case 1:
- tlv_value = tvb_get_guint8(tvb, offset);
- break;
- case 2:
- tlv_value = tvb_get_letohs(tvb, offset);
- break;
- case 3:
- tlv_value = tvb_get_letoh24(tvb, offset);
- break;
- case 4:
- tlv_value = tvb_get_letohl(tvb, offset);
- break;
- default:
- tlv_value = -1;
- break;
- }
- } else {
- /* TLVs >= 128 are big-endian / network order encoded */
- switch (tlv_len) {
- case 1:
- tlv_value = tvb_get_guint8(tvb, offset);
- break;
- case 2:
- tlv_value = tvb_get_ntohs(tvb, offset);
- break;
- case 3:
- tlv_value = tvb_get_ntoh24(tvb, offset);
- break;
- case 4:
- tlv_value = tvb_get_ntohl(tvb, offset);
- break;
- default:
- tlv_value = -1;
- break;
- }
+ int tlv_value;
+
+ if (tlv_type < 128) {
+ /* TLVs < 128 are little-endian / host order encoded */
+ switch (tlv_len) {
+ case 1:
+ tlv_value = tvb_get_guint8(tvb, offset);
+ break;
+ case 2:
+ tlv_value = tvb_get_letohs(tvb, offset);
+ break;
+ case 3:
+ tlv_value = tvb_get_letoh24(tvb, offset);
+ break;
+ case 4:
+ tlv_value = tvb_get_letohl(tvb, offset);
+ break;
+ default:
+ tlv_value = -1;
+ break;
+ }
+ } else {
+ /* TLVs >= 128 are big-endian / network order encoded */
+ switch (tlv_len) {
+ case 1:
+ tlv_value = tvb_get_guint8(tvb, offset);
+ break;
+ case 2:
+ tlv_value = tvb_get_ntohs(tvb, offset);
+ break;
+ case 3:
+ tlv_value = tvb_get_ntoh24(tvb, offset);
+ break;
+ case 4:
+ tlv_value = tvb_get_ntohl(tvb, offset);
+ break;
+ default:
+ tlv_value = -1;
+ break;
}
- return tlv_value;
+ }
+ return tlv_value;
}
/* generic juniper header dissector */
-int
+static int
dissect_juniper_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *ti, guint8 *flags)
{
proto_item *tisub;
@@ -522,8 +522,8 @@ dissect_juniper_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, prot
* some older JUNOS releases (e.g. 6.4),
* which are still in the field do not generate magic-numbers */
if (magic_number != JUNIPER_PCAP_MAGIC) {
- tisub = proto_tree_add_text (juniper_subtree, tvb, 0, 0, "no Magic-Number found !");
- return 0;
+ tisub = proto_tree_add_text (juniper_subtree, tvb, 0, 0, "no Magic-Number found !");
+ return 0;
}
tisub = proto_tree_add_text (juniper_subtree, tvb, 0, 3,
@@ -541,77 +541,77 @@ dissect_juniper_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, prot
/* meta-info extensions (JUNOS >= 7.5) ? */
if ((*flags & JUNIPER_FLAG_EXT) == JUNIPER_FLAG_EXT) {
- ext_total_len = tvb_get_ntohs(tvb,4);
- hdr_len = 6 + ext_total_len; /* MGC,flags,ext_total_len */
-
- tisub = proto_tree_add_uint (juniper_subtree, hf_juniper_ext_total_len, tvb, 4, 2, ext_total_len);
- juniper_ext_subtree = proto_item_add_subtree(tisub, ett_juniper);
-
- while (ext_total_len > EXT_TLV_HEADER_SIZE) {
- ext_type = tvb_get_guint8(tvb, ext_offset);
- ext_len = tvb_get_guint8(tvb, ext_offset+1);
-
- if (ext_len == 0 || ext_len > (ext_total_len - EXT_TLV_HEADER_SIZE)) /* a few sanity checks */
- break;
-
- tisub = proto_tree_add_text (juniper_ext_subtree, tvb, ext_offset, EXT_TLV_HEADER_SIZE + ext_len,
- "%s Extension TLV #%u, length: %u",
- val_to_str(ext_type, ext_tlv_vals, "Unknown"),
- ext_type,
- ext_len);
-
- ext_val = juniper_ext_get_tlv_value(tvb, ext_type, ext_len, ext_offset+EXT_TLV_HEADER_SIZE);
- juniper_ext_subtree_item = proto_item_add_subtree(tisub, ett_juniper);
-
- switch (ext_type) {
- case EXT_TLV_IFD_MEDIATYPE:
- tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifmt,
- tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
- break;
- case EXT_TLV_TTP_IFD_MEDIATYPE:
- tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ttp_ifmt,
- tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
- break;
- case EXT_TLV_IFL_ENCAPS:
- tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifle,
- tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
- break;
- case EXT_TLV_TTP_IFL_ENCAPS:
- tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ttp_ifle,
- tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
- break;
-
- case EXT_TLV_IFL_IDX:
- tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifl,
- tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
- break;
-
- case EXT_TLV_IFL_UNIT:
- tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_unit,
- tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
- break;
- case EXT_TLV_IFD_IDX:
- tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifd,
- tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
- break;
- case EXT_TLV_IFD_NAME: /* FIXME print ifname string - lets fall-through for now */
- default:
- proto_item_append_text(tisub, "Unknown");
- break;
- }
-
- ext_offset += EXT_TLV_HEADER_SIZE + ext_len;
- ext_total_len -= EXT_TLV_HEADER_SIZE + ext_len;
+ ext_total_len = tvb_get_ntohs(tvb,4);
+ hdr_len = 6 + ext_total_len; /* MGC,flags,ext_total_len */
+
+ tisub = proto_tree_add_uint (juniper_subtree, hf_juniper_ext_total_len, tvb, 4, 2, ext_total_len);
+ juniper_ext_subtree = proto_item_add_subtree(tisub, ett_juniper);
+
+ while (ext_total_len > EXT_TLV_HEADER_SIZE) {
+ ext_type = tvb_get_guint8(tvb, ext_offset);
+ ext_len = tvb_get_guint8(tvb, ext_offset+1);
+
+ if (ext_len == 0 || ext_len > (ext_total_len - EXT_TLV_HEADER_SIZE)) /* a few sanity checks */
+ break;
+
+ tisub = proto_tree_add_text (juniper_ext_subtree, tvb, ext_offset, EXT_TLV_HEADER_SIZE + ext_len,
+ "%s Extension TLV #%u, length: %u",
+ val_to_str(ext_type, ext_tlv_vals, "Unknown"),
+ ext_type,
+ ext_len);
+
+ ext_val = juniper_ext_get_tlv_value(tvb, ext_type, ext_len, ext_offset+EXT_TLV_HEADER_SIZE);
+ juniper_ext_subtree_item = proto_item_add_subtree(tisub, ett_juniper);
+
+ switch (ext_type) {
+ case EXT_TLV_IFD_MEDIATYPE:
+ tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifmt,
+ tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
+ break;
+ case EXT_TLV_TTP_IFD_MEDIATYPE:
+ tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ttp_ifmt,
+ tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
+ break;
+ case EXT_TLV_IFL_ENCAPS:
+ tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifle,
+ tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
+ break;
+ case EXT_TLV_TTP_IFL_ENCAPS:
+ tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ttp_ifle,
+ tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
+ break;
+
+ case EXT_TLV_IFL_IDX:
+ tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifl,
+ tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
+ break;
+
+ case EXT_TLV_IFL_UNIT:
+ tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_unit,
+ tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
+ break;
+ case EXT_TLV_IFD_IDX:
+ tisub = proto_tree_add_uint(juniper_ext_subtree_item, hf_juniper_ext_ifd,
+ tvb, ext_offset+EXT_TLV_HEADER_SIZE, ext_len, ext_val);
+ break;
+ case EXT_TLV_IFD_NAME: /* FIXME print ifname string - lets fall-through for now */
+ default:
+ proto_item_append_text(tisub, "Unknown");
+ break;
}
+ ext_offset += EXT_TLV_HEADER_SIZE + ext_len;
+ ext_total_len -= EXT_TLV_HEADER_SIZE + ext_len;
+ }
+
} else
- hdr_len = 4; /* MGC,flags */
+ hdr_len = 4; /* MGC,flags */
if ((*flags & JUNIPER_FLAG_NO_L2) == JUNIPER_FLAG_NO_L2) { /* no link header present ? */
- proto = tvb_get_letohl(tvb,hdr_len); /* proto is stored in host-order */
- next_tvb = tvb_new_subset(tvb, hdr_len + 4, -1, -1);
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, proto, hdr_len + 4);
- return -1;
+ proto = tvb_get_letohl(tvb,hdr_len); /* proto is stored in host-order */
+ next_tvb = tvb_new_subset(tvb, hdr_len + 4, -1, -1);
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, proto, hdr_len + 4);
+ return -1;
}
return hdr_len; /* bytes parsed */
@@ -619,70 +619,70 @@ dissect_juniper_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, prot
}
/* print the payload protocol */
-int
+static int
dissect_juniper_payload_proto(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_item *ti, guint proto, guint offset)
{
- tvbuff_t *next_tvb;
- guint8 nlpid;
+ tvbuff_t *next_tvb;
+ guint8 nlpid;
- ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "[Payload Type: %s]",
+ ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "[Payload Type: %s]",
val_to_str(proto,juniper_proto_vals,"Unknown"));
- next_tvb = tvb_new_subset(tvb, offset, -1, -1);
+ next_tvb = tvb_new_subset(tvb, offset, -1, -1);
- switch (proto) {
- case PROTO_IP:
- case PROTO_MPLS_IP:
- call_dissector(ipv4_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_IP6:
- case PROTO_MPLS_IP6:
- call_dissector(ipv6_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_MPLS:
- case PROTO_IP_MPLS:
- case PROTO_IP6_MPLS:
- case PROTO_CLNP_MPLS:
- call_dissector(mpls_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_PPP:
- call_dissector(ppp_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_ETHER:
- call_dissector(eth_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_LLC:
- case PROTO_LLC_SNAP:
- call_dissector(llc_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_ISO:
- case PROTO_CLNP:
- case PROTO_MPLS_CLNP:
- nlpid = tvb_get_guint8(tvb, offset);
- if(dissector_try_port(osinl_subdissector_table, nlpid, next_tvb, pinfo, tree))
- return 0;
- next_tvb = tvb_new_subset(tvb, offset+1, -1, -1);
- if(dissector_try_port(osinl_excl_subdissector_table, nlpid, next_tvb, pinfo, tree))
- return 0;
- break;
- case PROTO_Q933:
- call_dissector(q933_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_FRELAY:
- call_dissector(frelay_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_CHDLC:
- call_dissector(chdlc_handle, next_tvb, pinfo, tree);
- break;
- case PROTO_OAM: /* FIXME call OAM disector without leading HEC byte */
- default:
- call_dissector(data_handle, next_tvb, pinfo, tree);
- break;
- }
+ switch (proto) {
+ case PROTO_IP:
+ case PROTO_MPLS_IP:
+ call_dissector(ipv4_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_IP6:
+ case PROTO_MPLS_IP6:
+ call_dissector(ipv6_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_MPLS:
+ case PROTO_IP_MPLS:
+ case PROTO_IP6_MPLS:
+ case PROTO_CLNP_MPLS:
+ call_dissector(mpls_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_PPP:
+ call_dissector(ppp_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_ETHER:
+ call_dissector(eth_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_LLC:
+ case PROTO_LLC_SNAP:
+ call_dissector(llc_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_ISO:
+ case PROTO_CLNP:
+ case PROTO_MPLS_CLNP:
+ nlpid = tvb_get_guint8(tvb, offset);
+ if(dissector_try_port(osinl_subdissector_table, nlpid, next_tvb, pinfo, tree))
+ return 0;
+ next_tvb = tvb_new_subset(tvb, offset+1, -1, -1);
+ if(dissector_try_port(osinl_excl_subdissector_table, nlpid, next_tvb, pinfo, tree))
+ return 0;
+ break;
+ case PROTO_Q933:
+ call_dissector(q933_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_FRELAY:
+ call_dissector(frelay_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_CHDLC:
+ call_dissector(chdlc_handle, next_tvb, pinfo, tree);
+ break;
+ case PROTO_OAM: /* FIXME call OAM disector without leading HEC byte */
+ default:
+ call_dissector(data_handle, next_tvb, pinfo, tree);
+ break;
+ }
- return 0;
+ return 0;
}
/* MLFR dissector */
@@ -699,9 +699,9 @@ dissect_juniper_mlfr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint proto,cookie_len;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper MLFR");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper MLFR");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
offset = 0;
@@ -711,21 +711,21 @@ dissect_juniper_mlfr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
aspic_cookie = tvb_get_ntoh64(tvb,offset);
proto = juniper_svc_cookie_proto(aspic_cookie, JUNIPER_PIC_MLFR, flags);
cookie_len = juniper_svc_cookie_len(aspic_cookie);
if (cookie_len == AS_PIC_COOKIE_LEN)
- ti = proto_tree_add_uint64(juniper_subtree, hf_juniper_aspic_cookie,
- tvb, offset, AS_PIC_COOKIE_LEN, aspic_cookie);
+ ti = proto_tree_add_uint64(juniper_subtree, hf_juniper_aspic_cookie,
+ tvb, offset, AS_PIC_COOKIE_LEN, aspic_cookie);
if (cookie_len == LS_PIC_COOKIE_LEN) {
- lspic_cookie = tvb_get_ntohl(tvb,offset);
- ti = proto_tree_add_uint(juniper_subtree, hf_juniper_lspic_cookie,
- tvb, offset, LS_PIC_COOKIE_LEN, lspic_cookie);
+ lspic_cookie = tvb_get_ntohl(tvb,offset);
+ ti = proto_tree_add_uint(juniper_subtree, hf_juniper_lspic_cookie,
+ tvb, offset, LS_PIC_COOKIE_LEN, lspic_cookie);
}
offset += cookie_len;
@@ -736,52 +736,52 @@ dissect_juniper_mlfr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (cookie_len == AS_PIC_COOKIE_LEN &&
proto == PROTO_UNKNOWN &&
tvb_get_guint8(tvb,offset) == JUNIPER_HDR_LLC_UI) {
- offset += 1;
- proto = PROTO_ISO;
+ offset += 1;
+ proto = PROTO_ISO;
}
/* LS-PIC IS-IS */
if (cookie_len == LS_PIC_COOKIE_LEN) {
- if ( tvb_get_ntohs(tvb,offset) == JUNIPER_HDR_LLC_UI ||
- tvb_get_ntohs(tvb,offset) == (JUNIPER_HDR_LLC_UI<<8)) {
- offset += 2;
- }
+ if ( tvb_get_ntohs(tvb,offset) == JUNIPER_HDR_LLC_UI ||
+ tvb_get_ntohs(tvb,offset) == (JUNIPER_HDR_LLC_UI<<8)) {
+ offset += 2;
+ }
}
/* LS-PIC ? */
if (cookie_len == LS_PIC_COOKIE_LEN && tvb_get_guint8(tvb,offset) == JUNIPER_HDR_LLC_UI) {
- offset += 1;
+ offset += 1;
}
/* child link of an LS-PIC bundle ? */
if (cookie_len == 0 && tvb_get_ntohs(tvb,offset+ML_PIC_COOKIE_LEN) ==
(JUNIPER_HDR_LLC_UI<<8 | NLPID_Q_933)) {
- cookie_len = ML_PIC_COOKIE_LEN;
- ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
- tvb, offset, ML_PIC_COOKIE_LEN, mlpic_cookie);
- offset += 3;
- proto = PROTO_Q933;
+ cookie_len = ML_PIC_COOKIE_LEN;
+ ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
+ tvb, offset, ML_PIC_COOKIE_LEN, mlpic_cookie);
+ offset += 3;
+ proto = PROTO_Q933;
}
/* child link of an ML-, LS-, AS-PIC bundle / ML-PIC bundle ? */
if (cookie_len == 0) {
- if (tvb_get_ntohs(tvb,offset+ML_PIC_COOKIE_LEN) == JUNIPER_HDR_LLC_UI ||
- tvb_get_ntohs(tvb,offset+ML_PIC_COOKIE_LEN) == (JUNIPER_HDR_LLC_UI<<8)) {
- cookie_len = ML_PIC_COOKIE_LEN;
- ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
+ if (tvb_get_ntohs(tvb,offset+ML_PIC_COOKIE_LEN) == JUNIPER_HDR_LLC_UI ||
+ tvb_get_ntohs(tvb,offset+ML_PIC_COOKIE_LEN) == (JUNIPER_HDR_LLC_UI<<8)) {
+ cookie_len = ML_PIC_COOKIE_LEN;
+ ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
tvb, offset, ML_PIC_COOKIE_LEN, mlpic_cookie);
- offset += 4;
- proto = PROTO_ISO;
- }
+ offset += 4;
+ proto = PROTO_ISO;
+ }
}
/* ML-PIC bundle ? */
if (cookie_len == 0 && tvb_get_guint8(tvb,offset+ML_PIC_COOKIE_LEN) == JUNIPER_HDR_LLC_UI) {
- cookie_len = ML_PIC_COOKIE_LEN;
- ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
- tvb, offset, ML_PIC_COOKIE_LEN, mlpic_cookie);
- offset += 3;
- proto = PROTO_ISO;
+ cookie_len = ML_PIC_COOKIE_LEN;
+ ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
+ tvb, offset, ML_PIC_COOKIE_LEN, mlpic_cookie);
+ offset += 3;
+ proto = PROTO_ISO;
}
ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "[Cookie length: %u]",cookie_len);
@@ -805,9 +805,9 @@ dissect_juniper_mlppp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint proto,cookie_len;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper MLPPP");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper MLPPP");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
offset = 0;
@@ -817,43 +817,43 @@ dissect_juniper_mlppp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
aspic_cookie = tvb_get_ntoh64(tvb,offset);
proto = juniper_svc_cookie_proto(aspic_cookie, JUNIPER_PIC_MLPPP, flags);
cookie_len = juniper_svc_cookie_len(aspic_cookie);
if (cookie_len == AS_PIC_COOKIE_LEN)
- ti = proto_tree_add_uint64(juniper_subtree, hf_juniper_aspic_cookie,
- tvb, offset, AS_PIC_COOKIE_LEN, aspic_cookie);
+ ti = proto_tree_add_uint64(juniper_subtree, hf_juniper_aspic_cookie,
+ tvb, offset, AS_PIC_COOKIE_LEN, aspic_cookie);
if (cookie_len == LS_PIC_COOKIE_LEN) {
- lspic_cookie = tvb_get_ntohl(tvb,offset);
- ti = proto_tree_add_uint(juniper_subtree, hf_juniper_lspic_cookie,
- tvb, offset, LS_PIC_COOKIE_LEN, lspic_cookie);
+ lspic_cookie = tvb_get_ntohl(tvb,offset);
+ ti = proto_tree_add_uint(juniper_subtree, hf_juniper_lspic_cookie,
+ tvb, offset, LS_PIC_COOKIE_LEN, lspic_cookie);
}
/* no cookie pattern identified - lets guess from now on */
/* child link of an LS-PIC bundle ? */
if (cookie_len == 0 && tvb_get_ntohs(tvb, offset) == JUNIPER_HDR_PPP) {
- proto = PROTO_PPP;
- offset += 2;
+ proto = PROTO_PPP;
+ offset += 2;
}
/* ML-PIC ? */
if (cookie_len == 0 && ppp_heuristic_guess(tvb_get_ntohs(tvb, offset+2))) {
- proto = PROTO_PPP;
- cookie_len = 2;
- mlpic_cookie = tvb_get_ntohs(tvb, offset);
- ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
- tvb, offset, ML_PIC_COOKIE_LEN, mlpic_cookie);
+ proto = PROTO_PPP;
+ cookie_len = 2;
+ mlpic_cookie = tvb_get_ntohs(tvb, offset);
+ ti = proto_tree_add_uint(juniper_subtree, hf_juniper_mlpic_cookie,
+ tvb, offset, ML_PIC_COOKIE_LEN, mlpic_cookie);
}
/* child link of an ML-PIC bundle ? */
if (cookie_len == 0 && ppp_heuristic_guess(tvb_get_ntohs(tvb, offset))) {
- proto = PROTO_PPP;
+ proto = PROTO_PPP;
}
ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "[Cookie length: %u]",cookie_len);
@@ -874,9 +874,9 @@ dissect_juniper_pppoe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint8 flags;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper PPPoE");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper PPPoE");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
offset = 0;
@@ -886,9 +886,9 @@ dissect_juniper_pppoe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_ETHER, offset);
@@ -904,9 +904,9 @@ dissect_juniper_ether(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint8 flags;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper Ethernet");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper Ethernet");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
offset = 0;
@@ -916,9 +916,9 @@ dissect_juniper_ether(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_ETHER, offset);
@@ -934,9 +934,9 @@ dissect_juniper_ppp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint8 flags;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper PPP");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper PPP");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
offset = 0;
@@ -946,9 +946,9 @@ dissect_juniper_ppp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_PPP, offset+2);
@@ -964,9 +964,9 @@ dissect_juniper_frelay(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint8 flags;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper Frame-Relay");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper Frame-Relay");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
offset = 0;
@@ -976,9 +976,9 @@ dissect_juniper_frelay(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_FRELAY, offset);
@@ -994,9 +994,9 @@ dissect_juniper_chdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint8 flags;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper C-HDLC");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper C-HDLC");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
ti = proto_tree_add_text (tree, tvb, offset, 4, "Juniper C-HDLC");
@@ -1004,9 +1004,9 @@ dissect_juniper_chdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_CHDLC, offset);
@@ -1018,14 +1018,14 @@ dissect_juniper_chdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
static void
dissect_juniper_atm1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
- dissect_juniper_atm(tvb,pinfo,tree, JUNIPER_PIC_ATM1);
+ dissect_juniper_atm(tvb,pinfo,tree, JUNIPER_PIC_ATM1);
}
/* wrapper for passing the PIC type to the generic ATM dissector */
static void
dissect_juniper_atm2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
- dissect_juniper_atm(tvb,pinfo,tree, JUNIPER_PIC_ATM2);
+ dissect_juniper_atm(tvb,pinfo,tree, JUNIPER_PIC_ATM2);
}
/* generic ATM dissector */
@@ -1042,49 +1042,49 @@ dissect_juniper_atm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint16
switch (atm_pictype) {
case JUNIPER_PIC_ATM1:
- if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper ATM1");
- break;
+ if (check_col(pinfo->cinfo, COL_PROTOCOL))
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper ATM1");
+ break;
case JUNIPER_PIC_ATM2:
- if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper ATM2");
- break;
+ if (check_col(pinfo->cinfo, COL_PROTOCOL))
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper ATM2");
+ break;
default: /* should not happen */
- if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper ATM unknown");
- return;
+ if (check_col(pinfo->cinfo, COL_PROTOCOL))
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper ATM unknown");
+ return;
}
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
switch (atm_pictype) {
case JUNIPER_PIC_ATM1:
- ti = proto_tree_add_text (tree, tvb, 0, 0 , "Juniper ATM1 PIC");
- break;
+ ti = proto_tree_add_text (tree, tvb, 0, 0 , "Juniper ATM1 PIC");
+ break;
case JUNIPER_PIC_ATM2:
- ti = proto_tree_add_text (tree, tvb, 0, 0 , "Juniper ATM2 PIC");
- break;
+ ti = proto_tree_add_text (tree, tvb, 0, 0 , "Juniper ATM2 PIC");
+ break;
default: /* should not happen */
- ti = proto_tree_add_text (tree, tvb, 0, 0 , "Juniper unknown ATM PIC");
- return;
+ ti = proto_tree_add_text (tree, tvb, 0, 0 , "Juniper unknown ATM PIC");
+ return;
}
/* parse header, match mgc, extract flags and build first tree */
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
if ((flags & JUNIPER_FLAG_NO_L2) == JUNIPER_FLAG_NO_L2) {
- atm1_header_len = 4;
- atm2_header_len = 4;
+ atm1_header_len = 4;
+ atm2_header_len = 4;
}
else {
- atm1_header_len = 4;
- atm2_header_len = 8;
+ atm1_header_len = 4;
+ atm2_header_len = 8;
}
cookie1 = tvb_get_ntohl(tvb, offset);
@@ -1092,90 +1092,90 @@ dissect_juniper_atm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint16
switch (atm_pictype) {
case JUNIPER_PIC_ATM1:
- tisub = proto_tree_add_uint(juniper_subtree, hf_juniper_atm1_cookie, tvb, offset, 4, cookie1);
- offset += atm1_header_len;
- if ((cookie1 >> 24) == 0x80) /* OAM cell ? */
- next_proto = PROTO_OAM;
- break;
+ tisub = proto_tree_add_uint(juniper_subtree, hf_juniper_atm1_cookie, tvb, offset, 4, cookie1);
+ offset += atm1_header_len;
+ if ((cookie1 >> 24) == 0x80) /* OAM cell ? */
+ next_proto = PROTO_OAM;
+ break;
case JUNIPER_PIC_ATM2:
- tisub = proto_tree_add_uint64(juniper_subtree, hf_juniper_atm2_cookie, tvb, offset, 8, cookie2);
- offset += atm2_header_len;
- if (cookie2 & 0x70) /* OAM cell ? */
- next_proto = PROTO_OAM;
- break;
+ tisub = proto_tree_add_uint64(juniper_subtree, hf_juniper_atm2_cookie, tvb, offset, 8, cookie2);
+ offset += atm2_header_len;
+ if (cookie2 & 0x70) /* OAM cell ? */
+ next_proto = PROTO_OAM;
+ break;
default: /* should not happen */
- return;
+ return;
}
next_tvb = tvb_new_subset(tvb, offset, -1, -1);
if (next_proto == PROTO_OAM) {
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_OAM, offset);
- return;
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_OAM, offset);
+ return;
}
proto = tvb_get_ntoh24(tvb, offset); /* first try: 24-Bit guess */
if (proto == JUNIPER_HDR_NLPID) {
- /*
- * This begins with something that appears to be an LLC header for
- * OSI; is this LLC-multiplexed traffic?
- */
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_LLC, offset);
- return;
+ /*
+ * This begins with something that appears to be an LLC header for
+ * OSI; is this LLC-multiplexed traffic?
+ */
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_LLC, offset);
+ return;
}
if (proto == JUNIPER_HDR_SNAP) {
- /*
- * This begins with something that appears to be an LLC header for
- * SNAP; is this LLC-multiplexed traffic?
- */
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_LLC_SNAP, offset);
- return;
+ /*
+ * This begins with something that appears to be an LLC header for
+ * SNAP; is this LLC-multiplexed traffic?
+ */
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_LLC_SNAP, offset);
+ return;
}
if ((flags & JUNIPER_FLAG_PKT_IN) != JUNIPER_FLAG_PKT_IN && /* ether-over-1483 encaps ? */
(cookie1 & JUNIPER_ATM2_GAP_COUNT_MASK) &&
atm_pictype != JUNIPER_PIC_ATM1) {
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_ETHER, offset);
- return;
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_ETHER, offset);
+ return;
}
proto = tvb_get_ntohs(tvb, offset); /* second try: 16-Bit guess */
if ( ppp_heuristic_guess( (guint16) proto) &&
atm_pictype != JUNIPER_PIC_ATM1) {
- /*
- * This begins with something that appears to be a PPP protocol
- * type; is this VC-multiplexed PPPoA?
- * That's not supported on ATM1 PICs.
- */
- ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "Encapsulation Type: VC-MUX");
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_PPP , offset);
- return;
+ /*
+ * This begins with something that appears to be a PPP protocol
+ * type; is this VC-multiplexed PPPoA?
+ * That's not supported on ATM1 PICs.
+ */
+ ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "Encapsulation Type: VC-MUX");
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_PPP , offset);
+ return;
}
proto = tvb_get_guint8(tvb, offset); /* third try: 8-Bit guess */
if ( proto == JUNIPER_HDR_LLC_UI ) {
- /*
- * Cisco style NLPID encaps?
- * Is the 0x03 an LLC UI control field?
- */
- ti = proto_tree_add_text (juniper_subtree, tvb, offset, 1, "Encapsulation Type: Cisco NLPID");
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_ISO , offset+1);
- return;
+ /*
+ * Cisco style NLPID encaps?
+ * Is the 0x03 an LLC UI control field?
+ */
+ ti = proto_tree_add_text (juniper_subtree, tvb, offset, 1, "Encapsulation Type: Cisco NLPID");
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, PROTO_ISO , offset+1);
+ return;
}
next_proto = ip_heuristic_guess( (guint8) proto);
if (next_proto != PROTO_UNKNOWN) { /* last resort: VC-MUX encaps ? */
- /*
- * This begins with something that might be the first byte of
- * an IPv4 or IPv6 packet; is this VC-multiplexed IP?
- */
- ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "Encapsulation Type: VC-MUX");
- dissect_juniper_payload_proto(tvb, pinfo, tree, ti, next_proto , offset);
- return;
+ /*
+ * This begins with something that might be the first byte of
+ * an IPv4 or IPv6 packet; is this VC-multiplexed IP?
+ */
+ ti = proto_tree_add_text (juniper_subtree, tvb, offset, 0, "Encapsulation Type: VC-MUX");
+ dissect_juniper_payload_proto(tvb, pinfo, tree, ti, next_proto , offset);
+ return;
}
/* could not figure what it is */
@@ -1193,9 +1193,9 @@ static void dissect_juniper_ggsn(tvbuff_t* tvb, packet_info* pinfo, proto_tree*
guint16 proto;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper GGSN");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper GGSN");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
ti = proto_tree_add_text (tree, tvb, offset, 4, "Juniper GGSN");
@@ -1203,9 +1203,9 @@ static void dissect_juniper_ggsn(tvbuff_t* tvb, packet_info* pinfo, proto_tree*
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
proto = tvb_get_letohs(tvb, offset); /* fetch protocol */
@@ -1225,9 +1225,9 @@ static void dissect_juniper_vp(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tr
guint8 flags;
if (check_col(pinfo->cinfo, COL_PROTOCOL))
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper Voice PIC");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "Juniper Voice PIC");
if (check_col(pinfo->cinfo, COL_INFO))
- col_clear(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
ti = proto_tree_add_text (tree, tvb, offset, 4, "Juniper Voice PIC");
@@ -1235,9 +1235,9 @@ static void dissect_juniper_vp(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tr
bytes_processed = dissect_juniper_header(tvb, pinfo, tree, ti, &flags);
if(bytes_processed == -1)
- return;
+ return;
else
- offset+=bytes_processed;
+ offset+=bytes_processed;
/*
* Right know IPv4 is the only protocol we may encounter.
@@ -1252,25 +1252,25 @@ static void dissect_juniper_vp(tvbuff_t* tvb, packet_info* pinfo, proto_tree* tr
static gboolean
ppp_heuristic_guess(guint16 proto) {
- switch(proto) {
- case PPP_IP :
- case PPP_OSI :
- case PPP_MPLS_UNI :
- case PPP_MPLS_MULTI :
- case PPP_IPCP :
- case PPP_OSICP :
- case PPP_MPLSCP :
- case PPP_LCP :
- case PPP_PAP :
- case PPP_CHAP :
- case PPP_MP :
- case PPP_IPV6 :
- case PPP_IPV6CP :
- return TRUE;
-
- default:
- return FALSE; /* did not find a ppp header */
- }
+ switch(proto) {
+ case PPP_IP :
+ case PPP_OSI :
+ case PPP_MPLS_UNI :
+ case PPP_MPLS_MULTI :
+ case PPP_IPCP :
+ case PPP_OSICP :
+ case PPP_MPLSCP :
+ case PPP_LCP :
+ case PPP_PAP :
+ case PPP_CHAP :
+ case PPP_MP :
+ case PPP_IPV6 :
+ case PPP_IPV6CP :
+ return TRUE;
+
+ default:
+ return FALSE; /* did not find a ppp header */
+ }
}
/*
@@ -1280,116 +1280,116 @@ ppp_heuristic_guess(guint16 proto) {
static guint
ip_heuristic_guess(guint8 ip_header_byte) {
- switch(ip_header_byte) {
- case 0x45:
- case 0x46:
- case 0x47:
- case 0x48:
- case 0x49:
- case 0x4a:
- case 0x4b:
- case 0x4c:
- case 0x4d:
- case 0x4e:
- case 0x4f:
- return PROTO_IP;
- case 0x60:
- case 0x61:
- case 0x62:
- case 0x63:
- case 0x64:
- case 0x65:
- case 0x66:
- case 0x67:
- case 0x68:
- case 0x69:
- case 0x6a:
- case 0x6b:
- case 0x6c:
- case 0x6d:
- case 0x6e:
- case 0x6f:
- return PROTO_IP6;
- default:
- return PROTO_UNKNOWN; /* did not find a ip header */
- }
+ switch(ip_header_byte) {
+ case 0x45:
+ case 0x46:
+ case 0x47:
+ case 0x48:
+ case 0x49:
+ case 0x4a:
+ case 0x4b:
+ case 0x4c:
+ case 0x4d:
+ case 0x4e:
+ case 0x4f:
+ return PROTO_IP;
+ case 0x60:
+ case 0x61:
+ case 0x62:
+ case 0x63:
+ case 0x64:
+ case 0x65:
+ case 0x66:
+ case 0x67:
+ case 0x68:
+ case 0x69:
+ case 0x6a:
+ case 0x6b:
+ case 0x6c:
+ case 0x6d:
+ case 0x6e:
+ case 0x6f:
+ return PROTO_IP6;
+ default:
+ return PROTO_UNKNOWN; /* did not find a ip header */
+ }
}
/* return cookie length dep. on cookie SVC id */
static
guint juniper_svc_cookie_len (guint64 cookie) {
- guint8 svc_cookie_id;
- svc_cookie_id = (guint8)(cookie >> 56) & 0xff;
+ guint8 svc_cookie_id;
+ svc_cookie_id = (guint8)(cookie >> 56) & 0xff;
- switch(svc_cookie_id) {
- case 0x54:
- return LS_PIC_COOKIE_LEN;
- case GSP_SVC_REQ_APOLLO:
- case GSP_SVC_REQ_LSQ:
- return AS_PIC_COOKIE_LEN;
- default:
- return 0;
- }
+ switch(svc_cookie_id) {
+ case 0x54:
+ return LS_PIC_COOKIE_LEN;
+ case GSP_SVC_REQ_APOLLO:
+ case GSP_SVC_REQ_LSQ:
+ return AS_PIC_COOKIE_LEN;
+ default:
+ return 0;
+ }
}
/* return the next-level protocol based on cookie input */
static guint
juniper_svc_cookie_proto (guint64 cookie, guint16 pictype, guint8 flags) {
- guint8 svc_cookie_id;
- guint16 lsq_proto;
- guint8 lsq_dir;
-
- svc_cookie_id = (guint8)(cookie >> 56) & 0xff;
- lsq_proto = (guint16)((cookie >> 16) & LSQ_L3_PROTO_MASK);
- lsq_dir = (guint8)(cookie >> 24) & 0x3;
-
-
- switch (svc_cookie_id) {
- case 0x54:
- switch (pictype) {
- case JUNIPER_PIC_MLPPP:
- return PROTO_PPP;
- case JUNIPER_PIC_MLFR:
- return PROTO_ISO;
- default:
- return PROTO_UNKNOWN;
- }
- case GSP_SVC_REQ_APOLLO:
- case GSP_SVC_REQ_LSQ:
- switch(lsq_proto) {
- case LSQ_L3_PROTO_IPV4:
- switch(pictype) {
- case JUNIPER_PIC_MLPPP:
- /* incoming traffic would have the direction bits set
- * -> this must be IS-IS over PPP
- */
- if ((flags & JUNIPER_FLAG_PKT_IN) == JUNIPER_FLAG_PKT_IN &&
- lsq_dir != (LSQ_COOKIE_RE|LSQ_COOKIE_DIR))
- return PROTO_PPP;
- else
- return PROTO_IP;
- case JUNIPER_PIC_MLFR:
- if (lsq_dir == (LSQ_COOKIE_RE|LSQ_COOKIE_DIR))
- return PROTO_UNKNOWN;
- else
- return PROTO_IP;
- default:
- return PROTO_UNKNOWN;
- }
- case LSQ_L3_PROTO_IPV6:
- return PROTO_IP6;
- case LSQ_L3_PROTO_MPLS:
- return PROTO_MPLS;
- case LSQ_L3_PROTO_ISO:
- return PROTO_ISO;
- default:
- return PROTO_UNKNOWN;
- }
+ guint8 svc_cookie_id;
+ guint16 lsq_proto;
+ guint8 lsq_dir;
+
+ svc_cookie_id = (guint8)(cookie >> 56) & 0xff;
+ lsq_proto = (guint16)((cookie >> 16) & LSQ_L3_PROTO_MASK);
+ lsq_dir = (guint8)(cookie >> 24) & 0x3;
+
+
+ switch (svc_cookie_id) {
+ case 0x54:
+ switch (pictype) {
+ case JUNIPER_PIC_MLPPP:
+ return PROTO_PPP;
+ case JUNIPER_PIC_MLFR:
+ return PROTO_ISO;
default:
+ return PROTO_UNKNOWN;
+ }
+ case GSP_SVC_REQ_APOLLO:
+ case GSP_SVC_REQ_LSQ:
+ switch(lsq_proto) {
+ case LSQ_L3_PROTO_IPV4:
+ switch(pictype) {
+ case JUNIPER_PIC_MLPPP:
+ /* incoming traffic would have the direction bits set
+ * -> this must be IS-IS over PPP
+ */
+ if ((flags & JUNIPER_FLAG_PKT_IN) == JUNIPER_FLAG_PKT_IN &&
+ lsq_dir != (LSQ_COOKIE_RE|LSQ_COOKIE_DIR))
+ return PROTO_PPP;
+ else
+ return PROTO_IP;
+ case JUNIPER_PIC_MLFR:
+ if (lsq_dir == (LSQ_COOKIE_RE|LSQ_COOKIE_DIR))
+ return PROTO_UNKNOWN;
+ else
+ return PROTO_IP;
+ default:
return PROTO_UNKNOWN;
+ }
+ case LSQ_L3_PROTO_IPV6:
+ return PROTO_IP6;
+ case LSQ_L3_PROTO_MPLS:
+ return PROTO_MPLS;
+ case LSQ_L3_PROTO_ISO:
+ return PROTO_ISO;
+ default:
+ return PROTO_UNKNOWN;
}
+ default:
+ return PROTO_UNKNOWN;
+ }
}
@@ -1399,59 +1399,59 @@ proto_register_juniper(void)
static hf_register_info hf[] = {
{ &hf_juniper_magic,
{ "Magic Number", "juniper.magic-number", FT_UINT24, BASE_HEX,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_direction,
{ "Direction", "juniper.direction", FT_UINT8, BASE_HEX,
- VALS(juniper_direction_vals), 0x0, "", HFILL }},
+ VALS(juniper_direction_vals), 0x0, NULL, HFILL }},
{ &hf_juniper_l2hdr_presence,
{ "L2 header presence", "juniper.l2hdr", FT_UINT8, BASE_HEX,
- VALS(juniper_l2hdr_presence_vals), 0x0, "", HFILL }},
+ VALS(juniper_l2hdr_presence_vals), 0x0, NULL, HFILL }},
{ &hf_juniper_ext_total_len,
{ "Extension(s) Total length", "juniper.ext_total_len", FT_UINT16, BASE_DEC,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_atm2_cookie,
{ "Cookie", "juniper.atm2.cookie", FT_UINT64, BASE_HEX,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_atm1_cookie,
{ "Cookie", "juniper.atm1.cookie", FT_UINT32, BASE_HEX,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_mlpic_cookie,
- { "Cookie", "juniper.mlpic.cookie", FT_UINT16, BASE_HEX,
- NULL, 0x0, "", HFILL }},
+ { "Cookie", "juniper.mlpic.cookie", FT_UINT16, BASE_HEX,
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_lspic_cookie,
- { "Cookie", "juniper.lspic.cookie", FT_UINT32, BASE_HEX,
- NULL, 0x0, "", HFILL }},
+ { "Cookie", "juniper.lspic.cookie", FT_UINT32, BASE_HEX,
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_aspic_cookie,
{ "Cookie", "juniper.aspic.cookie", FT_UINT64, BASE_HEX,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_vlan,
{ "VLan ID", "juniper.vlan", FT_UINT16, BASE_DEC,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_proto,
{ "Protocol", "juniper.proto", FT_UINT16, BASE_DEC,
- VALS(juniper_proto_vals), 0x0, "", HFILL }},
+ VALS(juniper_proto_vals), 0x0, NULL, HFILL }},
{ &hf_juniper_ext_ifd,
/* Juniper PCAP extensions */
{ "Device Interface Index", "juniper.ext.ifd", FT_UINT32, BASE_DEC,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_ext_ifl,
{ "Logical Interface Index", "juniper.ext.ifl", FT_UINT32, BASE_DEC,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_ext_unit,
{ "Logical Unit Number", "juniper.ext.unit", FT_UINT32, BASE_DEC,
- NULL, 0x0, "", HFILL }},
+ NULL, 0x0, NULL, HFILL }},
{ &hf_juniper_ext_ifmt,
{ "Device Media Type", "juniper.ext.ifmt", FT_UINT16, BASE_DEC,
- VALS(juniper_ifmt_vals), 0x0, "", HFILL }},
+ VALS(juniper_ifmt_vals), 0x0, NULL, HFILL }},
{ &hf_juniper_ext_ifle,
{ "Logical Interface Encapsulation", "juniper.ext.ifle", FT_UINT16, BASE_DEC,
- VALS(juniper_ifle_vals), 0x0, "", HFILL }},
+ VALS(juniper_ifle_vals), 0x0, NULL, HFILL }},
{ &hf_juniper_ext_ttp_ifmt,
{ "TTP derived Device Media Type", "juniper.ext.ttp_ifmt", FT_UINT16, BASE_DEC,
- VALS(juniper_ifmt_vals), 0x0, "", HFILL }},
+ VALS(juniper_ifmt_vals), 0x0, NULL, HFILL }},
{ &hf_juniper_ext_ttp_ifle,
{ "TTP derived Logical Interface Encapsulation", "juniper.ext.ttp_ifle", FT_UINT16, BASE_DEC,
- VALS(juniper_ifle_vals), 0x0, "", HFILL }},
+ VALS(juniper_ifle_vals), 0x0, NULL, HFILL }},
};
static gint *ett[] = {
diff --git a/epan/dissectors/packet-memcache.c b/epan/dissectors/packet-memcache.c
index ec084e5c06..ebe47f88b0 100644
--- a/epan/dissectors/packet-memcache.c
+++ b/epan/dissectors/packet-memcache.c
@@ -699,7 +699,7 @@ desegment_pdus (tvbuff_t *tvb, packet_info *pinfo, const int offset,
/*
* Optionally do reassembly of the requests, responses and data.
*/
-gboolean
+static gboolean
memcache_req_resp_hdrs_do_reassembly (
tvbuff_t *tvb, const int offset, packet_info *pinfo,
const gboolean desegment_headers, const gboolean desegment_body,
diff --git a/epan/dissectors/packet-ms-mms.c b/epan/dissectors/packet-ms-mms.c
index 9026a19574..6fb04cc917 100644
--- a/epan/dissectors/packet-ms-mms.c
+++ b/epan/dissectors/packet-ms-mms.c
@@ -579,7 +579,7 @@ static gint dissect_msmms_command(tvbuff_t *tvb, packet_info *pinfo, proto_tree
/* Parse the only known UDP command (0x01) */
-gint dissect_msmms_data_udp_command(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static gint dissect_msmms_data_udp_command(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
proto_item *ti = NULL;
proto_tree *msmms_tree = NULL;
@@ -634,7 +634,7 @@ gint dissect_msmms_data_udp_command(tvbuff_t *tvb, packet_info *pinfo, proto_tre
/* Dissect a data packet */
-gint dissect_msmms_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static gint dissect_msmms_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
gint offset = 0;
proto_item *ti = NULL;
@@ -766,8 +766,8 @@ gint dissect_msmms_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/***************************************/
/* Transport information (address, port, etc) */
-void dissect_client_transport_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- guint offset, guint length_remaining)
+static void dissect_client_transport_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ guint offset, guint length_remaining)
{
char *transport_info;
guint ipaddr[4];
@@ -839,8 +839,8 @@ void dissect_client_transport_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree
}
/* Dissect server data */
-void dissect_server_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- guint offset)
+static void dissect_server_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ guint offset)
{
guint32 server_version_length = 0;
guint32 tool_version_length = 0;
@@ -944,8 +944,8 @@ void dissect_server_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
/* Player (client) information */
-void dissect_client_player_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- guint offset, guint length_remaining)
+static void dissect_client_player_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ guint offset, guint length_remaining)
{
char *player_info;
@@ -973,7 +973,7 @@ void dissect_client_player_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
}
/* Dissect info about where client wants to start playing from */
-void dissect_start_sending_from_info(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_start_sending_from_info(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* Command Level */
proto_tree_add_item(tree, hf_msmms_command_prefix1_command_level, tvb, offset, 4, TRUE);
@@ -995,7 +995,7 @@ void dissect_start_sending_from_info(tvbuff_t *tvb, proto_tree *tree, guint offs
}
/* Dissect cancel parameters */
-void dissect_cancel_info(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_cancel_info(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* Command Level */
proto_tree_add_item(tree, hf_msmms_command_prefix1_command_level, tvb, offset, 4, TRUE);
@@ -1005,7 +1005,7 @@ void dissect_cancel_info(tvbuff_t *tvb, proto_tree *tree, guint offset)
}
/* Dissect timing test data request */
-void dissect_timing_test_request(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_timing_test_request(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* Flags */
proto_tree_add_item(tree, hf_msmms_command_prefix1, tvb, offset, 4, TRUE);
@@ -1015,7 +1015,7 @@ void dissect_timing_test_request(tvbuff_t *tvb, proto_tree *tree, guint offset)
}
/* Dissect timing test data response */
-void dissect_timing_test_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_timing_test_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* ErrorCode */
proto_tree_add_item(tree, hf_msmms_command_prefix1_error, tvb, offset, 4, TRUE);
@@ -1040,8 +1040,8 @@ void dissect_timing_test_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
}
/* Dissect request for server file */
-void dissect_request_server_file(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
- guint offset, guint length_remaining)
+static void dissect_request_server_file(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
+ guint offset, guint length_remaining)
{
char *server_file;
@@ -1069,7 +1069,7 @@ void dissect_request_server_file(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
}
/* Dissect media details from server */
-void dissect_media_details(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_media_details(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* ErrorCode */
proto_tree_add_item(tree, hf_msmms_command_prefix1_error, tvb, offset, 4, TRUE);
@@ -1108,7 +1108,7 @@ void dissect_media_details(tvbuff_t *tvb, proto_tree *tree, guint offset)
}
/* Dissect header response */
-void dissect_header_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_header_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* ErrorCode */
proto_tree_add_item(tree, hf_msmms_command_prefix1_error, tvb, offset, 4, TRUE);
@@ -1122,7 +1122,7 @@ void dissect_header_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
}
/* Dissect network timer test response */
-void dissect_network_timer_test_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_network_timer_test_response(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* Command Level */
proto_tree_add_item(tree, hf_msmms_command_prefix1_command_level, tvb, offset, 4, TRUE);
@@ -1132,8 +1132,8 @@ void dissect_network_timer_test_response(tvbuff_t *tvb, proto_tree *tree, guint
}
/* Dissect transport info response */
-void dissect_transport_info_response(tvbuff_t *tvb, proto_tree *tree,
- guint offset, guint length_remaining)
+static void dissect_transport_info_response(tvbuff_t *tvb, proto_tree *tree,
+ guint offset, guint length_remaining)
{
char *strange_string;
@@ -1156,7 +1156,7 @@ void dissect_transport_info_response(tvbuff_t *tvb, proto_tree *tree,
}
/* Media stream MBR selector */
-void dissect_media_stream_mbr_selector(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_media_stream_mbr_selector(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* Stream structure count (always 1) */
proto_tree_add_item(tree, hf_msmms_command_stream_structure_count, tvb, offset, 4, TRUE);
@@ -1172,7 +1172,7 @@ void dissect_media_stream_mbr_selector(tvbuff_t *tvb, proto_tree *tree, guint of
}
/* Dissect header request */
-void dissect_header_request(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_header_request(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
gint n = 0;
@@ -1194,7 +1194,7 @@ void dissect_header_request(tvbuff_t *tvb, proto_tree *tree, guint offset)
}
/* Dissect stop button pressed */
-void dissect_stop_button_pressed(tvbuff_t *tvb, proto_tree *tree, guint offset)
+static void dissect_stop_button_pressed(tvbuff_t *tvb, proto_tree *tree, guint offset)
{
/* Command Level */
proto_tree_add_item(tree, hf_msmms_command_prefix1_command_level, tvb, offset, 4, TRUE);
@@ -1207,7 +1207,7 @@ void dissect_stop_button_pressed(tvbuff_t *tvb, proto_tree *tree, guint offset)
/********************************************************/
/* Helper function to set up an MS-MMS data conversation */
/********************************************************/
-void msmms_data_add_address(packet_info *pinfo, address *addr, port_type pt, int port)
+static void msmms_data_add_address(packet_info *pinfo, address *addr, port_type pt, int port)
{
address null_addr;
conversation_t* p_conv;
@@ -1284,7 +1284,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1296,7 +1296,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1308,7 +1308,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1320,7 +1320,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1332,7 +1332,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1344,7 +1344,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1356,7 +1356,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1368,7 +1368,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1380,7 +1380,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(to_server_command_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1392,7 +1392,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(to_client_command_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1404,7 +1404,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(command_direction_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
@@ -1417,7 +1417,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1429,7 +1429,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(server_to_client_error_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1441,7 +1441,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1453,7 +1453,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1465,7 +1465,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1477,7 +1477,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1489,7 +1489,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1501,7 +1501,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1513,7 +1513,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1525,7 +1525,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1537,7 +1537,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1549,7 +1549,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1561,7 +1561,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1573,7 +1573,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1585,7 +1585,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1597,7 +1597,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1609,7 +1609,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1621,7 +1621,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(media_result_flags_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1633,7 +1633,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(broadcast_indexing_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1645,7 +1645,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(broadcast_liveness_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1657,7 +1657,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1669,7 +1669,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1681,7 +1681,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1693,7 +1693,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1705,7 +1705,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1717,7 +1717,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1729,7 +1729,7 @@ void proto_register_msmms(void)
BASE_DEC,
VALS(stream_selection_action_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1741,7 +1741,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
@@ -1756,7 +1756,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1768,7 +1768,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1780,7 +1780,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1792,7 +1792,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
@@ -1805,7 +1805,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1817,7 +1817,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1829,7 +1829,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1841,7 +1841,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1853,7 +1853,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1865,7 +1865,7 @@ void proto_register_msmms(void)
BASE_HEX,
VALS(tcp_flags_vals),
0x0,
- "", HFILL
+ NULL, HFILL
}
},
@@ -1878,7 +1878,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1890,7 +1890,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1902,7 +1902,7 @@ void proto_register_msmms(void)
BASE_DEC,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1914,7 +1914,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1926,7 +1926,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
{
@@ -1938,7 +1938,7 @@ void proto_register_msmms(void)
BASE_HEX,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
@@ -1952,7 +1952,7 @@ void proto_register_msmms(void)
BASE_NONE,
NULL,
0x0,
- "", HFILL
+ NULL, HFILL
}
},
diff --git a/epan/dissectors/packet-netflow.c b/epan/dissectors/packet-netflow.c
index 8149fb6af8..0e027238e6 100644
--- a/epan/dissectors/packet-netflow.c
+++ b/epan/dissectors/packet-netflow.c
@@ -450,7 +450,7 @@ const value_string special_mpls_top_label_type[] = {
{0, NULL }
};
-void
+static void
proto_tree_add_mpls_label(proto_tree * pdutree, tvbuff_t * tvb, int offset, int length, int level)
{
if( length == 3) {
@@ -2701,89 +2701,89 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
static int
dissect_v9_options(proto_tree * pdutree, tvbuff_t * tvb, int offset, hdrinfo_t * hdrinfo)
{
- guint16 length, option_scope_len, option_len, i, id, size;
- guint16 type, scope_pen_count = 0, pen_count = 0;
- struct v9_template template;
- int template_offset;
- int scopes_offset;
-
- id = tvb_get_ntohs(tvb, offset);
- proto_tree_add_item(pdutree, hf_cflow_template_id, tvb,
- offset, 2, FALSE);
- offset += 2;
-
- option_scope_len = length = tvb_get_ntohs(tvb, offset);
- proto_tree_add_item(pdutree, hf_cflow_option_scope_length, tvb,
- offset, 2, FALSE);
- offset += 2;
-
- option_len = length = tvb_get_ntohs(tvb, offset);
- proto_tree_add_item(pdutree, hf_cflow_option_length, tvb,
- offset, 2, FALSE);
- offset += 2;
-
- scopes_offset = offset;
-
- for(i=0; i<option_scope_len; i++) {
- type = tvb_get_ntohs(tvb, offset);
- proto_tree_add_item(pdutree, hf_cflow_template_scope_field_type, tvb,
- offset, 2, FALSE);
- offset += 2; i += 2;
-
- length = tvb_get_ntohs(tvb, offset);
- proto_tree_add_item(pdutree, hf_cflow_template_scope_field_length, tvb,
- offset, 2, FALSE);
- offset += 2; i += 2;
-
- if (type & 0x8000) { /* Private Enterprise Number (IPFIX only) */
- proto_tree_add_item(pdutree,
- hf_cflow_template_field_pen, tvb, offset, 4, FALSE);
- scope_pen_count++;
- offset += 4; i += 4;
- }
- }
-
- template_offset = offset;
-
- for(i=0; i<option_len;) {
- type = tvb_get_ntohs(tvb, offset);
- proto_tree_add_item(pdutree, hf_cflow_template_field_type, tvb,
- offset, 2, FALSE);
- offset += 2; i += 2;
-
- length = tvb_get_ntohs(tvb, offset);
- proto_tree_add_item(pdutree, hf_cflow_template_field_length, tvb,
- offset, 2, FALSE);
- offset += 2; i += 2;
-
- if (type & 0x8000) { /* Private Enterprise Number (IPFIX only) */
- proto_tree_add_item(pdutree,
- hf_cflow_template_field_pen, tvb, offset, 4, FALSE);
- pen_count++;
- offset += 4; i += 4;
- }
- }
-
- /* Cache template */
- memset(&template, 0, sizeof(template));
- template.id = id;
- template.count = option_len/4;
- SE_COPY_ADDRESS(&template.source_addr, &hdrinfo->net_src);
- template.source_id = hdrinfo->src_id;
- /* Option scopes */
- template.count_scopes = option_scope_len/4;
- size = template.count_scopes * sizeof(struct v9_template_entry) + scope_pen_count * 4;
- template.scopes = g_malloc( size );
- tvb_memcpy(tvb, (guint8 *)template.scopes, scopes_offset, size);
-
- template.option_template = 1; /* Option template */
- size = template.count * sizeof(struct v9_template_entry) + pen_count * 4;
- template.entries = g_malloc(size);
- tvb_memcpy(tvb, (guint8 *)template.entries, template_offset, size);
-
- v9_template_add(&template);
-
- return (0);
+ guint16 length, option_scope_len, option_len, i, id, size;
+ guint16 type, scope_pen_count = 0, pen_count = 0;
+ struct v9_template template;
+ int template_offset;
+ int scopes_offset;
+
+ id = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(pdutree, hf_cflow_template_id, tvb,
+ offset, 2, FALSE);
+ offset += 2;
+
+ option_scope_len = length = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(pdutree, hf_cflow_option_scope_length, tvb,
+ offset, 2, FALSE);
+ offset += 2;
+
+ option_len = length = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(pdutree, hf_cflow_option_length, tvb,
+ offset, 2, FALSE);
+ offset += 2;
+
+ scopes_offset = offset;
+
+ for(i=0; i<option_scope_len; i++) {
+ type = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(pdutree, hf_cflow_template_scope_field_type, tvb,
+ offset, 2, FALSE);
+ offset += 2; i += 2;
+
+ length = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(pdutree, hf_cflow_template_scope_field_length, tvb,
+ offset, 2, FALSE);
+ offset += 2; i += 2;
+
+ if (type & 0x8000) { /* Private Enterprise Number (IPFIX only) */
+ proto_tree_add_item(pdutree,
+ hf_cflow_template_field_pen, tvb, offset, 4, FALSE);
+ scope_pen_count++;
+ offset += 4; i += 4;
+ }
+ }
+
+ template_offset = offset;
+
+ for(i=0; i<option_len;) {
+ type = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(pdutree, hf_cflow_template_field_type, tvb,
+ offset, 2, FALSE);
+ offset += 2; i += 2;
+
+ length = tvb_get_ntohs(tvb, offset);
+ proto_tree_add_item(pdutree, hf_cflow_template_field_length, tvb,
+ offset, 2, FALSE);
+ offset += 2; i += 2;
+
+ if (type & 0x8000) { /* Private Enterprise Number (IPFIX only) */
+ proto_tree_add_item(pdutree,
+ hf_cflow_template_field_pen, tvb, offset, 4, FALSE);
+ pen_count++;
+ offset += 4; i += 4;
+ }
+ }
+
+ /* Cache template */
+ memset(&template, 0, sizeof(template));
+ template.id = id;
+ template.count = option_len/4;
+ SE_COPY_ADDRESS(&template.source_addr, &hdrinfo->net_src);
+ template.source_id = hdrinfo->src_id;
+ /* Option scopes */
+ template.count_scopes = option_scope_len/4;
+ size = template.count_scopes * sizeof(struct v9_template_entry) + scope_pen_count * 4;
+ template.scopes = g_malloc( size );
+ tvb_memcpy(tvb, (guint8 *)template.scopes, scopes_offset, size);
+
+ template.option_template = 1; /* Option template */
+ size = template.count * sizeof(struct v9_template_entry) + pen_count * 4;
+ template.entries = g_malloc(size);
+ tvb_memcpy(tvb, (guint8 *)template.entries, template_offset, size);
+
+ v9_template_add(&template);
+
+ return (0);
}
static int
diff --git a/epan/dissectors/packet-ptp.c b/epan/dissectors/packet-ptp.c
index ade39b8fab..7d069e3cd2 100644
--- a/epan/dissectors/packet-ptp.c
+++ b/epan/dissectors/packet-ptp.c
@@ -2145,7 +2145,7 @@ dissect_ptp_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* Code to dissect PTPText */
-void
+static void
dissect_ptp_v2_text(tvbuff_t *tvb, guint16 *cur_offset, proto_tree *tree, int hf_ptp_v2_mm_ptptext, int hf_ptp_v2_mm_ptptext_length)
{
guint8 length = 0;
@@ -2170,7 +2170,7 @@ dissect_ptp_v2_text(tvbuff_t *tvb, guint16 *cur_offset, proto_tree *tree, int hf
}
}
-void
+static void
dissect_ptp_v2_timeInterval(tvbuff_t *tvb, guint16 *cur_offset, proto_tree *tree, char* name, int hf_ptp_v2_timeInterval_ns, int hf_ptp_v2_timeInterval_subns)
{
@@ -2215,7 +2215,7 @@ dissect_ptp_v2_timeInterval(tvbuff_t *tvb, guint16 *cur_offset, proto_tree *tree
/* Code to actually dissect the PTPv2 packets */
-void
+static void
dissect_ptp_v2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint8 ptp_v2_messageid = 0;
@@ -3466,88 +3466,88 @@ proto_register_ptp(void)
{ &hf_ptp_versionptp,
{ "versionPTP", "ptp.versionptp",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_versionnetwork,
{ "versionNetwork", "ptp.versionnetwork",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_subdomain,
{ "subdomain", "ptp.subdomain",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_messagetype,
{ "messageType", "ptp.messagetype",
FT_UINT8, BASE_DEC, VALS(ptp_messagetype_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sourcecommunicationtechnology,
{ "sourceCommunicationTechnology", "ptp.sourcecommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sourceuuid,
{ "sourceUuid", "ptp.sourceuuid",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sourceportid,
{ "sourcePortId", "ptp.sourceportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sequenceid,
{ "sequenceId", "ptp.sequenceid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_control,
{ "control", "ptp.control",
FT_UINT8, BASE_DEC, VALS(ptp_control_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*THE FLAGS-FIELD*/
{ &hf_ptp_flags,
{ "flags", "ptp.flags",
FT_UINT16, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_flags_li61,
{ "PTP_LI61", "ptp.flags.li61",
FT_UINT16, BASE_DEC, VALS(ptp_bool_vals), PTP_FLAGS_LI61_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_flags_li59,
{ "PTP_LI59", "ptp.flags.li59",
FT_UINT16, BASE_DEC, VALS(ptp_bool_vals), PTP_FLAGS_LI59_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_flags_boundary_clock,
{ "PTP_BOUNDARY_CLOCK", "ptp.flags.boundary_clock",
FT_UINT16, BASE_DEC, VALS(ptp_bool_vals), PTP_FLAGS_BOUNDARY_CLOCK_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_flags_assist,
{ "PTP_ASSIST", "ptp.flags.assist",
FT_UINT16, BASE_DEC, VALS(ptp_bool_vals), PTP_FLAGS_ASSIST_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_flags_ext_sync,
{ "PTP_EXT_SYNC", "ptp.flags.ext_sync",
FT_UINT16, BASE_DEC, VALS(ptp_bool_vals), PTP_FLAGS_EXT_SYNC_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_flags_parent,
{ "PTP_PARENT_STATS", "ptp.flags.parent_stats",
FT_UINT16, BASE_DEC, VALS(ptp_bool_vals), PTP_FLAGS_PARENT_STATS_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_flags_sync_burst,
{ "PTP_SYNC_BURST", "ptp.flags.sync_burst",
FT_UINT16, BASE_DEC, VALS(ptp_bool_vals), PTP_FLAGS_SYNC_BURST_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
/*END OF THE FLAG-FIELD*/
@@ -3555,692 +3555,692 @@ proto_register_ptp(void)
{ &hf_ptp_sdr_origintimestamp,
{ "originTimestamp", "ptp.sdr.origintimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_origintimestamp_seconds,
{ "originTimestamp (seconds)", "ptp.sdr.origintimestamp_seconds",
FT_UINT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_origintimestamp_nanoseconds,
{ "originTimestamp (nanoseconds)", "ptp.sdr.origintimestamp_nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_epochnumber,
{ "epochNumber", "ptp.sdr.epochnumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_currentutcoffset,
{ "currentUTCOffset", "ptp.sdr.currentutcoffset",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmastercommunicationtechnology,
{ "grandmasterCommunicationTechnology", "ptp.sdr.grandmastercommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmasterclockuuid,
{ "grandMasterClockUuid", "ptp.sdr.grandmasterclockuuid",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmasterportid,
{ "grandmasterPortId", "ptp.sdr.grandmasterportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmastersequenceid,
{ "grandmasterSequenceId", "ptp.sdr.grandmastersequenceid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmasterclockstratum,
{ "grandmasterClockStratum", "ptp.sdr.grandmasterclockstratum",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmasterclockidentifier,
{ "grandmasterClockIdentifier", "ptp.sdr.grandmasterclockidentifier",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmasterclockvariance,
{ "grandmasterClockVariance", "ptp.sdr.grandmasterclockvariance",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmasterpreferred,
{ "grandmasterPreferred", "ptp.sdr.grandmasterpreferred",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_grandmasterisboundaryclock,
{ "grandmasterIsBoundaryClock", "ptp.sdr.grandmasterisboundaryclock",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_syncinterval,
{ "syncInterval", "ptp.sdr.syncinterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_localclockvariance,
{ "localClockVariance", "ptp.sdr.localclockvariance",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_localstepsremoved,
{ "localStepsRemoved", "ptp.sdr.localstepsremoved",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_localclockstratum,
{ "localClockStratum", "ptp.sdr.localclockstratum",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_localclockidentifier,
{ "localClockIdentifier", "ptp.sdr.localclockidentifier",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_parentcommunicationtechnology,
{ "parentCommunicationTechnology", "ptp.sdr.parentcommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_parentuuid,
{ "parentUuid", "ptp.sdr.parentuuid",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_parentportfield,
{ "parentPortField", "ptp.sdr.parentportfield",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_estimatedmastervariance,
{ "estimatedMasterVariance", "ptp.sdr.estimatedmastervariance",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_estimatedmasterdrift,
{ "estimatedMasterDrift", "ptp.sdr.estimatedmasterdrift",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_sdr_utcreasonable,
{ "utcReasonable", "ptp.sdr.utcreasonable",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*offsets for follow_up (=fu) messages*/
{ &hf_ptp_fu_associatedsequenceid,
{ "associatedSequenceId", "ptp.fu.associatedsequenceid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_fu_preciseorigintimestamp,
{ "preciseOriginTimestamp", "ptp.fu.hf_ptp_fu_preciseorigintimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_fu_preciseorigintimestamp_seconds,
{ "preciseOriginTimestamp (seconds)", "ptp.fu.hf_ptp_fu_preciseorigintimestamp_seconds",
FT_UINT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_fu_preciseorigintimestamp_nanoseconds,
{ "preciseOriginTimestamp (nanoseconds)", "ptp.fu.preciseorigintimestamp_nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*offsets for delay_resp (=dr) messages*/
{ &hf_ptp_dr_delayreceipttimestamp,
{ "delayReceiptTimestamp", "ptp.dr.delayreceipttimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_dr_delayreceipttimestamp_seconds,
{ "delayReceiptTimestamp (Seconds)", "ptp.dr.delayreceipttimestamp_seconds",
FT_UINT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_dr_delayreceipttimestamp_nanoseconds,
{ "delayReceiptTimestamp (nanoseconds)", "ptp.dr.delayreceipttimestamp_nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_dr_requestingsourcecommunicationtechnology,
{ "requestingSourceCommunicationTechnology", "ptp.dr.requestingsourcecommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_dr_requestingsourceuuid,
{ "requestingSourceUuid", "ptp.dr.requestingsourceuuid",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_dr_requestingsourceportid,
{ "requestingSourcePortId", "ptp.dr.requestingsourceportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_dr_requestingsourcesequenceid,
{ "requestingSourceSequenceId", "ptp.dr.requestingsourcesequenceid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*offsets for management (=mm) messages*/
{ &hf_ptp_mm_targetcommunicationtechnology,
{ "targetCommunicationTechnology", "ptp.mm.targetcommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_targetuuid,
{ "targetUuid", "ptp.mm.targetuuid",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_targetportid,
{ "targetPortId", "ptp.mm.targetportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_startingboundaryhops,
{ "startingBoundaryHops", "ptp.mm.startingboundaryhops",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_boundaryhops,
{ "boundaryHops", "ptp.mm.boundaryhops",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_managementmessagekey,
{ "managementMessageKey", "ptp.mm.managementmessagekey",
FT_UINT8, BASE_DEC, VALS(ptp_managementMessageKey_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parameterlength,
{ "parameterLength", "ptp.mm.parameterlength",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*parameterlength > 0*/
{ &hf_ptp_mm_messageparameters,
{ "messageParameters", "ptp.mm.messageparameters",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_clock_identity (parameterlength = 64)*/
{ &hf_ptp_mm_clock_identity_clockcommunicationtechnology,
{ "clockCommunicationTechnology", "ptp.mm.clock.identity.clockcommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_clock_identity_clockuuidfield,
{ "clockUuidField", "ptp.mm.clock.identity.clockuuidfield",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_clock_identity_clockportfield,
{ "clockPortField", "ptp.mm.clock.identity.clockportfield",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_clock_identity_manufactureridentity,
{ "manufacturerIdentity", "ptp.mm.clock.identity.manufactureridentity",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_initialize_clock (parameterlength = 4)*/
{ &hf_ptp_mm_initialize_clock_initialisationkey,
{ "initialisationKey", "ptp.mm.initialize.clock.initialisationkey",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_set_subdomain (parameterlength = 16)*/
{ &hf_ptp_mm_set_subdomain_subdomainname,
{ "subdomainName", "ptp.mm.set.subdomain.subdomainname",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_default_data_set (parameterlength = 76)*/
{ &hf_ptp_mm_default_data_set_clockcommunicationtechnology,
{ "clockCommunicationTechnology", "ptp.mm.default.data.set.clockcommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_clockuuidfield,
{ "clockUuidField", "ptp.mm.default.data.set.clockuuidfield",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_clockportfield,
{ "clockPortField", "ptp.mm.default.data.set.clockportfield",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_clockstratum,
{ "clockStratum", "ptp.mm.default.data.set.clockstratum",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_clockidentifier,
{ "clockIdentifier", "ptp.mm.default.data.set.clockidentifier",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_clockvariance,
{ "clockVariance", "ptp.mm.default.data.set.clockvariance",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_clockfollowupcapable,
{ "clockFollowupCapable", "ptp.mm.default.data.set.clockfollowupcapable",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_preferred,
{ "preferred", "ptp.mm.default.data.set.preferred",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_initializable,
{ "initializable", "ptp.mm.default.data.set.initializable",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_externaltiming,
{ "externalTiming", "ptp.mm.default.data.set.externaltiming",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_isboundaryclock,
{ "isBoundaryClock", "ptp.mm.default.data.set.isboundaryclock",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_syncinterval,
{ "syncInterval", "ptp.mm.default.data.set.syncinterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_subdomainname,
{ "subDomainName", "ptp.mm.default.data.set.subdomainname",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_numberports,
{ "numberPorts", "ptp.mm.default.data.set.numberports",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_default_data_set_numberforeignrecords,
{ "numberForeignRecords", "ptp.mm.default.data.set.numberforeignrecords",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_update_default_data_set (parameterlength = 36)*/
{ &hf_ptp_mm_update_default_data_set_clockstratum,
{ "clockStratum", "ptp.mm.update.default.data.set.clockstratum",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_default_data_set_clockidentifier,
{ "clockIdentifier", "ptp.mm.update.default.data.set.clockidentifier",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_default_data_set_clockvariance,
{ "clockVariance", "ptp.mm.update.default.data.set.clockvariance",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_default_data_set_preferred,
{ "preferred", "ptp.mm.update.default.data.set.preferred",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_default_data_set_syncinterval,
{ "syncInterval", "ptp.mm.update.default.data.set.syncinterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_default_data_set_subdomainname,
{ "subdomainName", "ptp.mm.update.default.data.set.subdomainname",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_current_data_set (parameterlength = 20)*/
{ &hf_ptp_mm_current_data_set_stepsremoved,
{ "stepsRemoved", "ptp.mm.current.data.set.stepsremoved",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_current_data_set_offsetfrommaster,
{ "offsetFromMaster", "ptp.mm.current.data.set.offsetfrommaster",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_current_data_set_offsetfrommasterseconds,
{ "offsetFromMasterSeconds", "ptp.mm.current.data.set.offsetfrommasterseconds",
FT_UINT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_current_data_set_offsetfrommasternanoseconds,
{ "offsetFromMasterNanoseconds", "ptp.mm.current.data.set.offsetfrommasternanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_current_data_set_onewaydelay,
{ "oneWayDelay", "ptp.mm.current.data.set.onewaydelay",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_current_data_set_onewaydelayseconds,
{ "oneWayDelaySeconds", "ptp.mm.current.data.set.onewaydelayseconds",
FT_UINT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_current_data_set_onewaydelaynanoseconds,
{ "oneWayDelayNanoseconds", "ptp.mm.current.data.set.onewaydelaynanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_parent_data_set (parameterlength = 90)*/
{ &hf_ptp_mm_parent_data_set_parentcommunicationtechnology,
{ "parentCommunicationTechnology", "ptp.mm.parent.data.set.parentcommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_parentuuid,
{ "parentUuid", "ptp.mm.parent.data.set.parentuuid",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_parentportid,
{ "parentPortId", "ptp.mm.parent.data.set.parentportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_parentlastsyncsequencenumber,
{ "parentLastSyncSequenceNumber", "ptp.mm.parent.data.set.parentlastsyncsequencenumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_parentfollowupcapable,
{ "parentFollowupCapable", "ptp.mm.parent.data.set.parentfollowupcapable",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_parentexternaltiming,
{ "parentExternalTiming", "ptp.mm.parent.data.set.parentexternaltiming",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_parentvariance,
{ "parentVariance", "ptp.mm.parent.data.set.parentvariance",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_parentstats,
{ "parentStats", "ptp.mm.parent.data.set.parentstats",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_observedvariance,
{ "observedVariance", "ptp.mm.parent.data.set.observedvariance",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_observeddrift,
{ "observedDrift", "ptp.mm.parent.data.set.observeddrift",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_utcreasonable,
{ "utcReasonable", "ptp.mm.parent.data.set.utcreasonable",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmastercommunicationtechnology,
{ "grandmasterCommunicationTechnology", "ptp.mm.parent.data.set.grandmastercommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmasteruuidfield,
{ "grandmasterUuidField", "ptp.mm.parent.data.set.grandmasteruuidfield",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmasterportidfield,
{ "grandmasterPortIdField", "ptp.mm.parent.data.set.grandmasterportidfield",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmasterstratum,
{ "grandmasterStratum", "ptp.mm.parent.data.set.grandmasterstratum",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmasteridentifier,
{ "grandmasterIdentifier", "ptp.mm.parent.data.set.grandmasteridentifier",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmastervariance,
{ "grandmasterVariance", "ptp.mm.parent.data.set.grandmastervariance",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmasterpreferred,
{ "grandmasterPreferred", "ptp.mm.parent.data.set.grandmasterpreferred",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmasterisboundaryclock,
{ "grandmasterIsBoundaryClock", "ptp.mm.parent.data.set.grandmasterisboundaryclock",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_parent_data_set_grandmastersequencenumber,
{ "grandmasterSequenceNumber", "ptp.mm.parent.data.set.grandmastersequencenumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_port_data_set (parameterlength = 52)*/
{ &hf_ptp_mm_port_data_set_returnedportnumber,
{ "returnedPortNumber", "ptp.mm.port.data.set.returnedportnumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_portstate,
{ "portState", "ptp.mm.port.data.set.portstate",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_lastsynceventsequencenumber,
{ "lastSyncEventSequenceNumber", "ptp.mm.port.data.set.lastsynceventsequencenumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_lastgeneraleventsequencenumber,
{ "lastGeneralEventSequenceNumber", "ptp.mm.port.data.set.lastgeneraleventsequencenumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_portcommunicationtechnology,
{ "portCommunicationTechnology", "ptp.mm.port.data.set.portcommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_portuuidfield,
{ "portUuidField", "ptp.mm.port.data.set.portuuidfield",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_portidfield,
{ "portIdField", "ptp.mm.port.data.set.portidfield",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_burstenabled,
{ "burstEnabled", "ptp.mm.port.data.set.burstenabled",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_subdomainaddressoctets,
{ "subdomainAddressOctets", "ptp.mm.port.data.set.subdomainaddressoctets",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_eventportaddressoctets,
{ "eventPortAddressOctets", "ptp.mm.port.data.set.eventportaddressoctets",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_generalportaddressoctets,
{ "generalPortAddressOctets", "ptp.mm.port.data.set.generalportaddressoctets",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_subdomainaddress,
{ "subdomainAddress", "ptp.mm.port.data.set.subdomainaddress",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_eventportaddress,
{ "eventPortAddress", "ptp.mm.port.data.set.eventportaddress",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_port_data_set_generalportaddress,
{ "generalPortAddress", "ptp.mm.port.data.set.generalportaddress",
FT_BYTES, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_global_time_data_set (parameterlength = 24)*/
{ &hf_ptp_mm_global_time_data_set_localtime,
{ "localTime", "ptp.mm.global.time.data.set.localtime",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_global_time_data_set_localtimeseconds,
{ "localTimeSeconds", "ptp.mm.global.time.data.set.localtimeseconds",
FT_UINT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_global_time_data_set_localtimenanoseconds,
{ "localTimeNanoseconds", "ptp.mm.global.time.data.set.localtimenanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_global_time_data_set_currentutcoffset,
{ "currentUtcOffset", "ptp.mm.global.time.data.set.currentutcoffset",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_global_time_data_set_leap59,
{ "leap59", "ptp.mm.global.time.data.set.leap59",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_global_time_data_set_leap61,
{ "leap61", "ptp.mm.global.time.data.set.leap61",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_global_time_data_set_epochnumber,
{ "epochNumber", "ptp.mm.global.time.data.set.epochnumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_update_global_time_properties (parameterlength = 16)*/
{ &hf_ptp_mm_update_global_time_properties_currentutcoffset,
{ "currentUtcOffset", "ptp.mm.update.global.time.properties.currentutcoffset",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_global_time_properties_leap59,
{ "leap59", "ptp.mm.update.global.time.properties.leap59",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_global_time_properties_leap61,
{ "leap61", "ptp.mm.update.global.time.properties.leap61",
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_update_global_time_properties_epochnumber,
{ "epochNumber", "ptp.mm.update.global.time.properties.epochnumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_get_foreign_data_set (parameterlength = 4)*/
{ &hf_ptp_mm_get_foreign_data_set_recordkey,
{ "recordKey", "ptp.mm.get.foreign.data.set.recordkey",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_foreign_data_set (parameterlength = 28)*/
{ &hf_ptp_mm_foreign_data_set_returnedportnumber,
{ "returnedPortNumber", "ptp.mm.foreign.data.set.returnedportnumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_foreign_data_set_returnedrecordnumber,
{ "returnedRecordNumber", "ptp.mm.foreign.data.set.returnedrecordnumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_foreign_data_set_foreignmastercommunicationtechnology,
{ "foreignMasterCommunicationTechnology",
"ptp.mm.foreign.data.set.foreignmastercommunicationtechnology",
FT_UINT8, BASE_DEC, VALS(ptp_communicationid_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_foreign_data_set_foreignmasteruuidfield,
{ "foreignMasterUuidField", "ptp.mm.foreign.data.set.foreignmasteruuidfield",
FT_ETHER, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_foreign_data_set_foreignmasterportidfield,
{ "foreignMasterPortIdField", "ptp.mm.foreign.data.set.foreignmasterportidfield",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_foreign_data_set_foreignmastersyncs,
{ "foreignMasterSyncs", "ptp.mm.foreign.data.set.foreignmastersyncs",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_set_sync_interval (parameterlength = 4)*/
{ &hf_ptp_mm_set_sync_interval_syncinterval,
{ "syncInterval", "ptp.mm.set.sync.interval.syncinterval",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*ptp_mm_set_time (parameterlength = 8)*/
{ &hf_ptp_mm_set_time_localtime,
{ "localtime", "ptp.mm.set.time.localtime",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_set_time_localtimeseconds,
{ "localtimeSeconds", "ptp.mm.set.time.localtimeseconds",
FT_UINT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_mm_set_time_localtimenanoseconds,
{ "localTimeNanoseconds", "ptp.mm.set.time.localtimenanoseconds",
FT_INT32, BASE_DEC, NULL, 0x0,
- "", HFILL }
+ NULL, HFILL }
},
@@ -4251,965 +4251,965 @@ proto_register_ptp(void)
{ &hf_ptp_v2_transportspecific,
{ "transportSpecific", "ptp.v2.transportspecific",
FT_UINT8, BASE_HEX, NULL, 0xF0,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_transportspecific_v1_compatibility,
{ "V1 Compatibility", "ptp.v2.transportspecific.v1compatibility",
FT_BOOLEAN, 8, NULL, PTP_V2_TRANSPORTSPECIFIC_V1COMPATIBILITY_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_transportspecific_802as_conform,
{ "802.1as conform", "ptp.v2.transportspecific.802.1asconform",
FT_BOOLEAN, 8, NULL, PTP_V2_TRANSPORTSPECIFIC_V1COMPATIBILITY_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_messageid,
{ "messageId", "ptp.v2.messageid",
FT_UINT8, BASE_HEX, VALS(ptp_v2_messageid_vals), 0x0F,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_versionptp,
{ "versionPTP", "ptp.v2.versionptp",
FT_UINT8, BASE_DEC, NULL, 0x0F,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_messagelength,
{ "messageLength", "ptp.v2.messagelength",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_domainnumber,
{ "subdomainNumber", "ptp.v2.subdomainnumber",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags,
{ "flags", "ptp.v2.flags",
FT_UINT16, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_alternatemaster,
{ "PTP_ALTERNATE_MASTER", "ptp.v2.flags.alternatemaster",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_ALTERNATE_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_twostep,
{ "PTP_TWO_STEP", "ptp.v2.flags.twostep",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_TWO_STEP_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_unicast,
{ "PTP_UNICAST", "ptp.v2.flags.unicast",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_UNICAST_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_specific1,
{ "PTP profile Specific 1", "ptp.v2.flags.specific1",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_SPECIFIC1_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_specific2,
{ "PTP profile Specific 2", "ptp.v2.flags.specific2",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_SPECIFIC2_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_security,
{ "PTP_SECURITY", "ptp.v2.flags.security",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_SECURITY_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_li61,
{ "PTP_LI_61", "ptp.v2.flags.li61",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_LI61_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_li59,
{ "PTP_LI_59", "ptp.v2.flags.li59",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_LI59_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_utcoffsetvalid,
{ "PTP_UTC_REASONABLE", "ptp.v2.flags.utcreasonable",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_UTC_OFFSET_VALID_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_ptptimescale,
{ "PTP_TIMESCALE", "ptp.v2.flags.timescale",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_PTP_TIMESCALE_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_timetraceable,
{ "TIME_TRACEABLE", "ptp.v2.flags.timetraceable",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_TIME_TRACEABLE_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_flags_frequencytraceable,
{ "FREQUENCY_TRACEABLE", "ptp.v2.flags.frequencytraceable",
FT_BOOLEAN, 16, NULL, PTP_V2_FLAGS_FREQUENCY_TRACEABLE_BITMASK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_correction,
{ "correction", "ptp.v2.correction.ns",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_correctionsubns,
{ "correctionSubNs", "ptp.v2.correction.subns",
FT_DOUBLE, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_clockidentity,
{ "ClockIdentity", "ptp.v2.clockidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_sourceportid,
{ "SourcePortID", "ptp.v2.sourceportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_sequenceid,
{ "sequenceId", "ptp.v2.sequenceid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_control,
{ "control", "ptp.v2.control",
FT_UINT8, BASE_DEC, VALS(ptp_control_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_logmessageperiod,
{ "logMessagePeriod", "ptp.v2.logmessageperiod",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_Announce (=an) messages*/
{ &hf_ptp_v2_an_origintimestamp,
{ "originTimestamp", "ptp.v2.an.origintimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_origintimestamp_seconds,
{ "originTimestamp (seconds)", "ptp.v2.an.origintimestamp.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_origintimestamp_nanoseconds,
{ "originTimestamp (nanoseconds)", "ptp.v2.an.origintimestamp.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_origincurrentutcoffset,
{ "originCurrentUTCOffset", "ptp.v2.an.origincurrentutcoffset",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_timesource,
{ "TimeSource", "ptp.v2.timesource",
FT_UINT8, BASE_HEX, VALS(ptp_v2_timesource_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_localstepsremoved,
{ "localStepsRemoved", "ptp.v2.an.localstepsremoved",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_grandmasterclockidentity,
{ "grandmasterClockIdentity", "ptp.v2.an.grandmasterclockidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_grandmasterclockclass,
{ "grandmasterClockClass", "ptp.v2.an.grandmasterclockclass",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_grandmasterclockaccuracy,
{ "grandmasterClockAccuracy", "ptp.v2.an.grandmasterclockaccuracy",
FT_UINT8, BASE_HEX, VALS(ptp_v2_clockaccuracy_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_grandmasterclockvariance,
{ "grandmasterClockVariance", "ptp.v2.an.grandmasterclockvariance",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_priority1,
{ "priority1", "ptp.v2.an.priority1",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_priority2,
{ "priority2", "ptp.v2.an.priority2",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_Announce TLVs */
{ &hf_ptp_v2_an_tlv_tlvtype,
{ "tlvType", "ptp.v2.an.tlvType",
FT_UINT16, BASE_DEC, VALS(ptp_v2_TLV_type_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_an_tlv_lengthfield,
{ "lengthField", "ptp.v2.an.lengthField",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for ALTERNATE_TIME_OFFSET_INDICATOR TLV */
{ &hf_ptp_v2_atoi_tlv_keyfield,
{ "keyField", "ptp.v2.an.atoi.keyField",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_atoi_tlv_currentoffset,
{ "currentOffset", "ptp.v2.an.atoi.currentOffset",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_atoi_tlv_jumpseconds,
{ "jumpSeconds", "ptp.v2.an.atoi.jumpSeconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_atoi_tlv_timeofnextjump,
{ "timeOfNextJump", "ptp.v2.an.atoi.timeOfNextJump",
FT_BYTES, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_atoi_tlv_displayname,
{ "displayName", "ptp.v2.an.atoi.dislpayName",
FT_STRING, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_atoi_tlv_displayname_length,
{ "length", "ptp.v2.an.atoi.dislpayName.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/* Fields for undissected TLV */
{ &hf_ptp_v2_an_tlv_data,
{ "data", "ptp.v2.an.tlv.data",
FT_BYTES, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_Sync AND PTP_DelayRequest (=sdr) messages*/
{ &hf_ptp_v2_sdr_origintimestamp,
{ "originTimestamp", "ptp.v2.sdr.origintimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_sdr_origintimestamp_seconds,
{ "originTimestamp (seconds)", "ptp.v2.sdr.origintimestamp.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_sdr_origintimestamp_nanoseconds,
{ "originTimestamp (nanoseconds)", "ptp.v2.sdr.origintimestamp.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_Follow_Up (=fu) messages*/
{ &hf_ptp_v2_fu_preciseorigintimestamp,
{ "preciseOriginTimestamp", "ptp.v2.fu.preciseorigintimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_fu_preciseorigintimestamp_seconds,
{ "preciseOriginTimestamp (seconds)", "ptp.v2.fu.preciseorigintimestamp.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_fu_preciseorigintimestamp_nanoseconds,
{ "preciseOriginTimestamp (nanoseconds)", "ptp.v2.fu.preciseorigintimestamp.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_DelayResponse (=dr) messages*/
{ &hf_ptp_v2_dr_receivetimestamp,
{ "receiveTimestamp", "ptp.v2.dr.receivetimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_dr_receivetimestamp_seconds,
{ "receiveTimestamp (seconds)", "ptp.v2.dr.receivetimestamp.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_dr_receivetimestamp_nanoseconds,
{ "receiveTimestamp (nanoseconds)", "ptp.v2.dr.receivetimestamp.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_dr_requestingportidentity,
{ "requestingSourcePortIdentity", "ptp.v2.dr.requestingsourceportidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_dr_requestingsourceportid,
{ "requestingSourcePortId", "ptp.v2.dr.requestingsourceportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_PDelayRequest (=pdrq) messages*/
{ &hf_ptp_v2_pdrq_origintimestamp,
{ "originTimestamp", "ptp.v2.pdrq.origintimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdrq_origintimestamp_seconds,
{ "originTimestamp (seconds)", "ptp.v2.pdrq.origintimestamp.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdrq_origintimestamp_nanoseconds,
{ "originTimestamp (nanoseconds)", "ptp.v2.pdrq.origintimestamp.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_PDelayResponse (=pdrs) messages*/
{ &hf_ptp_v2_pdrs_requestreceipttimestamp,
{ "requestreceiptTimestamp", "ptp.v2.pdrs.requestreceipttimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdrs_requestreceipttimestamp_seconds,
{ "requestreceiptTimestamp (seconds)", "ptp.v2.pdrs.requestreceipttimestamp.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdrs_requestreceipttimestamp_nanoseconds,
{ "requestreceiptTimestamp (nanoseconds)", "ptp.v2.pdrs.requestreceipttimestamp.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdrs_requestingportidentity,
{ "requestingSourcePortIdentity", "ptp.v2.pdrs.requestingportidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdrs_requestingsourceportid,
{ "requestingSourcePortId", "ptp.v2.pdrs.requestingsourceportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_PDelayResponseFollowUp (=pdfu) messages*/
{ &hf_ptp_v2_pdfu_responseorigintimestamp,
{ "responseOriginTimestamp", "ptp.v2.pdfu.responseorigintimestamp",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdfu_responseorigintimestamp_seconds,
{ "responseOriginTimestamp (seconds)", "ptp.v2.pdfu.responseorigintimestamp.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdfu_responseorigintimestamp_nanoseconds,
{ "responseOriginTimestamp (nanoseconds)", "ptp.v2.pdfu.responseorigintimestamp.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdfu_requestingportidentity,
{ "requestingSourcePortIdentity", "ptp.v2.pdfu.requestingportidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_pdfu_requestingsourceportid,
{ "requestingSourcePortId", "ptp.v2.pdfu.requestingsourceportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_Signalling (=sig) messages*/
{ &hf_ptp_v2_sig_targetportidentity,
{ "targetPortIdentity", "ptp.v2.sig.targetportidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_sig_targetportid,
{ "targetPortId", "ptp.v2.sig.targetportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/*Fields for PTP_Management (=mm) messages*/
{ &hf_ptp_v2_mm_targetportidentity,
{ "targetPortIdentity", "ptp.v2.mm.targetportidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_targetportid,
{ "targetPortId", "ptp.v2.mm.targetportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_startingboundaryhops,
{ "startingBoundaryHops", "ptp.v2.mm.startingboundaryhops",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_boundaryhops,
{ "boundaryHops", "ptp.v2.mm.boundaryhops",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_action,
{ "action", "ptp.v2.mm.action",
FT_UINT8, BASE_DEC, VALS(ptp_v2_mm_action_vals), 0x0F,
- "", HFILL }
+ NULL, HFILL }
},
/* Management TLV */
{ &hf_ptp_v2_mm_tlvType,
{ "tlvType", "ptp.v2.mm.tlvType",
FT_UINT16, BASE_DEC, VALS(ptp_v2_TLV_type_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_lengthField,
{ "lengthField", "ptp.v2.mm.lengthField",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_managementId,
{ "managementId", "ptp.v2.mm.managementId",
FT_UINT16, BASE_DEC, VALS(ptp_v2_managementID_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_data,
{ "data", "ptp.v2.mm.data",
FT_BYTES, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
/* Management TLV dataField */
/* CLOCK_DESCRIPTION */
{ &hf_ptp_v2_mm_clockType,
{ "clockType", "ptp.v2.mm.clockType",
FT_UINT16, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockType_ordinaryClock,
{ "The node implements an ordinary clock", "ptp.v2.mm.clockType.OC",
FT_BOOLEAN, 16, NULL, CLOCKTYPE_ORDINARY_CLOCK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockType_boundaryClock,
{ "The node implements a boundary clock", "ptp.v2.mm.clockType.BC",
FT_BOOLEAN, 16, NULL, CLOCKTYPE_BOUNDARY_CLOCK,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockType_p2p_transparentClock,
{ "The node implements a peer-to-peer transparent clock", "ptp.v2.mm.clockType.p2p_TC",
FT_BOOLEAN, 16, NULL, CLOCKTYPE_P2P_TC,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockType_e2e_transparentClock,
{ "The node implements an end-to-end transparent clock", "ptp.v2.mm.clockType.e2e_TC",
FT_BOOLEAN, 16, NULL, CLOCKTYPE_E2E_TC,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockType_managementNode,
{ "The node implements a management node", "ptp.v2.mm.clockType.MM",
FT_BOOLEAN, 16, NULL, CLOCKTYPE_MANAGEMENT_NODE,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockType_reserved,
{ "Reserved", "ptp.v2.mm.clockType.reserved",
FT_BOOLEAN, 16, NULL, CLOCKTYPE_RESERVED,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_physicalLayerProtocol,
{ "physicalLayerProtocol", "ptp.v2.mm.physicalLayerProtocol",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_physicalLayerProtocol_length,
{ "length", "ptp.v2.mm.physicalLayerProtocol.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_physicalAddressLength,
{ "physical address length", "ptp.v2.mm.physicalAddressLength",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_physicalAddress,
{ "physical address", "ptp.v2.mm.physicalAddress",
FT_BYTES, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_protocolAddress,
{ "protocol address", "ptp.v2.mm.protocolAddress",
FT_BYTES, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_protocolAddress_networkProtocol,
{ "network protocol", "ptp.v2.mm.networkProtocol",
FT_UINT16, BASE_DEC, VALS(ptp2_networkProtocol_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_protocolAddress_length,
{ "length", "ptp.v2.mm.protocolAddress.length",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_manufacturerIdentity,
{ "manufacturer identity", "ptp.v2.mm.manufacturerIdentity",
FT_BYTES, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_reserved,
{ "reserved", "ptp.v2.mm.reserved",
FT_BYTES, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_productDescription,
{ "product description", "ptp.v2.mm.productDescription",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_productDescription_length,
{ "length", "ptp.v2.mm.productDescription.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_revisionData,
{ "revision data", "ptp.v2.mm.revisionData",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_revisionData_length,
{ "length", "ptp.v2.mm.revisionData.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_userDescription,
{ "user description", "ptp.v2.mm.userDescription",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_userDescription_length,
{ "length", "ptp.v2.mm.userDescription.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_profileIdentity,
{ "profileIdentity", "ptp.v2.mm.profileIdentity",
FT_BYTES, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_pad,
{ "Pad", "ptp.v2.mm.pad",
FT_BYTES, BASE_HEX, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_initializationKey,
{ "initialization key", "ptp.v2.mm.initializationKey",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_numberOfFaultRecords,
{ "number of fault records", "ptp.v2.mm.numberOfFaultRecords",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultRecord,
{ "fault record", "ptp.v2.mm.faultRecord",
FT_BYTES, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultRecordLength,
{ "fault record length", "ptp.v2.mm.faultRecordLength",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_severityCode,
{ "severity code", "ptp.v2.mm.severityCode",
FT_UINT8, BASE_DEC, VALS(ptp2_severityCode_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultName,
{ "faultName", "ptp.v2.mm.faultName",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultName_length,
{ "length", "ptp.v2.mm.faultName.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultValue,
{ "faultValue", "ptp.v2.mm.faultValue",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultValue_length,
{ "length", "ptp.v2.mm.faultValue.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultDescription,
{ "faultDescription", "ptp.v2.mm.faultDescription",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultDescription_length,
{ "length", "ptp.v2.mm.faultDescription.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultTime,
{ "Fault time", "ptp.v2.mm.faultTime",
FT_RELATIVE_TIME, BASE_NONE, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultTime_s,
{ "Fault time (seconds)", "ptp.v2.mm.faultTime.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultTime_ns,
{ "Fault time (nanoseconds)", "ptp.v2.mm.faultTime.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_currentTime_s,
{ "current time (seconds)", "ptp.v2.mm.currentTime.seconds",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_currentTime_ns,
{ "current time (nanoseconds)", "ptp.v2.mm.currentTime.nanoseconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockAccuracy,
{ "Clock accuracy", "ptp.v2.mm.clockaccuracy",
FT_UINT8, BASE_HEX, VALS(ptp_v2_clockaccuracy_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_priority1,
{ "priority1", "ptp.v2.mm.priority1",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_priority2,
{ "priority2", "ptp.v2.mm.priority2",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_dds_SO,
{ "Slave only", "ptp.v2.mm.SlavOnly",
FT_BOOLEAN, 8, NULL, 0x02,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_TSC,
{ "Two step", "ptp.v2.mm.twoStep",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_numberPorts,
{ "number of ports", "ptp.v2.mm.numberPorts",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockclass,
{ "Clock class", "ptp.v2.mm.clockclass",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockaccuracy,
{ "Clock accuracy", "ptp.v2.mm.clockaccuracy",
FT_UINT8, BASE_HEX, VALS(ptp_v2_clockaccuracy_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockvariance,
{ "Clock variance", "ptp.v2.mm.clockvariance",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_clockidentity,
{ "Clock identity", "ptp.v2.mm.clockidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_domainNumber,
{ "domain number", "ptp.v2.mm.domainNumber",
FT_UINT8, BASE_DEC, NULL , 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_SO,
{ "Slave only", "ptp.v2.mm.SlavOnly",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_stepsRemoved,
{ "steps removed", "ptp.v2.mm.stepsRemoved",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_parentIdentity,
{ "parent ClockIdentity", "ptp.v2.mm.parentclockidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_parentPort,
{ "parent SourcePortID", "ptp.v2.mm.parentsourceportid",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_parentStats,
{ "parent stats", "ptp.v2.mm.parentstats",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_observedParentOffsetScaledLogVariance,
{ "observedParentOffsetScaledLogVariance", "ptp.v2.mm.observedParentOffsetScaledLogVariance",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_observedParentClockPhaseChangeRate,
{ "observedParentClockPhaseChangeRate", "ptp.v2.mm.observedParentClockPhaseChangeRate",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_grandmasterPriority1,
{ "Grandmaster priority1", "ptp.v2.mm.grandmasterPriority1",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_grandmasterPriority2,
{ "Grandmaster priority2", "ptp.v2.mm.grandmasterPriority2",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_grandmasterclockclass,
{ "Grandmaster clock class", "ptp.v2.mm.grandmasterclockclass",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_grandmasterclockaccuracy,
{ "Grandmaster clock accuracy", "ptp.v2.mm.grandmasterclockaccuracy",
FT_UINT8, BASE_HEX, VALS(ptp_v2_clockaccuracy_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_grandmasterclockvariance,
{ "Grandmaster clock variance", "ptp.v2.mm.grandmasterclockvariance",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_grandmasterIdentity,
{ "Grandmaster clock identity", "ptp.v2.mm.grandmasterclockidentity",
FT_UINT64, BASE_HEX, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_currentUtcOffset,
{ "CurrentUTCOffset", "ptp.v2.mm.currentutcoffset",
FT_INT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_LI_61,
{ "leap 61", "ptp.v2.mm.li61",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_LI_59,
{ "leap 59", "ptp.v2.mm.li59",
FT_BOOLEAN, 8, NULL, 0x02,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_UTCV,
{ "CurrentUTCOffset valid", "ptp.v2.mm.CurrentUTCOffsetValid",
FT_BOOLEAN, 8, NULL, 0x04,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_PTP,
{ "PTP timescale", "ptp.v2.mm.ptptimescale",
FT_BOOLEAN, 8, NULL, 0x08,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_TTRA,
{ "Time traceable", "ptp.v2.mm.timeTraceable",
FT_BOOLEAN, 8, NULL, 0x10,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_FTRA,
{ "Frequency traceable", "ptp.v2.mm.frequencyTraceable",
FT_BOOLEAN, 8, NULL, 0x20,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_timesource,
{ "TimeSource", "ptp.v2.mm.timesource",
FT_UINT8, BASE_HEX, VALS(ptp_v2_timesource_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_offset_ns,
{ "correction", "ptp.v2.mm.offset.ns",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_offset_subns,
{ "SubNs", "ptp.v2.mm.offset.subns",
FT_DOUBLE, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_pathDelay_ns,
{ "ns", "ptp.v2.mm.pathDelay.ns",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_pathDelay_subns,
{ "SubNs", "ptp.v2.mm.pathDelay.subns",
FT_DOUBLE, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_PortNumber,
{ "PortNumber", "ptp.v2.mm.PortNumber",
FT_UINT16, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_portState,
{ "Port state", "ptp.v2.mm.portState",
FT_UINT8, BASE_DEC, VALS(ptp2_portState_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_logMinDelayReqInterval,
{ "logMinDelayReqInterval", "ptp.v2.mm.logMinDelayReqInterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_peerMeanPathDelay_ns,
{ "ns", "ptp.v2.mm.peerMeanPathDelay.ns",
FT_UINT64, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_peerMeanPathDelay_subns,
{ "SubNs", "ptp.v2.mm.peerMeanPathDelay.subns",
FT_DOUBLE, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_logAnnounceInterval,
{ "logAnnounceInterval", "ptp.v2.mm.logAnnounceInterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_announceReceiptTimeout,
{ "announceReceiptTimeout", "ptp.v2.mm.announceReceiptTimeout",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_logSyncInterval,
{ "logSyncInterval", "ptp.v2.mm.logSyncInterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_delayMechanism,
{ "Delay mechanism", "ptp.v2.mm.delayMechanism",
FT_UINT8, BASE_DEC, VALS(ptp2_delayMechanism_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_logMinPdelayReqInterval,
{ "logMinPdelayReqInterval", "ptp.v2.mm.logMinPdelayReqInterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_versionNumber,
{ "versionNumber", "ptp.v2.mm.versionNumber",
FT_UINT8, BASE_DEC, NULL, 0x0F,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_primaryDomain,
{ "Primary domain number", "ptp.v2.mm.primaryDomain",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_faultyFlag,
{ "Faulty flag", "ptp.v2.mm.faultyFlag",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_managementErrorId,
{ "managementErrorId", "ptp.v2.mm.managementErrorId",
FT_UINT16, BASE_DEC, VALS(ptp2_managementErrorId_vals), 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_displayData,
{ "Display data", "ptp.v2.mm.displayData",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_displayData_length,
{ "length", "ptp.v2.mm.displayData.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_ucEN,
{ "Enable unicast", "ptp.v2.mm.unicastEnable",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_ptEN,
{ "Path trace unicast", "ptp.v2.mm.pathTraceEnable",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_atEN,
{ "Path trace unicast", "ptp.v2.mm.pathTraceEnable",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_keyField,
{ "Key field", "ptp.v2.mm.keyField",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_displayName,
{ "Display name", "ptp.v2.mm.displayName",
FT_STRING, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_displayName_length,
{ "length", "ptp.v2.mm.displayName.length",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_maxKey,
{ "Max key", "ptp.v2.mm.maxKey",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_currentOffset,
{ "Current offset", "ptp.v2.mm.currentOffset",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_jumpSeconds,
{ "Jump seconds", "ptp.v2.mm.jumpSeconds",
FT_INT32, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_numberOfAlternateMasters,
{ "Number of alternate masters", "ptp.v2.mm.numberOfAlternateMasters",
FT_UINT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_logAlternateMulticastSyncInterval,
{ "Alternate multicast sync interval", "ptp.v2.mm.AlternateMulticastSyncInterval",
FT_INT8, BASE_DEC, NULL, 0x00,
- "", HFILL }
+ NULL, HFILL }
},
{ &hf_ptp_v2_mm_transmitAlternateMulticastSync,
{ "Transmit alternate multicast sync", "ptp.v2.mm.transmitAlternateMulticastSync",
FT_BOOLEAN, 8, NULL, 0x01,
- "", HFILL }
+ NULL, HFILL }
},
};
diff --git a/epan/dissectors/packet-ssh.c b/epan/dissectors/packet-ssh.c
index 006647371e..cce7b34aad 100644
--- a/epan/dissectors/packet-ssh.c
+++ b/epan/dissectors/packet-ssh.c
@@ -221,7 +221,7 @@ static int ssh_dissect_protocol(tvbuff_t *tvb, packet_info *pinfo,
static int ssh_dissect_encrypted_packet(tvbuff_t *tvb, packet_info *pinfo,
struct ssh_flow_data *global_data,
int offset, proto_tree *tree,int is_response);
-proto_item * ssh_proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb,
+static proto_item * ssh_proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb,
gint start, gint length, gboolean little_endian);
@@ -1005,7 +1005,7 @@ ssh_dissect_key_init(tvbuff_t *tvb, int offset, proto_tree *tree,
return offset;
}
-proto_item *
+static proto_item *
ssh_proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb,
gint start, gint length, gboolean little_endian)
{
@@ -1134,108 +1134,107 @@ proto_register_ssh(void)
FT_BYTES, BASE_NONE, NULL, 0x0,
"SSH Protocol Packet MAC", HFILL }},
- { &hf_ssh_kex_algorithms,
+ { &hf_ssh_kex_algorithms,
{ "kex_algorithms string", "ssh.kex_algorithms",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH kex_algorithms string", HFILL }},
- { &hf_ssh_server_host_key_algorithms,
+ { &hf_ssh_server_host_key_algorithms,
{ "server_host_key_algorithms string", "ssh.server_host_key_algorithms",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH server_host_key_algorithms string", HFILL }},
- { &hf_ssh_encryption_algorithms_client_to_server,
+ { &hf_ssh_encryption_algorithms_client_to_server,
{ "encryption_algorithms_client_to_server string", "ssh.encryption_algorithms_client_to_server",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH encryption_algorithms_client_to_server string", HFILL }},
- { &hf_ssh_encryption_algorithms_server_to_client,
+ { &hf_ssh_encryption_algorithms_server_to_client,
{ "encryption_algorithms_server_to_client string", "ssh.encryption_algorithms_server_to_client",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH encryption_algorithms_server_to_client string", HFILL }},
- { &hf_ssh_mac_algorithms_client_to_server,
+ { &hf_ssh_mac_algorithms_client_to_server,
{ "mac_algorithms_client_to_server string", "ssh.mac_algorithms_client_to_server",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH mac_algorithms_client_to_server string", HFILL }},
- { &hf_ssh_mac_algorithms_server_to_client,
+ { &hf_ssh_mac_algorithms_server_to_client,
{ "mac_algorithms_server_to_client string", "ssh.mac_algorithms_server_to_client",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH mac_algorithms_server_to_client string", HFILL }},
- { &hf_ssh_compression_algorithms_client_to_server,
+ { &hf_ssh_compression_algorithms_client_to_server,
{ "compression_algorithms_client_to_server string", "ssh.compression_algorithms_client_to_server",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH compression_algorithms_client_to_server string", HFILL }},
- { &hf_ssh_compression_algorithms_server_to_client,
+ { &hf_ssh_compression_algorithms_server_to_client,
{ "compression_algorithms_server_to_client string", "ssh.compression_algorithms_server_to_client",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH compression_algorithms_server_to_client string", HFILL }},
- { &hf_ssh_languages_client_to_server,
+ { &hf_ssh_languages_client_to_server,
{ "languages_client_to_server string", "ssh.languages_client_to_server",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH languages_client_to_server string", HFILL }},
- { &hf_ssh_languages_server_to_client,
+ { &hf_ssh_languages_server_to_client,
{ "languages_server_to_client string", "ssh.languages_server_to_client",
FT_STRINGZ, BASE_NONE, NULL, 0x0,
"SSH languages_server_to_client string", HFILL }},
- { &hf_ssh_kex_algorithms_length,
+ { &hf_ssh_kex_algorithms_length,
{ "kex_algorithms length", "ssh.kex_algorithms_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH kex_algorithms length", HFILL }},
- { &hf_ssh_server_host_key_algorithms_length,
+ { &hf_ssh_server_host_key_algorithms_length,
{ "server_host_key_algorithms length", "ssh.server_host_key_algorithms_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH server_host_key_algorithms length", HFILL }},
- { &hf_ssh_encryption_algorithms_client_to_server_length,
+ { &hf_ssh_encryption_algorithms_client_to_server_length,
{ "encryption_algorithms_client_to_server length", "ssh.encryption_algorithms_client_to_server_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH encryption_algorithms_client_to_server length", HFILL }},
- { &hf_ssh_encryption_algorithms_server_to_client_length,
+ { &hf_ssh_encryption_algorithms_server_to_client_length,
{ "encryption_algorithms_server_to_client length", "ssh.encryption_algorithms_server_to_client_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH encryption_algorithms_server_to_client length", HFILL }},
- { &hf_ssh_mac_algorithms_client_to_server_length,
+ { &hf_ssh_mac_algorithms_client_to_server_length,
{ "mac_algorithms_client_to_server length", "ssh.mac_algorithms_client_to_server_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH mac_algorithms_client_to_server length", HFILL }},
- { &hf_ssh_mac_algorithms_server_to_client_length,
+ { &hf_ssh_mac_algorithms_server_to_client_length,
{ "mac_algorithms_server_to_client length", "ssh.mac_algorithms_server_to_client_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH mac_algorithms_server_to_client length", HFILL }},
- { &hf_ssh_compression_algorithms_client_to_server_length,
+ { &hf_ssh_compression_algorithms_client_to_server_length,
{ "compression_algorithms_client_to_server length", "ssh.compression_algorithms_client_to_server_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH compression_algorithms_client_to_server length", HFILL }},
- { &hf_ssh_compression_algorithms_server_to_client_length,
+ { &hf_ssh_compression_algorithms_server_to_client_length,
{ "compression_algorithms_server_to_client length", "ssh.compression_algorithms_server_to_client_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH compression_algorithms_server_to_client length", HFILL }},
- { &hf_ssh_languages_client_to_server_length,
+ { &hf_ssh_languages_client_to_server_length,
{ "languages_client_to_server length", "ssh.languages_client_to_server_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH languages_client_to_server length", HFILL }},
- { &hf_ssh_languages_server_to_client_length,
+ { &hf_ssh_languages_server_to_client_length,
{ "languages_server_to_client length", "ssh.languages_server_to_client_length",
FT_UINT32, BASE_DEC, NULL, 0x0,
"SSH languages_server_to_client length", HFILL }},
-
-
};
+
static gint *ett[] = {
&ett_ssh,
&ett_key_exchange,
@@ -1245,16 +1244,15 @@ proto_register_ssh(void)
};
module_t *ssh_module;
- proto_ssh = proto_register_protocol("SSH Protocol",
- "SSH", "ssh");
- proto_register_field_array(proto_ssh, hf, array_length(hf));
+ proto_ssh = proto_register_protocol("SSH Protocol", "SSH", "ssh");
+ proto_register_field_array(proto_ssh, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
ssh_module = prefs_register_protocol(proto_ssh, NULL);
prefs_register_bool_preference(ssh_module, "desegment_buffers",
"Reassemble SSH buffers spanning multiple TCP segments",
"Whether the SSH dissector should reassemble SSH buffers spanning multiple TCP segments. "
- "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
+ "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
&ssh_desegment);
}
diff --git a/epan/dissectors/packet-ucp.c b/epan/dissectors/packet-ucp.c
index 3f9add97c0..0c1c966ad7 100644
--- a/epan/dissectors/packet-ucp.c
+++ b/epan/dissectors/packet-ucp.c
@@ -57,9 +57,9 @@ static void dissect_ucp_common(tvbuff_t *, packet_info *, proto_tree *);
/* Tap Record */
typedef struct _ucp_tap_rec_t {
- guint message_type; /* 0 = Operation; 1 = Result */
- guint operation; /* Operation Type */
- guint result; /* 0 = Success; Non 0 = Error Code */
+ guint message_type; /* 0 = Operation; 1 = Result */
+ guint operation; /* Operation Type */
+ guint result; /* 0 = Success; Non 0 = Error Code */
} ucp_tap_rec_t;
/* Preferences */
@@ -647,7 +647,7 @@ static const value_string vals_xser_service[] = {
};
/* For statistics */
-void
+static void
ucp_stats_tree_init(stats_tree* st)
{
st_ucp_messages = stats_tree_create_node(st, st_str_ucp, 0, TRUE);
@@ -658,7 +658,7 @@ ucp_stats_tree_init(stats_tree* st)
st_ucp_results_neg = stats_tree_create_node(st, st_str_neg, st_ucp_results, TRUE);
}
-int
+static int
ucp_stats_tree_per_packet(stats_tree *st, /* st as it was passed to us */
packet_info *pinfo _U_,
epan_dissect_t *edt _U_,
@@ -1742,22 +1742,22 @@ get_ucp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
guint intval=0;
int i;
- offset = offset + 4;
- for (i = 0; i < UCP_LEN_LEN; i++) { /* Length */
- intval = 10 * intval +
- (tvb_get_guint8(tvb, offset) - '0');
- offset++;
- }
+ offset = offset + 4;
+ for (i = 0; i < UCP_LEN_LEN; i++) { /* Length */
+ intval = 10 * intval +
+ (tvb_get_guint8(tvb, offset) - '0');
+ offset++;
+ }
- return intval + 2;
+ return intval + 2;
}
static void
dissect_ucp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
- tcp_dissect_pdus(tvb, pinfo, tree, ucp_desegment, UCP_HEADER_SIZE,
- get_ucp_pdu_len, dissect_ucp_common);
+ tcp_dissect_pdus(tvb, pinfo, tree, ucp_desegment, UCP_HEADER_SIZE,
+ get_ucp_pdu_len, dissect_ucp_common);
}
/*
* The actual dissector
@@ -1809,7 +1809,7 @@ dissect_ucp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* Make entries in Info column on summary display */
if (check_col(pinfo->cinfo, COL_PROTOCOL))
col_set_str(pinfo->cinfo, COL_PROTOCOL, "UCP");
- if (check_col(pinfo->cinfo, COL_INFO)) {
+ if (check_col(pinfo->cinfo, COL_INFO)) {
col_clear(pinfo->cinfo, COL_INFO);
col_append_fstr(pinfo->cinfo, COL_INFO, "%s (%s)",
val_to_str(OT, vals_hdr_OT, "unknown operation"),
@@ -2725,12 +2725,12 @@ proto_register_ucp(void)
ucp_tap = register_tap("ucp");
/* register preferences */
- ucp_module = prefs_register_protocol(proto_ucp, NULL);
- prefs_register_bool_preference(ucp_module, "desegment_ucp_messages",
- "Reassemble UCP messages spanning multiple TCP segments",
- "Whether the UCP 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.",
- &ucp_desegment);
+ ucp_module = prefs_register_protocol(proto_ucp, NULL);
+ prefs_register_bool_preference(ucp_module, "desegment_ucp_messages",
+ "Reassemble UCP messages spanning multiple TCP segments",
+ "Whether the UCP 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.",
+ &ucp_desegment);
}