aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2010-03-02 06:12:21 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2010-03-02 06:12:21 +0000
commit8cbeee42fef8948282e411fbf59df1e87faa2669 (patch)
tree7de53d9240dd31bb1c66b86db2e52921dbfcea81
parentd4caaf816a35c8c86529032ef43ccd10633cfe7d (diff)
From Hitoshi Irino:
Displaying value and type of IPFIX reverse PEN elements in data records https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4399 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@32082 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--asn1/snmp/packet-snmp-template.c44
-rw-r--r--capinfos.c8
-rw-r--r--capture_sync.c2
-rw-r--r--color_filters.c48
-rw-r--r--epan/dissectors/packet-netflow.c689
-rw-r--r--epan/dissectors/packet-snmp.c46
-rw-r--r--fileset.c22
-rw-r--r--fileset.h12
8 files changed, 463 insertions, 408 deletions
diff --git a/asn1/snmp/packet-snmp-template.c b/asn1/snmp/packet-snmp-template.c
index 022dc2fd2e..90bbe4d6e5 100644
--- a/asn1/snmp/packet-snmp-template.c
+++ b/asn1/snmp/packet-snmp-template.c
@@ -1114,11 +1114,11 @@ static snmp_ue_assoc_t* localize_ue( snmp_ue_assoc_t* o, const guint8* engine, g
#define localized_match(a,u,ul,e,el) \
( a->user.userName.len == ul \
&& a->engine.len == el \
- && memcmp( a->user.userName.data, u, (a->user.userName.len < ul) ? a->user.userName.len : ul ) == 0 \
- && memcmp( a->engine.data, e, (a->engine.len < el) ? a->engine.len : el ) == 0 )
+ && memcmp( a->user.userName.data, u, ul ) == 0 \
+ && memcmp( a->engine.data, e, el ) == 0 )
#define unlocalized_match(a,u,l) \
- ( a->user.userName.len == l && memcmp( a->user.userName.data, u, a->user.userName.len < l ? a->user.userName.len : l) == 0 )
+ ( a->user.userName.len == l && memcmp( a->user.userName.data, u, l) == 0 )
static snmp_ue_assoc_t* get_user_assoc(tvbuff_t* engine_tvb, tvbuff_t* user_tvb) {
static snmp_ue_assoc_t* a;
@@ -1830,7 +1830,8 @@ static void snmp_usm_password_to_key_sha1(const guint8 *password,
}
-static void process_prefs(void) {}
+static void process_prefs(void) {
+}
static void* snmp_users_copy_cb(void* dest, const void* orig, unsigned len _U_) {
const snmp_ue_assoc_t* o = orig;
@@ -1861,7 +1862,7 @@ static void* snmp_users_copy_cb(void* dest, const void* orig, unsigned len _U_)
d->user.privKey.data = o->user.privKey.data ? g_memdup(o->user.privKey.data,o->user.privKey.len) : NULL;
d->user.privKey.len = o->user.privKey.len;
-
+
return d;
}
@@ -1878,16 +1879,40 @@ static void snmp_users_free_cb(void* p) {
static void snmp_users_update_cb(void* p _U_, const char** err) {
snmp_ue_assoc_t* ue = p;
GString* es = g_string_new("");
-
+ unsigned i;
+
*err = NULL;
- if (! ue->user.userName.len) g_string_append(es,"no userName, ");
-
+ if (! ue->user.userName.len)
+ g_string_append_printf(es,"no userName\n",num_ueas);
+
+ for (i=0; i<num_ueas-1; i++) {
+ snmp_ue_assoc_t* u = &(ueas[i]);
+
+
+ if ( u->user.userName.len == ue->user.userName.len
+ && u->engine.len == ue->engine.len ) {
+
+ if (u->engine.len > 0 && memcmp( u->engine.data, ue->engine.data, u->engine.len ) == 0) {
+ if ( memcmp( u->user.userName.data, ue->user.userName.data, ue->user.userName.len ) == 0 ) {
+ /* XXX: make a string for the engineId */
+ g_string_append_printf(es,"duplicate key (userName='%s' engineId='???')\n",ue->user.userName.data);
+ }
+ }
+
+ if (u->engine.len == 0) {
+ if ( memcmp( u->user.userName.data, ue->user.userName.data, ue->user.userName.len ) == 0 ) {
+ g_string_append_printf(es,"duplicate key (userName='%s' engineId=NONE)\n",ue->user.userName.data);
+ }
+ }
+ }
+ }
+
if (es->len) {
g_string_truncate(es,es->len-2);
*err = ep_strdup(es->str);
}
-
+
g_string_free(es,TRUE);
return;
@@ -2108,6 +2133,7 @@ void proto_register_snmp(void) {
value_sub_dissectors_table = register_dissector_table("snmp.variable_oid","SNMP Variable OID", FT_STRING, BASE_NONE);
register_init_routine(renew_ue_cache);
+
}
diff --git a/capinfos.c b/capinfos.c
index 90a638d6b9..da32dceb74 100644
--- a/capinfos.c
+++ b/capinfos.c
@@ -253,7 +253,7 @@ ctime_no_lf(const time_t* timer)
static gchar *
time_string(const time_t *timer, capture_info *cf_info, gboolean want_lf)
{
- gchar *lf = want_lf ? "\n" : "";
+ const gchar *lf = want_lf ? "\n" : "";
static gchar time_string_buf[15];
if (cf_info->packet_count > 0) {
@@ -278,7 +278,7 @@ secs_nsecs(const struct wtap_nstime * nstime)
return (nstime->nsecs / 1000000000.0) + (double)nstime->secs;
}
-static void print_value(gchar *text_p1, gint width, gchar *text_p2, double value) {
+static void print_value(const gchar *text_p1, gint width, const gchar *text_p2, double value) {
if (value > 0.0)
printf("%s%.*f%s\n", text_p1, width, value, text_p2);
else
@@ -333,7 +333,7 @@ putquote(void)
}
static void
-print_stats_table_header_label(gchar *label)
+print_stats_table_header_label(const gchar *label)
{
putsep();
putquote();
@@ -886,7 +886,7 @@ main(int argc, char *argv[])
gcry_md_enable(hd, GCRY_MD_RMD160);
gcry_md_enable(hd, GCRY_MD_MD5);
}
- hash_buf = g_malloc(HASH_BUF_SIZE);
+ hash_buf = (char *)g_malloc(HASH_BUF_SIZE);
}
#endif
diff --git a/capture_sync.c b/capture_sync.c
index bcfeba534a..3b04933337 100644
--- a/capture_sync.c
+++ b/capture_sync.c
@@ -615,7 +615,7 @@ sync_pipe_open_command(const char** argv, int *read_fd, int *fork_child, gchar *
sa.lpSecurityDescriptor = NULL;
/* Create a pipe for the child process */
- /* (inrease this value if you have trouble while fast capture file switches) */
+ /* (increase this value if you have trouble while fast capture file switches) */
if (! CreatePipe(&sync_pipe_read, &sync_pipe_write, &sa, 5120)) {
/* Couldn't create the pipe between parent and child. */
*msg = g_strdup_printf("Couldn't create sync pipe: %s", strerror(errno));
diff --git a/color_filters.c b/color_filters.c
index dd41ec7d09..7d624c9404 100644
--- a/color_filters.c
+++ b/color_filters.c
@@ -79,7 +79,7 @@ color_filter_new(const gchar *name, /* The name of the filter to create */
{
color_filter_t *colorf;
- colorf = g_malloc(sizeof (color_filter_t));
+ colorf = (color_filter_t *)g_malloc(sizeof (color_filter_t));
colorf->filter_name = g_strdup(name);
colorf->filter_text = g_strdup(filter_string);
colorf->bg_color = *bg_color;
@@ -137,8 +137,8 @@ color_filters_add_tmp(GSList **cfl)
static gint
color_filters_find_by_name_cb(gconstpointer arg1, gconstpointer arg2)
{
- color_filter_t *colorf = (color_filter_t *)arg1;
- gchar *name = (gchar *)arg2;
+ const color_filter_t *colorf = (const color_filter_t *)arg1;
+ const gchar *name = (const gchar *)arg2;
return (strstr(colorf->filter_name, name)==NULL) ? -1 : 0 ;
}
@@ -148,12 +148,12 @@ color_filters_find_by_name_cb(gconstpointer arg1, gconstpointer arg2)
void
color_filters_set_tmp(guint8 filt_nr, gchar *filter, gboolean disabled)
{
- gchar *name = NULL;
- gchar *tmpfilter = NULL;
- GSList *cfl;
+ gchar *name = NULL;
+ const gchar *tmpfilter = NULL;
+ GSList *cfl;
color_filter_t *colorf;
dfilter_t *compiled_filter;
- guint8 i;
+ guint8 i;
/* Go through the tomporary filters and look for the same filter string.
* If found, clear it so that a filter can be "moved" up and down the list
@@ -167,7 +167,7 @@ color_filters_set_tmp(guint8 filt_nr, gchar *filter, gboolean disabled)
name = g_strdup_printf("%s%02d",TEMP_COLOR_PREFIX,i);
cfl = g_slist_find_custom(color_filter_list, (gpointer *) name, color_filters_find_by_name_cb);
- colorf = cfl->data;
+ colorf = (color_filter_t *)cfl->data;
/* Only change the filter rule if this is the rule to change or if
* a matching filter string has been found
@@ -230,7 +230,7 @@ color_filter_delete(color_filter_t *colorf)
static void
color_filter_delete_cb(gpointer filter_arg, gpointer unused _U_)
{
- color_filter_t *colorf = filter_arg;
+ color_filter_t *colorf = (color_filter_t *)filter_arg;
color_filter_delete(colorf);
}
@@ -250,7 +250,7 @@ color_filter_clone(color_filter_t *colorf)
{
color_filter_t *new_colorf;
- new_colorf = g_malloc(sizeof (color_filter_t));
+ new_colorf = (color_filter_t *)g_malloc(sizeof (color_filter_t));
new_colorf->filter_name = g_strdup(colorf->filter_name);
new_colorf->filter_text = g_strdup(colorf->filter_text);
new_colorf->bg_color = colorf->bg_color;
@@ -266,10 +266,10 @@ color_filter_clone(color_filter_t *colorf)
static void
color_filter_list_clone_cb(gpointer filter_arg, gpointer cfl_arg)
{
- gpointer *cfl = cfl_arg;
+ GSList **cfl = (GSList **)cfl_arg;
color_filter_t *new_colorf;
- new_colorf = color_filter_clone(filter_arg);
+ new_colorf = color_filter_clone((color_filter_t *)filter_arg);
*cfl = g_slist_append(*cfl, new_colorf);
}
@@ -327,7 +327,7 @@ color_filters_cleanup(void)
static void
color_filters_clone_cb(gpointer filter_arg, gpointer user_data)
{
- color_filter_t * new_colorf = color_filter_clone(filter_arg);
+ color_filter_t * new_colorf = color_filter_clone((color_filter_t *)filter_arg);
color_filter_add_cb (new_colorf, user_data);
}
@@ -341,7 +341,7 @@ color_filters_clone(gpointer user_data)
static void
color_filter_compile_cb(gpointer filter_arg, gpointer unused _U_)
{
- color_filter_t *colorf = filter_arg;
+ color_filter_t *colorf = (color_filter_t *)filter_arg;
g_assert(colorf->c_colorfilter == NULL);
if (!dfilter_compile(colorf->filter_text, &colorf->c_colorfilter)) {
@@ -357,7 +357,7 @@ color_filter_compile_cb(gpointer filter_arg, gpointer unused _U_)
static void
color_filter_validate_cb(gpointer filter_arg, gpointer unused _U_)
{
- color_filter_t *colorf = filter_arg;
+ color_filter_t *colorf = (color_filter_t *)filter_arg;
g_assert(colorf->c_colorfilter == NULL);
if (!dfilter_compile(colorf->filter_text, &colorf->c_colorfilter)) {
@@ -422,8 +422,8 @@ color_filters_enable(gboolean enable)
static void
prime_edt(gpointer data, gpointer user_data)
{
- color_filter_t *colorf = data;
- epan_dissect_t *edt = user_data;
+ color_filter_t *colorf = (color_filter_t *)data;
+ epan_dissect_t *edt = (epan_dissect_t *)user_data;
if (colorf->c_colorfilter != NULL)
epan_dissect_prime_dfilter(edt, colorf->c_colorfilter);
@@ -456,7 +456,7 @@ color_filters_colorize_packet(gint row, epan_dissect_t *edt)
curr = color_filter_list;
while(curr != NULL) {
- colorf = curr->data;
+ colorf = (color_filter_t *)curr->data;
if ( (!colorf->disabled) &&
(colorf->c_colorfilter != NULL) &&
dfilter_apply_edt(colorf->c_colorfilter, edt)) {
@@ -491,8 +491,8 @@ read_filters_file(FILE *f, gpointer user_data)
gboolean disabled = FALSE;
gboolean skip_end_of_line = FALSE;
- name = g_malloc(name_len + 1);
- filter_exp = g_malloc(filter_exp_len + 1);
+ name = (gchar *)g_malloc(name_len + 1);
+ filter_exp = (gchar *)g_malloc(filter_exp_len + 1);
while (1) {
@@ -540,7 +540,7 @@ read_filters_file(FILE *f, gpointer user_data)
if (i >= name_len) {
/* buffer isn't long enough; double its length.*/
name_len *= 2;
- name = g_realloc(name, name_len + 1);
+ name = (gchar *)g_realloc(name, name_len + 1);
}
name[i++] = c;
}
@@ -562,7 +562,7 @@ read_filters_file(FILE *f, gpointer user_data)
if (i >= filter_exp_len) {
/* buffer isn't long enough; double its length.*/
filter_exp_len *= 2;
- filter_exp = g_realloc(filter_exp, filter_exp_len + 1);
+ filter_exp = (gchar *)g_realloc(filter_exp, filter_exp_len + 1);
}
filter_exp[i++] = c;
}
@@ -719,8 +719,8 @@ struct write_filter_data
static void
write_filter(gpointer filter_arg, gpointer data_arg)
{
- struct write_filter_data *data = data_arg;
- color_filter_t *colorf = filter_arg;
+ struct write_filter_data *data = (struct write_filter_data *)data_arg;
+ color_filter_t *colorf = (color_filter_t *)filter_arg;
FILE *f = data->f;
if ( (colorf->selected || !data->only_selected) &&
diff --git a/epan/dissectors/packet-netflow.c b/epan/dissectors/packet-netflow.c
index 74a8b12a97..b3974634c5 100644
--- a/epan/dissectors/packet-netflow.c
+++ b/epan/dissectors/packet-netflow.c
@@ -545,22 +545,24 @@ const value_string special_mpls_top_label_type[] = {
{0, NULL }
};
-static void
+static proto_item *
proto_tree_add_mpls_label(proto_tree * pdutree, tvbuff_t * tvb, int offset, int length, int level)
{
+ proto_item * ti;
if( length == 3) {
guint8 b0 = tvb_get_guint8(tvb, offset);
guint8 b1 = tvb_get_guint8(tvb, offset + 1);
guint8 b2 = tvb_get_guint8(tvb, offset + 2);
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"MPLS-Label%d: %u exp-bits: %u %s", level,
((b0<<12)+(b1<<4)+(b2>>4)),
((b2>>1)&0x7),
((b2&0x1)?"top-of-stack":""));
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"MPLS-Label%d: bad length %d", level, length);
}
+ return ti;
}
void proto_reg_handoff_netflow(void);
@@ -585,11 +587,11 @@ static int dissect_v9_flowset(tvbuff_t * tvb, packet_info * pinfo, proto_tree *
static int dissect_v9_data(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree,
int offset, guint16 id, guint length, hdrinfo_t * hdrinfo);
static guint dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree,
- int offset, struct v9_template * tplt);
+ int offset, struct v9_template * tplt, hdrinfo_t * hdrinfo);
static int dissect_v9_options_template(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutree,
int offset, hdrinfo_t *hdrinfo, guint16 flowset_id);
static int dissect_v9_template(proto_tree * pdutree, tvbuff_t * tvb, packet_info *pinfo,
- int offset, int len, hdrinfo_t * hdrinfo);
+ int offset, int len, hdrinfo_t * hdrinfo, guint16 flowset_id);
static int v9_template_hash(guint16 id, const address * net_src,
guint32 src_id);
static struct v9_template *v9_template_get(guint16 id, address * net_src,
@@ -1247,7 +1249,7 @@ dissect_v9_flowset(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, in
offset, 2, FALSE);
offset += 2;
- dissect_v9_template(pdutree, tvb, pinfo, offset, length - 4, hdrinfo);
+ dissect_v9_template(pdutree, tvb, pinfo, offset, length - 4, hdrinfo, flowset_id);
} else if ((flowset_id == 1) || (flowset_id == 3)) {
/* Option Template */
proto_tree_add_item(pdutree, hf_cflow_options_flowset_id, tvb,
@@ -1303,7 +1305,7 @@ dissect_v9_data(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int o
data_tree = proto_item_add_subtree(data_item,
ett_dataflowset);
- pdu_len = dissect_v9_pdu(tvb, pinfo, data_tree, offset, tplt);
+ pdu_len = dissect_v9_pdu(tvb, pinfo, data_tree, offset, tplt, hdrinfo);
offset += tplt->length;
/* XXX - Throw an exception */
@@ -1348,7 +1350,7 @@ dissect_v9_data(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int o
static guint
dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int offset,
- struct v9_template * tplt)
+ struct v9_template * tplt, hdrinfo_t * hdrinfo)
{
int orig_offset = offset;
int i;
@@ -1428,7 +1430,7 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
rev = 0;
type = tplt->entries[i].type;
length = tplt->entries[i].length;
- if (type & 0x8000) {
+ if (hdrinfo->vspec == 10 && type & 0x8000) {
pen = tplt->entries[i].pen;
if (pen == REVPEN) { /* reverse PEN */
type &= 0x7fff;
@@ -1436,20 +1438,20 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
}
}
- pen_type = pen << 16 | (type & 0x7fff);
-
+ pen_type = (pen > 0 && pen != REVPEN) ? pen << 16 | (type & 0x7fff) : type;
+ ti = NULL;
switch (pen_type) {
case 85: /* BYTES_PERMANENT */
case 1: /* bytes */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_octets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_octets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_octets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_octets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Octets: length %u", length);
}
@@ -1458,13 +1460,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 86: /* PACKETS_PERMANENT */
case 2: /* packets */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Packets: length %u", length);
}
@@ -1473,134 +1475,134 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 163: /* observedFlowTotalCount */
case 3: /* flows */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_flows,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flows,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Flows: length %u", length);
}
break;
case 4: /* proto */
- proto_tree_add_item(pdutree, hf_cflow_prot,
+ ti = proto_tree_add_item(pdutree, hf_cflow_prot,
tvb, offset, length, FALSE);
break;
case 5: /* TOS */
- proto_tree_add_item(pdutree, hf_cflow_tos,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tos,
tvb, offset, length, FALSE);
break;
case 6: /* TCP flags */
- proto_tree_add_item(pdutree, hf_cflow_tcpflags,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcpflags,
tvb, offset, length, FALSE);
break;
case 7: /* source port */
case 180: /* udpSourcePort */
case 182: /* tcpSourcePort */
- proto_tree_add_item(pdutree, hf_cflow_srcport,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcport,
tvb, offset, length, FALSE);
break;
case 8: /* source IP */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_srcaddr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcaddr,
tvb, offset, length, FALSE);
} else if (length == 16) {
- proto_tree_add_item(pdutree, hf_cflow_srcaddr_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcaddr_v6,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"SrcAddr: length %u", length);
}
break;
case 9: /* source mask */
- proto_tree_add_item(pdutree, hf_cflow_srcmask,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcmask,
tvb, offset, length, FALSE);
break;
case 10: /* input SNMP */
- proto_tree_add_item(pdutree, hf_cflow_inputint,
+ ti = proto_tree_add_item(pdutree, hf_cflow_inputint,
tvb, offset, length, FALSE);
break;
case 11: /* dest port */
case 181: /* udpDestinationPort */
case 183: /* tcpDestinationPort */
- proto_tree_add_item(pdutree, hf_cflow_dstport,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstport,
tvb, offset, length, FALSE);
break;
case 12: /* dest IP */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_dstaddr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstaddr,
tvb, offset, length, FALSE);
} else if (length == 16) {
- proto_tree_add_item(pdutree, hf_cflow_dstaddr_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstaddr_v6,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"DstAddr: length %u", length);
}
break;
case 13: /* dest mask */
- proto_tree_add_item(pdutree, hf_cflow_dstmask,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstmask,
tvb, offset, length, FALSE);
break;
case 14: /* output SNMP */
- proto_tree_add_item(pdutree, hf_cflow_outputint,
+ ti = proto_tree_add_item(pdutree, hf_cflow_outputint,
tvb, offset, length, FALSE);
break;
case 15: /* nexthop IP */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_nexthop,
+ ti = proto_tree_add_item(pdutree, hf_cflow_nexthop,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"NextHop: length %u", length);
}
break;
case 16: /* source AS */
- proto_tree_add_item(pdutree, hf_cflow_srcas,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcas,
tvb, offset, length, FALSE);
break;
case 17: /* dest AS */
- proto_tree_add_item(pdutree, hf_cflow_dstas,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstas,
tvb, offset, length, FALSE);
break;
case 18: /* BGP nexthop IP */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_bgpnexthop,
+ ti = proto_tree_add_item(pdutree, hf_cflow_bgpnexthop,
tvb, offset, length, FALSE);
} else if (length == 16) {
- proto_tree_add_item(pdutree, hf_cflow_bgpnexthop_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_bgpnexthop_v6,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"BGPNextHop: length %u", length);
}
break;
case 19: /* multicast packets */
- proto_tree_add_item(pdutree, hf_cflow_mulpackets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mulpackets,
tvb, offset, length, FALSE);
break;
case 20: /* multicast octets */
- proto_tree_add_item(pdutree, hf_cflow_muloctets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_muloctets,
tvb, offset, length, FALSE);
break;
@@ -1706,13 +1708,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 23: /* postOctetDeltaCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_post_octets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_octets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_post_octets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_octets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Post Octets: length %u", length);
}
@@ -1720,45 +1722,45 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 24: /* postPacketDeltaCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_post_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_post_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Post Packets: length %u", length);
}
break;
case 25: /* length_min */
- proto_tree_add_item(pdutree, hf_cflow_length_min,
+ ti = proto_tree_add_item(pdutree, hf_cflow_length_min,
tvb, offset, length, FALSE);
break;
case 26: /* length_max */
- proto_tree_add_item(pdutree, hf_cflow_length_max,
+ ti = proto_tree_add_item(pdutree, hf_cflow_length_max,
tvb, offset, length, FALSE);
break;
case 27: /* IPv6 src addr */
- proto_tree_add_item(pdutree, hf_cflow_srcaddr_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcaddr_v6,
tvb, offset, length, FALSE);
break;
case 28: /* IPv6 dst addr */
- proto_tree_add_item(pdutree, hf_cflow_dstaddr_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstaddr_v6,
tvb, offset, length, FALSE);
break;
case 29: /* IPv6 src addr mask */
- proto_tree_add_item(pdutree, hf_cflow_srcmask_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcmask_v6,
tvb, offset, length, FALSE);
break;
case 30: /* IPv6 dst addr mask */
- proto_tree_add_item(pdutree, hf_cflow_dstmask_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstmask_v6,
tvb, offset, length, FALSE);
break;
@@ -1766,202 +1768,202 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
/* RFC5102 defines that Abstract Data Type of this
Information Element is unsigned32 */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_ipv6_flowlabel,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ipv6_flowlabel,
tvb, offset, length, FALSE);
}
/* RFC3954 defines that length of this field is 3
Bytes */
else if (length == 3) {
- proto_tree_add_item(pdutree, hf_cflow_ipv6_flowlabel24,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ipv6_flowlabel24,
tvb, offset, length, FALSE);
}
break;
case 32: /* ICMP_TYPE */
- proto_tree_add_item(pdutree, hf_cflow_icmp_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_icmp_type,
tvb, offset, length, FALSE);
break;
case 33: /* IGMP_TYPE */
- proto_tree_add_item(pdutree, hf_cflow_igmp_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_igmp_type,
tvb, offset, length, FALSE);
break;
case 34: /* sampling interval */
- proto_tree_add_item(pdutree, hf_cflow_sampling_interval,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_interval,
tvb, offset, length, FALSE);
break;
case 35: /* sampling algorithm */
- proto_tree_add_item(pdutree, hf_cflow_sampling_algorithm,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_algorithm,
tvb, offset, length, FALSE);
break;
case 36: /* flow active timeout */
- proto_tree_add_item(pdutree, hf_cflow_flow_active_timeout,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flow_active_timeout,
tvb, offset, length, FALSE);
break;
case 37: /* flow inactive timeout */
- proto_tree_add_item(pdutree, hf_cflow_flow_inactive_timeout,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flow_inactive_timeout,
tvb, offset, length, FALSE);
break;
case 38: /* engine type */
- proto_tree_add_item(pdutree, hf_cflow_engine_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_engine_type,
tvb, offset, length, FALSE);
break;
case 39: /* engine id*/
- proto_tree_add_item(pdutree, hf_cflow_engine_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_engine_id,
tvb, offset, length, FALSE);
break;
case 40: /* bytes exported */
if( length == 8 ) {
- proto_tree_add_item(pdutree, hf_cflow_octets_exp64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_octets_exp64,
tvb, offset, length, FALSE);
} else if( length == 4 ) {
- proto_tree_add_item(pdutree, hf_cflow_octets_exp,
+ ti = proto_tree_add_item(pdutree, hf_cflow_octets_exp,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"BytesExported: length %u", length);
}
break;
case 41: /* packets exported */
if( length == 8 ) {
- proto_tree_add_item(pdutree, hf_cflow_packets_exp64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_packets_exp64,
tvb, offset, length, FALSE);
} else if( length == 4 ) {
- proto_tree_add_item(pdutree, hf_cflow_packets_exp,
+ ti = proto_tree_add_item(pdutree, hf_cflow_packets_exp,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"PacketsExported: length %u", length);
}
break;
case 42: /* flows exported */
if( length == 8 ) {
- proto_tree_add_item(pdutree, hf_cflow_flows_exp64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flows_exp64,
tvb, offset, length, FALSE);
} else if( length == 4 ) {
- proto_tree_add_item(pdutree, hf_cflow_flows_exp,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flows_exp,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"FlowsExported: length %u", length);
}
break;
case 44: /* IP source prefix */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_srcprefix,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcprefix,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"SrcPrefix: length %u", length);
}
break;
case 45: /* IP destination prefix */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_dstprefix,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstprefix,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"DstPrefix: length %u", length);
}
break;
case 46: /* top MPLS label type*/
- proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_type,
tvb, offset, length, FALSE);
break;
case 47: /* top MPLS label PE address*/
- proto_tree_add_item(pdutree, hf_cflow_mpls_pe_addr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_pe_addr,
tvb, offset, length, FALSE);
break;
case 48: /* Flow Sampler ID */
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"FlowSamplerID: %d", tvb_get_guint8(tvb, offset));
break;
case 49: /* FLOW_SAMPLER_MODE */
- proto_tree_add_item(pdutree, hf_cflow_sampler_mode,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampler_mode,
tvb, offset, length, FALSE);
break;
case 50: /* FLOW_SAMPLER_RANDOM_INTERVAL */
- proto_tree_add_item(pdutree, hf_cflow_sampler_random_interval,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampler_random_interval,
tvb, offset, length, FALSE);
break;
case 51: /* FLOW_CLASS */
- proto_tree_add_item(pdutree, hf_cflow_flow_class,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flow_class,
tvb, offset, length, FALSE);
break;
case 52: /* TTL_MINIMUM */
- proto_tree_add_item(pdutree, hf_cflow_ttl_minimum,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ttl_minimum,
tvb, offset, length, FALSE);
break;
case 53: /* TTL_MAXIMUM */
- proto_tree_add_item(pdutree, hf_cflow_ttl_maximum,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ttl_maximum,
tvb, offset, length, FALSE);
break;
case 54: /* IPV4_ID */
- proto_tree_add_item(pdutree, hf_cflow_ipv4_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ipv4_id,
tvb, offset, length, FALSE);
break;
case 55: /* postIpClassOfService */
- proto_tree_add_item(pdutree, hf_cflow_post_tos,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_tos,
tvb, offset, length, FALSE);
break;
case 56: /* sourceMacAddress */
- proto_tree_add_item(pdutree, hf_cflow_srcmac,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcmac,
tvb, offset, length, FALSE);
break;
case 57: /* postDestinationMacAddress */
- proto_tree_add_item(pdutree, hf_cflow_post_dstmac,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_dstmac,
tvb, offset, length, FALSE);
break;
case 58: /* vlanId */
- proto_tree_add_item(pdutree, hf_cflow_vlanid,
+ ti = proto_tree_add_item(pdutree, hf_cflow_vlanid,
tvb, offset, length, FALSE);
break;
case 59: /* postVlanId */
- proto_tree_add_item(pdutree, hf_cflow_post_vlanid,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_vlanid,
tvb, offset, length, FALSE);
break;
case 60: /* IP_VERSION */
- proto_tree_add_item(pdutree, hf_cflow_ip_version,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_version,
tvb, offset, length, FALSE);
break;
case 61: /* DIRECTION */
- proto_tree_add_item(pdutree, hf_cflow_direction,
+ ti = proto_tree_add_item(pdutree, hf_cflow_direction,
tvb, offset, length, FALSE);
break;
case 62: /* IPV6_NEXT_HOP */
if (length == 16) {
- proto_tree_add_item(pdutree, hf_cflow_nexthop_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_nexthop_v6,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"NextHop: length %u", length);
}
@@ -1969,87 +1971,87 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 63: /* BGP_IPV6_NEXT_HOP */
if (length == 16) {
- proto_tree_add_item(pdutree, hf_cflow_bgpnexthop_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_bgpnexthop_v6,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"BGPNextHop: length %u", length);
}
break;
case 64: /* ipv6ExtensionHeaders */
- proto_tree_add_item(pdutree, hf_cflow_ipv6_exthdr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ipv6_exthdr,
tvb, offset, length, FALSE);
break;
case 70: /* MPLS label1*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 1);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 1);
break;
case 71: /* MPLS label2*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 2);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 2);
break;
case 72: /* MPLS label3*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 3);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 3);
break;
case 73: /* MPLS label4*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 4);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 4);
break;
case 74: /* MPLS label5*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 5);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 5);
break;
case 75: /* MPLS label6*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 6);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 6);
break;
case 76: /* MPLS label7*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 7);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 7);
break;
case 77: /* MPLS label8*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 8);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 8);
break;
case 78: /* MPLS label9*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 9);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 9);
break;
case 79: /* MPLS label10*/
- proto_tree_add_mpls_label(pdutree, tvb, offset, length, 10);
+ ti = proto_tree_add_mpls_label(pdutree, tvb, offset, length, 10);
break;
case 80: /* destinationMacAddress */
- proto_tree_add_item(pdutree, hf_cflow_dstmac,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstmac,
tvb, offset, length, FALSE);
break;
case 81: /* postSourceMacAddress */
- proto_tree_add_item(pdutree, hf_cflow_post_srcmac,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_srcmac,
tvb, offset, length, FALSE);
break;
case 82: /* IF_NAME */
- proto_tree_add_item(pdutree, hf_cflow_if_name,
+ ti = proto_tree_add_item(pdutree, hf_cflow_if_name,
tvb, offset, length, FALSE);
break;
case 83: /* IF_DESCR */
- proto_tree_add_item(pdutree, hf_cflow_if_descr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_if_descr,
tvb, offset, length, FALSE);
break;
case 84: /* SAMPLER_NAME */
- proto_tree_add_item(pdutree, hf_cflow_sampler_name,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampler_name,
tvb, offset, length, FALSE);
break;
case 88: /* fragmentOffset */
- proto_tree_add_item(pdutree, hf_cflow_fragment_offset,
+ ti = proto_tree_add_item(pdutree, hf_cflow_fragment_offset,
tvb, offset, length, FALSE);
break;
@@ -2061,70 +2063,70 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
break;
case 90: /* mplsVpnRouteDistinguisher */
- proto_tree_add_item(pdutree, hf_cflow_mpls_vpn_rd,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_vpn_rd,
tvb, offset, length, FALSE);
break;
case 91: /* mplsTopLabelPrefixLength */
- proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_prefix_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_prefix_length,
tvb, offset, length, FALSE);
break;
case 94: /* NBAR applicationDesc */
- proto_tree_add_item(pdutree, hf_cflow_nbar_appl_desc,
+ ti = proto_tree_add_item(pdutree, hf_cflow_nbar_appl_desc,
tvb, offset, length, FALSE);
break;
case 95: /* NBAR applicationId */
- proto_tree_add_item(pdutree, hf_cflow_nbar_appl_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_nbar_appl_id,
tvb, offset+2, 2, FALSE);
break;
case 96: /* NBAR applicationName */
- proto_tree_add_item(pdutree, hf_cflow_nbar_appl_name,
+ ti = proto_tree_add_item(pdutree, hf_cflow_nbar_appl_name,
tvb, offset, length, FALSE);
break;
case 98: /* postIpDiffServCodePoint */
- proto_tree_add_item(pdutree, hf_cflow_post_ip_diff_serv_code_point,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_ip_diff_serv_code_point,
tvb, offset, length, FALSE);
break;
case 99: /* multicastReplicationFactor */
- proto_tree_add_item(pdutree, hf_cflow_multicast_replication_factor,
+ ti = proto_tree_add_item(pdutree, hf_cflow_multicast_replication_factor,
tvb, offset, length, FALSE);
break;
case 128: /* source AS Peer */
- proto_tree_add_item(pdutree, hf_cflow_peer_srcas,
+ ti = proto_tree_add_item(pdutree, hf_cflow_peer_srcas,
tvb, offset, length, FALSE);
break;
case 129: /* dest AS Peer*/
- proto_tree_add_item(pdutree, hf_cflow_peer_dstas,
+ ti = proto_tree_add_item(pdutree, hf_cflow_peer_dstas,
tvb, offset, length, FALSE);
break;
case 130: /* exporterIPv4Address */
- proto_tree_add_item(pdutree, hf_cflow_exporter_addr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_exporter_addr,
tvb, offset, length, FALSE);
break;
case 131: /* exporterIPv6Address */
- proto_tree_add_item(pdutree,
+ ti = proto_tree_add_item(pdutree,
hf_cflow_exporter_addr_v6,
tvb, offset, length, FALSE);
break;
case 132: /* droppedOctetDeltaCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_drop_octets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_octets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_drop_octets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_octets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"Dropped Octets: length %u",
length);
}
@@ -2132,13 +2134,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 133: /* droppedPacketDeltaCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_drop_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_drop_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"Dropped Packets: length %u",
length);
}
@@ -2146,111 +2148,111 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 134: /* droppedOctetTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_drop_total_octets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_total_octets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_drop_total_octets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_total_octets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"Dropped Total Octets: length %u", length);
}
break;
case 135: /* droppedPacketTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_drop_total_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_total_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_drop_total_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_drop_total_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"Dropped Total Packets: length %u", length);
}
break;
case 136: /* flowEndReason */
- proto_tree_add_item(pdutree, hf_cflow_flow_end_reason,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flow_end_reason,
tvb, offset, length, FALSE);
break;
case 137: /* commonPropertiesId */
- proto_tree_add_item(pdutree, hf_cflow_common_properties_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_common_properties_id,
tvb, offset, length, FALSE);
break;
case 138: /* observationPointId */
- proto_tree_add_item(pdutree, hf_cflow_observation_point_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_observation_point_id,
tvb, offset, length, FALSE);
break;
case 139: /* icmpTypeCodeIPv6 */
- proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_type,
tvb, offset, 1, FALSE);
- proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_code,
+ ti = proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_code,
tvb, offset + 1, 1, FALSE);
break;
case 140: /* mplsTopLabelIPv6Address */
if (length == 16) {
- proto_tree_add_item(pdutree,
+ ti = proto_tree_add_item(pdutree,
hf_cflow_mpls_pe_addr_v6,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"mplsTopLabelIPv6Addr: length %u",
length);
}
break;
case 141: /* lineCardId */
- proto_tree_add_item(pdutree, hf_cflow_scope_linecard,
+ ti = proto_tree_add_item(pdutree, hf_cflow_scope_linecard,
tvb, offset, length, FALSE);
break;
case 142: /* portId */
- proto_tree_add_item(pdutree, hf_cflow_port_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_port_id,
tvb, offset, length, FALSE);
break;
case 143: /* meteringProcessId */
- proto_tree_add_item(pdutree, hf_cflow_mp_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mp_id,
tvb, offset, length, FALSE);
break;
case 144: /* FLOW EXPORTER */
- proto_tree_add_item(pdutree, hf_cflow_flow_exporter,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flow_exporter,
tvb, offset, length, FALSE);
break;
case 145: /* templateId */
- proto_tree_add_item(pdutree, hf_cflow_template_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_template_id,
tvb, offset, length, FALSE);
break;
case 146: /* wlanChannelId */
- proto_tree_add_item(pdutree, hf_cflow_wlan_channel_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_wlan_channel_id,
tvb, offset, length, FALSE);
break;
case 147: /* wlanSSID */
- proto_tree_add_item(pdutree, hf_cflow_wlan_ssid,
+ ti = proto_tree_add_item(pdutree, hf_cflow_wlan_ssid,
tvb, offset, length, FALSE);
break;
case 148: /* flowId */
- proto_tree_add_item(pdutree, hf_cflow_flow_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_flow_id,
tvb, offset, length, FALSE);
break;
case 149: /* observationDomainId */
- proto_tree_add_item(pdutree, hf_cflow_od_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_od_id,
tvb, offset, length, FALSE);
break;
case 160: /* systemInitTimeMilliseconds */
- proto_tree_add_item(pdutree, hf_cflow_sysuptime,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sysuptime,
tvb, offset, length, FALSE);
break;
@@ -2258,7 +2260,7 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
msec_delta = tvb_get_ntohl(tvb, offset);
ts_delta.secs = msec_delta / 1000;
ts_delta.nsecs = (msec_delta % 1000) * 1000000;
- proto_tree_add_time(pdutree, hf_cflow_timedelta, tvb,
+ ti = proto_tree_add_time(pdutree, hf_cflow_timedelta, tvb,
offset, length, &ts_delta);
break;
@@ -2266,19 +2268,19 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
msec_delta = tvb_get_ntohl(tvb, offset);
ts_delta.secs = msec_delta / 1000000;
ts_delta.nsecs = (msec_delta % 1000000) * 1000000;
- proto_tree_add_time(pdutree, hf_cflow_timedelta, tvb,
+ ti = proto_tree_add_time(pdutree, hf_cflow_timedelta, tvb,
offset, length, &ts_delta);
break;
case 164: /* ignoredPacketTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_ignore_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ignore_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_ignore_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ignore_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Ignored Packets: length %u", length);
}
@@ -2286,13 +2288,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 165: /* ignoredOctetTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_ignore_octets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ignore_octets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_ignore_octets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ignore_octets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Ignored Octets: length %u", length);
}
@@ -2300,13 +2302,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 166: /* notSentFlowTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_notsent_flows,
+ ti = proto_tree_add_item(pdutree, hf_cflow_notsent_flows,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_notsent_flows64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_notsent_flows64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Not Sent Flows: length %u", length);
}
@@ -2314,13 +2316,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 167: /* notSentPacketTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_notsent_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_notsent_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_notsent_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_notsent_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Not Sent Packets: length %u", length);
}
@@ -2328,13 +2330,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 168: /* notSentOctetTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_notsent_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_notsent_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_notsent_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_notsent_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Not Sent Packets: length %u", length);
}
@@ -2342,10 +2344,10 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 169: /* destinationIPv6Prefix */
if (length == 16) {
- proto_tree_add_item(pdutree, hf_cflow_dstnet_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dstnet_v6,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"DstPrefix: length %u", length);
}
@@ -2353,10 +2355,10 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 170: /* sourceIPv6Prefix */
if (length == 16) {
- proto_tree_add_item(pdutree, hf_cflow_srcnet_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_srcnet_v6,
tvb, offset, length, FALSE);
} else if (length != 4 && length != 16) {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"SrcPrefix: length %u", length);
}
@@ -2364,13 +2366,13 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 171: /* postOctetTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_octets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_octets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_octets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_octets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Post Total Octets: length %u", length);
}
@@ -2378,32 +2380,32 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 172: /* postPacketTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_packets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_packets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_packets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_packets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Post Total Packets: length %u", length);
}
break;
case 173: /* flowKeyIndicator */
- proto_tree_add_item(pdutree, hf_cflow_key,
+ ti = proto_tree_add_item(pdutree, hf_cflow_key,
tvb, offset, length, FALSE);
break;
case 174: /* postMCastPacketTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_mulpackets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_mulpackets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_mulpackets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_mulpackets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Post Total Multicast Packets: length %u", length);
}
@@ -2411,756 +2413,756 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
case 175: /* postMCastOctetTotalCount */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_muloctets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_muloctets,
tvb, offset, length, FALSE);
} else if (length == 8) {
- proto_tree_add_item(pdutree, hf_cflow_post_total_muloctets64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_total_muloctets64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"Post Total Multicast Octets: length %u", length);
}
break;
case 176: /* ICMP_IPv4_TYPE */
- proto_tree_add_item(pdutree, hf_cflow_icmp_ipv4_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_icmp_ipv4_type,
tvb, offset, length, FALSE);
break;
case 177: /* ICMP_IPv4_CODE */
- proto_tree_add_item(pdutree, hf_cflow_icmp_ipv4_code,
+ ti = proto_tree_add_item(pdutree, hf_cflow_icmp_ipv4_code,
tvb, offset, length, FALSE);
break;
case 178: /* ICMP_IPv6_TYPE */
- proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_type,
tvb, offset, length, FALSE);
break;
case 179: /* ICMP_IPv6_CODE */
- proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_code,
+ ti = proto_tree_add_item(pdutree, hf_cflow_icmp_ipv6_code,
tvb, offset, length, FALSE);
break;
case 184: /* tcpSequenceNumber */
- proto_tree_add_item(pdutree, hf_cflow_tcp_seq_num,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcp_seq_num,
tvb, offset, length, FALSE);
break;
case 185: /* tcpAcknowledgementNumber */
- proto_tree_add_item(pdutree, hf_cflow_tcp_ack_num,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcp_ack_num,
tvb, offset, length, FALSE);
break;
case 186: /* TCP_WINDOWS_SIZE */
- proto_tree_add_item(pdutree, hf_cflow_tcp_window_size,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcp_window_size,
tvb, offset, length, FALSE);
break;
case 187: /* tcpUrgentPointer */
- proto_tree_add_item(pdutree, hf_cflow_tcp_urg_ptr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcp_urg_ptr,
tvb, offset, length, FALSE);
break;
case 188: /* tcpHeaderLength */
- proto_tree_add_item(pdutree, hf_cflow_tcp_header_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcp_header_length,
tvb, offset, length, FALSE);
break;
case 189: /* ipHeaderLength */
- proto_tree_add_item(pdutree, hf_cflow_ip_header_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_header_length,
tvb, offset, length, FALSE);
break;
case 190: /* IP_TOTAL_LENGTH */
- proto_tree_add_item(pdutree, hf_cflow_ip_total_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_total_length,
tvb, offset, length, FALSE);
break;
case 191: /* payloadLengthIPv6 */
- proto_tree_add_item(pdutree, hf_cflow_ipv6_payload_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ipv6_payload_length,
tvb, offset, length, FALSE);
break;
case 192: /* IP_TTL */
- proto_tree_add_item(pdutree, hf_cflow_ip_ttl,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_ttl,
tvb, offset, length, FALSE);
break;
case 193: /* nextHeaderIPv6 */
- proto_tree_add_item(pdutree, hf_cflow_ipv6_next_hdr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ipv6_next_hdr,
tvb, offset, length, FALSE);
break;
case 194: /* IP_TOS */
- proto_tree_add_item(pdutree, hf_cflow_ip_tos,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_tos,
tvb, offset, length, FALSE);
break;
case 195: /* IP_DSCP */
- proto_tree_add_item(pdutree, hf_cflow_ip_dscp,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_dscp,
tvb, offset, length, FALSE);
break;
case 196: /* ipPrecedence */
- proto_tree_add_item(pdutree, hf_cflow_ip_precedence,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_precedence,
tvb, offset, length, FALSE);
break;
case 197: /* fragmentFlags */
- proto_tree_add_item(pdutree, hf_cflow_ip_fragment_flags,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_fragment_flags,
tvb, offset, length, FALSE);
break;
case 198: /* BYTES_SQUARED */
case 199: /* BYTES_SQUARED_PERMANENT */
if( length == 8 ) {
- proto_tree_add_item(pdutree, hf_cflow_octets_squared64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_octets_squared64,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"Bytes Squared: length %u", length);
}
break;
case 200: /* mplsTopLabelTTL */
- proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_ttl,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_ttl,
tvb, offset, length, FALSE);
break;
case 201: /* mplsLabelStackLength */
- proto_tree_add_item(pdutree, hf_cflow_mpls_label_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_label_length,
tvb, offset, length, FALSE);
break;
case 202: /* mplsLabelStackDepth */
- proto_tree_add_item(pdutree, hf_cflow_mpls_label_depth,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_label_depth,
tvb, offset, length, FALSE);
break;
case 203: /* mplsTopLabelExp */
- proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_exp,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_top_label_exp,
tvb, offset, length, FALSE);
break;
case 204: /* ipPayloadLength */
- proto_tree_add_item(pdutree, hf_cflow_ip_payload_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_payload_length,
tvb, offset, length, FALSE);
break;
case 205: /* UDP_LENGTH */
- proto_tree_add_item(pdutree, hf_cflow_udp_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_udp_length,
tvb, offset, length, FALSE);
break;
case 206: /* IS_MULTICAST */
- proto_tree_add_item(pdutree, hf_cflow_is_multicast,
+ ti = proto_tree_add_item(pdutree, hf_cflow_is_multicast,
tvb, offset, length, FALSE);
break;
case 207: /* IP_HEADER_WORDS */
- proto_tree_add_item(pdutree, hf_cflow_ip_header_words,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_header_words,
tvb, offset, length, FALSE);
break;
case 208: /* OPTION_MAP */
- proto_tree_add_item(pdutree, hf_cflow_option_map,
+ ti = proto_tree_add_item(pdutree, hf_cflow_option_map,
tvb, offset, length, FALSE);
break;
case 209: /* tcpOptions */
- proto_tree_add_item(pdutree, hf_cflow_tcp_option_map,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcp_option_map,
tvb, offset, length, FALSE);
break;
case 210: /* paddingOctets */
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"Padding (%u byte%s)",
length, plurality(length, "", "s"));
break;
case 211: /* collectorIPv4Address */
- proto_tree_add_item(pdutree, hf_cflow_collector_addr,
+ ti = proto_tree_add_item(pdutree, hf_cflow_collector_addr,
tvb, offset, length, FALSE);
break;
case 212: /* collectorIPv6Address */
- proto_tree_add_item(pdutree, hf_cflow_collector_addr_v6,
+ ti = proto_tree_add_item(pdutree, hf_cflow_collector_addr_v6,
tvb, offset, length, FALSE);
break;
case 213: /* exportInterface */
if (length == 4) {
- proto_tree_add_item(pdutree, hf_cflow_export_interface,
+ ti = proto_tree_add_item(pdutree, hf_cflow_export_interface,
tvb, offset, length, FALSE);
} else {
- proto_tree_add_text(pdutree,
+ ti = proto_tree_add_text(pdutree,
tvb, offset, length,
"exportInterface: invalid size %d", length );
}
break;
case 214: /* exportProtocolVersion */
- proto_tree_add_item(pdutree, hf_cflow_export_protocol_version,
+ ti = proto_tree_add_item(pdutree, hf_cflow_export_protocol_version,
tvb, offset, length, FALSE);
break;
case 215: /* exportTransportProtocol */
- proto_tree_add_item(pdutree, hf_cflow_export_prot,
+ ti = proto_tree_add_item(pdutree, hf_cflow_export_prot,
tvb, offset, length, FALSE);
break;
case 216: /* collectorTransportPort */
- proto_tree_add_item(pdutree, hf_cflow_collector_port,
+ ti = proto_tree_add_item(pdutree, hf_cflow_collector_port,
tvb, offset, length, FALSE);
break;
case 217: /* exporterTransportPort */
- proto_tree_add_item(pdutree, hf_cflow_exporter_port,
+ ti = proto_tree_add_item(pdutree, hf_cflow_exporter_port,
tvb, offset, length, FALSE);
break;
case 218: /* tcpSynTotalCount */
- proto_tree_add_item(pdutree, hf_cflow_total_tcp_syn,
+ ti = proto_tree_add_item(pdutree, hf_cflow_total_tcp_syn,
tvb, offset, length, FALSE);
break;
case 219: /* tcpFinTotalCount */
- proto_tree_add_item(pdutree, hf_cflow_total_tcp_fin,
+ ti = proto_tree_add_item(pdutree, hf_cflow_total_tcp_fin,
tvb, offset, length, FALSE);
break;
case 220: /* tcpRstTotalCount */
- proto_tree_add_item(pdutree, hf_cflow_total_tcp_rst,
+ ti = proto_tree_add_item(pdutree, hf_cflow_total_tcp_rst,
tvb, offset, length, FALSE);
break;
case 221: /* tcpPshTotalCount */
- proto_tree_add_item(pdutree, hf_cflow_total_tcp_psh,
+ ti = proto_tree_add_item(pdutree, hf_cflow_total_tcp_psh,
tvb, offset, length, FALSE);
break;
case 222: /* tcpAckTotalCount */
- proto_tree_add_item(pdutree, hf_cflow_total_tcp_ack,
+ ti = proto_tree_add_item(pdutree, hf_cflow_total_tcp_ack,
tvb, offset, length, FALSE);
break;
case 223: /* tcpUrgTotalCount */
- proto_tree_add_item(pdutree, hf_cflow_total_tcp_urg,
+ ti = proto_tree_add_item(pdutree, hf_cflow_total_tcp_urg,
tvb, offset, length, FALSE);
break;
case 224: /* IP_TOTAL_LENGTH */
- proto_tree_add_item(pdutree, hf_cflow_ip_total_length64,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ip_total_length64,
tvb, offset, length, FALSE);
break;
case 237: /* postMplsTopLabelExp */
- proto_tree_add_item(pdutree, hf_cflow_post_mpls_top_label_exp,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_mpls_top_label_exp,
tvb, offset, length, FALSE);
break;
case 238: /* tcpWindowScale */
- proto_tree_add_item(pdutree, hf_cflow_tcp_window_scale,
+ ti = proto_tree_add_item(pdutree, hf_cflow_tcp_window_scale,
tvb, offset, length, FALSE);
break;
case 239: /* biflowDirection */
- proto_tree_add_item(pdutree, hf_cflow_biflow_direction,
+ ti = proto_tree_add_item(pdutree, hf_cflow_biflow_direction,
tvb, offset, length, FALSE);
break;
case 240: /* ethernetHeaderLength */
- proto_tree_add_item(pdutree, hf_cflow_ethernet_header_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ethernet_header_length,
tvb, offset, length, FALSE);
break;
case 241: /* ethernetPayloadLength */
- proto_tree_add_item(pdutree, hf_cflow_ethernet_payload_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ethernet_payload_length,
tvb, offset, length, FALSE);
break;
case 242: /* ethernetTotalLength */
- proto_tree_add_item(pdutree, hf_cflow_ethernet_total_length,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ethernet_total_length,
tvb, offset, length, FALSE);
break;
case 243: /* dot1qVlanId */
- proto_tree_add_item(pdutree, hf_cflow_dot1q_vlan_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dot1q_vlan_id,
tvb, offset, length, FALSE);
break;
case 244: /* dot1qPriority */
- proto_tree_add_item(pdutree, hf_cflow_dot1q_priority,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dot1q_priority,
tvb, offset, length, FALSE);
break;
case 245: /* dot1qCustomerVlanId */
- proto_tree_add_item(pdutree, hf_cflow_dot1q_customer_vlan_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dot1q_customer_vlan_id,
tvb, offset, length, FALSE);
break;
case 246: /* dot1qCustomerPriority */
- proto_tree_add_item(pdutree, hf_cflow_dot1q_customer_priority,
+ ti = proto_tree_add_item(pdutree, hf_cflow_dot1q_customer_priority,
tvb, offset, length, FALSE);
break;
case 247: /* metroEvcId */
- proto_tree_add_item(pdutree, hf_cflow_metro_evc_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_metro_evc_id,
tvb, offset, length, FALSE);
break;
case 248: /* metroEvcType */
- proto_tree_add_item(pdutree, hf_cflow_metro_evc_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_metro_evc_type,
tvb, offset, length, FALSE);
break;
case 249: /* pseudoWireId */
- proto_tree_add_item(pdutree, hf_cflow_pseudo_wire_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_pseudo_wire_id,
tvb, offset, length, FALSE);
break;
case 250: /* pseudoWireType */
- proto_tree_add_item(pdutree, hf_cflow_pseudo_wire_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_pseudo_wire_type,
tvb, offset, length, FALSE);
break;
case 251: /* pseudoWireControlWord */
- proto_tree_add_item(pdutree, hf_cflow_pseudo_wire_control_word,
+ ti = proto_tree_add_item(pdutree, hf_cflow_pseudo_wire_control_word,
tvb, offset, length, FALSE);
break;
case 252: /* ingressPhysicalInterface */
- proto_tree_add_item(pdutree, hf_cflow_ingress_physical_interface,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ingress_physical_interface,
tvb, offset, length, FALSE);
break;
case 253: /* egressPhysicalInterface */
- proto_tree_add_item(pdutree, hf_cflow_egress_physical_interface,
+ ti = proto_tree_add_item(pdutree, hf_cflow_egress_physical_interface,
tvb, offset, length, FALSE);
break;
case 254: /* postDot1qVlanId */
- proto_tree_add_item(pdutree, hf_cflow_post_dot1q_vlan_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_dot1q_vlan_id,
tvb, offset, length, FALSE);
break;
case 255: /* postDot1qCustomerVlanId */
- proto_tree_add_item(pdutree, hf_cflow_post_dot1q_customer_vlan_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_dot1q_customer_vlan_id,
tvb, offset, length, FALSE);
break;
case 256: /* ethernetType */
- proto_tree_add_item(pdutree, hf_cflow_ethernet_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_ethernet_type,
tvb, offset, length, FALSE);
break;
case 257: /* postIpPrecedence */
- proto_tree_add_item(pdutree, hf_cflow_post_ip_precedence,
+ ti = proto_tree_add_item(pdutree, hf_cflow_post_ip_precedence,
tvb, offset, length, FALSE);
break;
case 258: /* collectionTimeMilliseconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = tvb_get_ntohl(tvb, offset + 4);
- timeitem = proto_tree_add_time(pdutree,
+ ti = proto_tree_add_time(pdutree,
hf_cflow_collection_time_milliseconds,
tvb, offset, length, &ts);
break;
case 259: /* exportSctpStreamId */
- proto_tree_add_item(pdutree, hf_cflow_export_sctp_stream_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_export_sctp_stream_id,
tvb, offset, length, FALSE);
break;
case 260: /* maxExportSeconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = 0;
- proto_tree_add_time(pdutree, hf_cflow_max_export_seconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_max_export_seconds,
tvb, offset, length, &ts);
break;
case 261: /* maxFlowEndSeconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = 0;
- proto_tree_add_time(pdutree, hf_cflow_max_flow_end_seconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_max_flow_end_seconds,
tvb, offset, length, &ts);
break;
case 262: /* messageMD5Checksum */
- proto_tree_add_item(pdutree, hf_cflow_message_md5_checksum,
+ ti = proto_tree_add_item(pdutree, hf_cflow_message_md5_checksum,
tvb, offset, length, FALSE);
break;
case 263: /* messageScope */
- proto_tree_add_item(pdutree, hf_cflow_message_scope,
+ ti = proto_tree_add_item(pdutree, hf_cflow_message_scope,
tvb, offset, length, FALSE);
break;
case 264: /* minExportSeconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = 0;
- proto_tree_add_time(pdutree, hf_cflow_min_export_seconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_min_export_seconds,
tvb, offset, length, &ts);
break;
case 265: /* minFlowStartSeconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = 0;
- proto_tree_add_time(pdutree, hf_cflow_min_flow_start_seconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_min_flow_start_seconds,
tvb, offset, length, &ts);
break;
case 266: /* opaqueOctets */
- proto_tree_add_item(pdutree, hf_cflow_opaque_octets,
+ ti = proto_tree_add_item(pdutree, hf_cflow_opaque_octets,
tvb, offset, length, FALSE);
break;
case 267: /* sessionScope */
- proto_tree_add_item(pdutree, hf_cflow_session_scope,
+ ti = proto_tree_add_item(pdutree, hf_cflow_session_scope,
tvb, offset, length, FALSE);
break;
case 268: /* maxFlowEndMicroseconds */
reftime = tvb_get_ptr(tvb, offset, 8);
- proto_tree_add_bytes_format_value(pdutree, hf_cflow_max_flow_end_microseconds,
+ ti = proto_tree_add_bytes_format_value(pdutree, hf_cflow_max_flow_end_microseconds,
tvb, offset, length, reftime, "%s", ntp_fmt_ts(reftime));
break;
case 269: /* maxFlowEndMilliseconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = tvb_get_ntohl(tvb, offset + 4);
- proto_tree_add_time(pdutree, hf_cflow_max_flow_end_milliseconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_max_flow_end_milliseconds,
tvb, offset, length, &ts);
break;
case 270: /* maxFlowEndNanoseconds */
reftime = tvb_get_ptr(tvb, offset, 8);
- proto_tree_add_bytes_format_value(pdutree, hf_cflow_max_flow_end_nanoseconds,
+ ti = proto_tree_add_bytes_format_value(pdutree, hf_cflow_max_flow_end_nanoseconds,
tvb, offset, length, reftime, "%s", ntp_fmt_ts(reftime));
break;
case 271: /* minFlowStartMicroseconds */
reftime = tvb_get_ptr(tvb, offset, 8);
- proto_tree_add_bytes_format_value(pdutree, hf_cflow_min_flow_start_microseconds,
+ ti = proto_tree_add_bytes_format_value(pdutree, hf_cflow_min_flow_start_microseconds,
tvb, offset, length, reftime, "%s", ntp_fmt_ts(reftime));
break;
case 272: /* minFlowStartMilliseconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = tvb_get_ntohl(tvb, offset + 4);
- proto_tree_add_time(pdutree, hf_cflow_min_flow_start_milliseconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_min_flow_start_milliseconds,
tvb, offset, length, &ts);
break;
case 273: /* minFlowStartNanoseconds */
reftime = tvb_get_ptr(tvb, offset, 8);
- proto_tree_add_bytes_format_value(pdutree, hf_cflow_min_flow_start_nanoseconds,
+ ti = proto_tree_add_bytes_format_value(pdutree, hf_cflow_min_flow_start_nanoseconds,
tvb, offset, length, reftime, "%s", ntp_fmt_ts(reftime));
break;
case 274: /* collectorCertificate */
- proto_tree_add_item(pdutree, hf_cflow_collector_certificate,
+ ti = proto_tree_add_item(pdutree, hf_cflow_collector_certificate,
tvb, offset, length, FALSE);
break;
case 275: /* exporterCertificate */
- proto_tree_add_item(pdutree, hf_cflow_exporter_certificate,
+ ti = proto_tree_add_item(pdutree, hf_cflow_exporter_certificate,
tvb, offset, length, FALSE);
break;
case 301: /* selectionSequenceId */
- proto_tree_add_item(pdutree, hf_cflow_selection_sequence_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_selection_sequence_id,
tvb, offset, length, FALSE);
break;
case 302: /* selectorId */
- proto_tree_add_item(pdutree, hf_cflow_selector_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_selector_id,
tvb, offset, length, FALSE);
break;
case 303: /* informationElementId */
- proto_tree_add_item(pdutree, hf_cflow_information_element_id,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_id,
tvb, offset, length, FALSE);
break;
case 304: /* selectorAlgorithm */
- proto_tree_add_item(pdutree, hf_cflow_selector_algorithm,
+ ti = proto_tree_add_item(pdutree, hf_cflow_selector_algorithm,
tvb, offset, length, FALSE);
break;
case 305: /* samplingPacketInterval */
- proto_tree_add_item(pdutree, hf_cflow_sampling_packet_interval,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_packet_interval,
tvb, offset, length, FALSE);
break;
case 306: /* samplingPacketSpace */
- proto_tree_add_item(pdutree, hf_cflow_sampling_packet_space,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_packet_space,
tvb, offset, length, FALSE);
break;
case 307: /* samplingTimeInterval */
- proto_tree_add_item(pdutree, hf_cflow_sampling_time_interval,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_time_interval,
tvb, offset, length, FALSE);
break;
case 308: /* samplingTimeSpace */
- proto_tree_add_item(pdutree, hf_cflow_sampling_time_space,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_time_space,
tvb, offset, length, FALSE);
break;
case 309: /* samplingSize */
- proto_tree_add_item(pdutree, hf_cflow_sampling_size,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_size,
tvb, offset, length, FALSE);
break;
case 310: /* samplingPopulation */
- proto_tree_add_item(pdutree, hf_cflow_sampling_population,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_population,
tvb, offset, length, FALSE);
break;
case 311: /* samplingProbability */
- proto_tree_add_item(pdutree, hf_cflow_sampling_probability,
+ ti = proto_tree_add_item(pdutree, hf_cflow_sampling_probability,
tvb, offset, length, FALSE);
break;
case 313: /* SECTION_HEADER */
- proto_tree_add_item(pdutree, hf_cflow_section_header,
+ ti = proto_tree_add_item(pdutree, hf_cflow_section_header,
tvb, offset, length, FALSE);
break;
case 314: /* SECTION_PAYLOAD */
- proto_tree_add_item(pdutree, hf_cflow_section_payload,
+ ti = proto_tree_add_item(pdutree, hf_cflow_section_payload,
tvb, offset, length, FALSE);
break;
case 316: /* mplsLabelStackSection */
- proto_tree_add_item(pdutree, hf_cflow_mpls_label_stack_section,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_label_stack_section,
tvb, offset, length, FALSE);
break;
case 317: /* mplsPayloadPacketSection */
- proto_tree_add_item(pdutree, hf_cflow_mpls_payload_packet_section,
+ ti = proto_tree_add_item(pdutree, hf_cflow_mpls_payload_packet_section,
tvb, offset, length, FALSE);
break;
case 318: /* selectorIdTotalPktsObserved */
- proto_tree_add_item(pdutree, hf_cflow_selector_id_total_pkts_observed,
+ ti = proto_tree_add_item(pdutree, hf_cflow_selector_id_total_pkts_observed,
tvb, offset, length, FALSE);
break;
case 319: /* selectorIdTotalPktsSelected */
- proto_tree_add_item(pdutree, hf_cflow_selector_id_total_pkts_selected,
+ ti = proto_tree_add_item(pdutree, hf_cflow_selector_id_total_pkts_selected,
tvb, offset, length, FALSE);
break;
case 320: /* absoluteError */
- proto_tree_add_item(pdutree, hf_cflow_absolute_error,
+ ti = proto_tree_add_item(pdutree, hf_cflow_absolute_error,
tvb, offset, length, FALSE);
break;
case 321: /* relativeError */
- proto_tree_add_item(pdutree, hf_cflow_relative_error,
+ ti = proto_tree_add_item(pdutree, hf_cflow_relative_error,
tvb, offset, length, FALSE);
break;
case 322: /* observationTimeSeconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = 0;
- proto_tree_add_time(pdutree, hf_cflow_observation_time_seconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_observation_time_seconds,
tvb, offset, length, &ts);
break;
case 323: /* observationTimeMilliseconds */
ts.secs = tvb_get_ntohl(tvb, offset);
ts.nsecs = tvb_get_ntohl(tvb, offset + 4);
- proto_tree_add_time(pdutree, hf_cflow_observation_time_milliseconds,
+ ti = proto_tree_add_time(pdutree, hf_cflow_observation_time_milliseconds,
tvb, offset, length, &ts);
break;
case 324: /* observationTimeMicroseconds */
reftime = tvb_get_ptr(tvb, offset, 8);
- proto_tree_add_bytes_format_value(pdutree, hf_cflow_observation_time_microseconds,
+ ti = proto_tree_add_bytes_format_value(pdutree, hf_cflow_observation_time_microseconds,
tvb, offset, length, reftime, "%s", ntp_fmt_ts(reftime));
break;
case 325: /* observationTimeNanoseconds */
reftime = tvb_get_ptr(tvb, offset, 8);
- proto_tree_add_bytes_format_value(pdutree, hf_cflow_observation_time_nanoseconds,
+ ti = proto_tree_add_bytes_format_value(pdutree, hf_cflow_observation_time_nanoseconds,
tvb, offset, length, reftime, "%s", ntp_fmt_ts(reftime));
break;
case 326: /* digestHashValue */
- proto_tree_add_item(pdutree, hf_cflow_digest_hash_value,
+ ti = proto_tree_add_item(pdutree, hf_cflow_digest_hash_value,
tvb, offset, length, FALSE);
break;
case 327: /* hashIPPayloadOffset */
- proto_tree_add_item(pdutree, hf_cflow_hash_ippayload_offset,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_ippayload_offset,
tvb, offset, length, FALSE);
break;
case 328: /* hashIPPayloadSize */
- proto_tree_add_item(pdutree, hf_cflow_hash_ippayload_size,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_ippayload_size,
tvb, offset, length, FALSE);
break;
case 329: /* hashOutputRangeMin */
- proto_tree_add_item(pdutree, hf_cflow_hash_output_range_min,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_output_range_min,
tvb, offset, length, FALSE);
break;
case 330: /* hashOutputRangeMax */
- proto_tree_add_item(pdutree, hf_cflow_hash_output_range_max,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_output_range_max,
tvb, offset, length, FALSE);
break;
case 331: /* hashSelectedRangeMin */
- proto_tree_add_item(pdutree, hf_cflow_hash_selected_range_min,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_selected_range_min,
tvb, offset, length, FALSE);
break;
case 332: /* hashSelectedRangeMax */
- proto_tree_add_item(pdutree, hf_cflow_hash_selected_range_max,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_selected_range_max,
tvb, offset, length, FALSE);
break;
case 333: /* hashDigestOutput */
- proto_tree_add_item(pdutree, hf_cflow_hash_digest_output,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_digest_output,
tvb, offset, length, FALSE);
break;
case 334: /* hashInitialiserValue */
- proto_tree_add_item(pdutree, hf_cflow_hash_initialiser_value,
+ ti = proto_tree_add_item(pdutree, hf_cflow_hash_initialiser_value,
tvb, offset, length, FALSE);
break;
case 335: /* selectorName */
- proto_tree_add_item(pdutree, hf_cflow_selector_name,
+ ti = proto_tree_add_item(pdutree, hf_cflow_selector_name,
tvb, offset, length, FALSE);
break;
case 336: /* upperCILimit */
- proto_tree_add_item(pdutree, hf_cflow_upper_cilimit,
+ ti = proto_tree_add_item(pdutree, hf_cflow_upper_cilimit,
tvb, offset, length, FALSE);
break;
case 337: /* lowerCILimit */
- proto_tree_add_item(pdutree, hf_cflow_lower_cilimit,
+ ti = proto_tree_add_item(pdutree, hf_cflow_lower_cilimit,
tvb, offset, length, FALSE);
break;
case 338: /* confidenceLevel */
- proto_tree_add_item(pdutree, hf_cflow_confidence_level,
+ ti = proto_tree_add_item(pdutree, hf_cflow_confidence_level,
tvb, offset, length, FALSE);
break;
case 339: /* informationElementDataType */
- proto_tree_add_item(pdutree, hf_cflow_information_element_data_type,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_data_type,
tvb, offset, length, FALSE);
break;
case 340: /* informationElementDescription */
- proto_tree_add_item(pdutree, hf_cflow_information_element_description,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_description,
tvb, offset, length, FALSE);
break;
case 341: /* informationElementName */
- proto_tree_add_item(pdutree, hf_cflow_information_element_name,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_name,
tvb, offset, length, FALSE);
break;
case 342: /* informationElementRangeBegin */
- proto_tree_add_item(pdutree, hf_cflow_information_element_range_begin,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_range_begin,
tvb, offset, length, FALSE);
break;
case 343: /* informationElementRangeEnd */
- proto_tree_add_item(pdutree, hf_cflow_information_element_range_end,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_range_end,
tvb, offset, length, FALSE);
break;
case 344: /* informationElementSemantics */
- proto_tree_add_item(pdutree, hf_cflow_information_element_semantics,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_semantics,
tvb, offset, length, FALSE);
break;
case 345: /* informationElementUnits */
- proto_tree_add_item(pdutree, hf_cflow_information_element_units,
+ ti = proto_tree_add_item(pdutree, hf_cflow_information_element_units,
tvb, offset, length, FALSE);
break;
case 346: /* privateEnterpriseNumber */
- proto_tree_add_item(pdutree, hf_cflow_private_enterprise_number,
+ ti = proto_tree_add_item(pdutree, hf_cflow_private_enterprise_number,
tvb, offset, length, FALSE);
break;
/* CACE Technologies */
case VENDOR_CACE << 16 | 0: /* caceLocalIPv4Address */
- proto_tree_add_item(pdutree, hf_pie_cace_local_ipv4_address,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_local_ipv4_address,
tvb, offset, length, FALSE);
SET_ADDRESS(&local_addr, AT_IPv4, 4, tvb_get_ptr(tvb, offset, 4));
got_flags |= GOT_LOCAL_ADDR;
break;
case VENDOR_CACE << 16 | 1: /* caceRemoteIPv4Address */
- proto_tree_add_item(pdutree, hf_pie_cace_remote_ipv4_address,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_remote_ipv4_address,
tvb, offset, length, FALSE);
SET_ADDRESS(&remote_addr, AT_IPv4, 4, tvb_get_ptr(tvb, offset, 4));
got_flags |= GOT_REMOTE_ADDR;
break;
case VENDOR_CACE << 16 | 2: /* caceLocalIPv6Address */
- proto_tree_add_item(pdutree, hf_pie_cace_local_ipv6_address,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_local_ipv6_address,
tvb, offset, length, FALSE);
SET_ADDRESS(&local_addr, AT_IPv6, 16, tvb_get_ptr(tvb, offset, 16));
got_flags |= GOT_LOCAL_ADDR;
break;
case VENDOR_CACE << 16 | 3: /* caceRemoteIPv6Address */
- proto_tree_add_item(pdutree, hf_pie_cace_remote_ipv6_address,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_remote_ipv6_address,
tvb, offset, length, FALSE);
SET_ADDRESS(&remote_addr, AT_IPv6, 16, tvb_get_ptr(tvb, offset, 16));
got_flags |= GOT_REMOTE_ADDR;
break;
case VENDOR_CACE << 16 | 4: /* caceLocalTransportPort */
- proto_tree_add_item(pdutree, hf_pie_cace_local_port,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_local_port,
tvb, offset, length, FALSE);
local_port = tvb_get_ntohs(tvb, offset);
got_flags |= GOT_LOCAL_PORT;
break;
case VENDOR_CACE << 16 | 5: /* caceRemoteTransportPort */
- proto_tree_add_item(pdutree, hf_pie_cace_remote_port,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_remote_port,
tvb, offset, length, FALSE);
remote_port = tvb_get_ntohs(tvb, offset);
got_flags |= GOT_REMOTE_PORT;
break;
case VENDOR_CACE << 16 | 6: /* caceLocalIPv4id */
- proto_tree_add_item(pdutree, hf_pie_cace_local_ipv4_id,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_local_ipv4_id,
tvb, offset, length, FALSE);
ipv4_id = tvb_get_ntohs(tvb, offset);
got_flags |= GOT_IPv4_ID;
break;
case VENDOR_CACE << 16 | 7: /* caceLocalICMPid */
- proto_tree_add_item(pdutree, hf_pie_cace_local_icmp_id,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_local_icmp_id,
tvb, offset, length, FALSE);
icmp_id = tvb_get_ntohs(tvb, offset);
got_flags |= GOT_ICMP_ID;
break;
case VENDOR_CACE << 16 | 8: /* caceLocalProcessUserId */
- proto_tree_add_item(pdutree, hf_pie_cace_local_uid,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_local_uid,
tvb, offset, length, FALSE);
uid = tvb_get_ntohl(tvb, offset);
got_flags |= GOT_UID;
break;
case VENDOR_CACE << 16 | 9: /* caceLocalProcessId */
- proto_tree_add_item(pdutree, hf_pie_cace_local_pid,
+ ti = proto_tree_add_item(pdutree, hf_pie_cace_local_pid,
tvb, offset, length, FALSE);
pid = tvb_get_ntohl(tvb, offset);
got_flags |= GOT_PID;
@@ -3171,7 +3173,7 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
uname_str = tvb_format_text(tvb, offset+1, uname_len);
proto_tree_add_item(pdutree, hf_pie_cace_local_username_len,
tvb, offset, 1, FALSE);
- proto_tree_add_string(pdutree, hf_pie_cace_local_username,
+ ti = proto_tree_add_string(pdutree, hf_pie_cace_local_username,
tvb, offset+1, uname_len, uname_str);
length = uname_len + 1;
got_flags |= GOT_USERNAME;
@@ -3182,7 +3184,7 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
cmd_str = tvb_format_text(tvb, offset+1, cmd_len);
proto_tree_add_item(pdutree, hf_pie_cace_local_cmd_len,
tvb, offset, 1, FALSE);
- proto_tree_add_string(pdutree, hf_pie_cace_local_cmd,
+ ti = proto_tree_add_string(pdutree, hf_pie_cace_local_cmd,
tvb, offset+1, cmd_len, cmd_str);
length = cmd_len + 1;
got_flags |= GOT_COMMAND;
@@ -3190,16 +3192,15 @@ dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int of
default:
if ((type & 0x8000) && (pen != REVPEN))
- proto_tree_add_text(pdutree, tvb, offset, length,
+ ti = proto_tree_add_text(pdutree, tvb, offset, length,
"(%s) Type %u ",
match_strval(pen, sminmpec_values), type & 0x7fff);
-
- else
- proto_tree_add_text(pdutree, tvb, offset, length,
- "%s Type %u %s", pen == REVPEN ? "Reverse" : "",
- type & 0x7fff, decode_v9_template_types(type));
break;
}
+ if (ti && pen == REVPEN) {
+ proto_item_append_text(ti, " (Reverse Type %u %s)",
+ type & 0x7fff, decode_v9_template_types(type));
+ }
offset += length;
}
@@ -3393,7 +3394,7 @@ dissect_v9_options_template(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutr
}
static int
-dissect_v9_template(proto_tree * pdutree, tvbuff_t * tvb, packet_info *pinfo, int offset, int length, hdrinfo_t * hdrinfo)
+dissect_v9_template(proto_tree * pdutree, tvbuff_t * tvb, packet_info *pinfo, int offset, int length, hdrinfo_t * hdrinfo, guint16 flowset_id)
{
struct v9_template tplt;
proto_tree *tplt_tree;
@@ -3453,7 +3454,7 @@ dissect_v9_template(proto_tree * pdutree, tvbuff_t * tvb, packet_info *pinfo, in
type = tvb_get_ntohs(tvb, offset);
entry_length = tvb_get_ntohs(tvb, offset + 2);
- if (type & 0x8000) {
+ if ((flowset_id == 2) && (type & 0x8000)) {
pen = tvb_get_ntohl(tvb, offset + 4);
}
@@ -3464,21 +3465,23 @@ dissect_v9_template(proto_tree * pdutree, tvbuff_t * tvb, packet_info *pinfo, in
tplt.entries[i].pen = pen;
}
- if ((type & 0x8000) && (pen != REVPEN)) { /* except reverse pen */
+ if ((flowset_id == 2) && (type & 0x8000) && (pen != REVPEN)) { /* except reverse pen */
proto_tree_add_text(field_tree,
tvb, offset, 2,
"Type: %u", type & 0x7fff);
} else {
proto_tree_add_item(field_tree,
- hf_cflow_template_field_type, tvb, offset, 2, FALSE);
+ flowset_id == 0 ? hf_cflow_template_field_type : hf_cflow_template_field_type_ipfix,
+ tvb, offset, 2, FALSE);
}
offset += 2;
proto_tree_add_item(field_tree,
hf_cflow_template_field_length, tvb, offset, 2, FALSE);
offset += 2;
- if (type & 0x8000) { /* Private Enterprise Number (IPFIX only) */
- proto_tree_add_item(field_tree,
+ /* Private Enterprise Number (IPFIX only) */
+ if ((flowset_id == 2) && (type & 0x8000)) {
+ proto_tree_add_item(field_tree,
hf_cflow_template_field_pen, tvb, offset, 4, FALSE);
offset += 4;
}
@@ -4203,7 +4206,7 @@ proto_register_netflow(void)
},
{&hf_cflow_sampling_algorithm,
{"Sampling algorithm", "cflow.sampling_algorithm",
- FT_UINT8, BASE_DEC, NULL, 0x0,
+ FT_UINT8, BASE_DEC, VALS(v5_sampling_mode), 0x0,
NULL, HFILL}
},
{&hf_cflow_flow_active_timeout,
diff --git a/epan/dissectors/packet-snmp.c b/epan/dissectors/packet-snmp.c
index 4326cbdc8f..ae373d6431 100644
--- a/epan/dissectors/packet-snmp.c
+++ b/epan/dissectors/packet-snmp.c
@@ -1216,11 +1216,11 @@ static snmp_ue_assoc_t* localize_ue( snmp_ue_assoc_t* o, const guint8* engine, g
#define localized_match(a,u,ul,e,el) \
( a->user.userName.len == ul \
&& a->engine.len == el \
- && memcmp( a->user.userName.data, u, (a->user.userName.len < ul) ? a->user.userName.len : ul ) == 0 \
- && memcmp( a->engine.data, e, (a->engine.len < el) ? a->engine.len : el ) == 0 )
+ && memcmp( a->user.userName.data, u, ul ) == 0 \
+ && memcmp( a->engine.data, e, el ) == 0 )
#define unlocalized_match(a,u,l) \
- ( a->user.userName.len == l && memcmp( a->user.userName.data, u, a->user.userName.len < l ? a->user.userName.len : l) == 0 )
+ ( a->user.userName.len == l && memcmp( a->user.userName.data, u, l) == 0 )
static snmp_ue_assoc_t* get_user_assoc(tvbuff_t* engine_tvb, tvbuff_t* user_tvb) {
static snmp_ue_assoc_t* a;
@@ -3054,7 +3054,8 @@ static void snmp_usm_password_to_key_sha1(const guint8 *password,
}
-static void process_prefs(void) {}
+static void process_prefs(void) {
+}
static void* snmp_users_copy_cb(void* dest, const void* orig, unsigned len _U_) {
const snmp_ue_assoc_t* o = orig;
@@ -3085,7 +3086,7 @@ static void* snmp_users_copy_cb(void* dest, const void* orig, unsigned len _U_)
d->user.privKey.data = o->user.privKey.data ? g_memdup(o->user.privKey.data,o->user.privKey.len) : NULL;
d->user.privKey.len = o->user.privKey.len;
-
+
return d;
}
@@ -3102,16 +3103,40 @@ static void snmp_users_free_cb(void* p) {
static void snmp_users_update_cb(void* p _U_, const char** err) {
snmp_ue_assoc_t* ue = p;
GString* es = g_string_new("");
-
+ unsigned i;
+
*err = NULL;
- if (! ue->user.userName.len) g_string_append(es,"no userName, ");
+ if (! ue->user.userName.len)
+ g_string_append_printf(es,"no userName\n",num_ueas);
+ for (i=0; i<num_ueas-1; i++) {
+ snmp_ue_assoc_t* u = &(ueas[i]);
+
+
+ if ( u->user.userName.len == ue->user.userName.len
+ && u->engine.len == ue->engine.len ) {
+
+ if (u->engine.len > 0 && memcmp( u->engine.data, ue->engine.data, u->engine.len ) == 0) {
+ if ( memcmp( u->user.userName.data, ue->user.userName.data, ue->user.userName.len ) == 0 ) {
+ /* XXX: make a string for the engineId */
+ g_string_append_printf(es,"duplicate key (userName='%s' engineId='???')\n",ue->user.userName.data);
+ }
+ }
+
+ if (u->engine.len == 0) {
+ if ( memcmp( u->user.userName.data, ue->user.userName.data, ue->user.userName.len ) == 0 ) {
+ g_string_append_printf(es,"duplicate key (userName='%s' engineId=NONE)\n",ue->user.userName.data);
+ }
+ }
+ }
+ }
+
if (es->len) {
g_string_truncate(es,es->len-2);
*err = ep_strdup(es->str);
}
-
+
g_string_free(es,TRUE);
return;
@@ -3485,7 +3510,7 @@ void proto_register_snmp(void) {
"snmp.T_operation", HFILL }},
/*--- End of included file: packet-snmp-hfarr.c ---*/
-#line 2000 "packet-snmp-template.c"
+#line 2025 "packet-snmp-template.c"
};
/* List of subtrees */
@@ -3525,7 +3550,7 @@ void proto_register_snmp(void) {
&ett_snmp_RReqPDU_U,
/*--- End of included file: packet-snmp-ettarr.c ---*/
-#line 2016 "packet-snmp-template.c"
+#line 2041 "packet-snmp-template.c"
};
module_t *snmp_module;
@@ -3621,6 +3646,7 @@ void proto_register_snmp(void) {
value_sub_dissectors_table = register_dissector_table("snmp.variable_oid","SNMP Variable OID", FT_STRING, BASE_NONE);
register_init_routine(renew_ue_cache);
+
}
diff --git a/fileset.c b/fileset.c
index b7cb105bb0..b7a57e27ae 100644
--- a/fileset.c
+++ b/fileset.c
@@ -62,8 +62,8 @@
typedef struct _fileset {
- GList *entries;
- const char *dirname;
+ GList *entries;
+ char *dirname;
} fileset;
/* this is the fileset's global data */
@@ -192,7 +192,7 @@ fileset_add_file(const char *dirname, const char *fname, gboolean current)
/* Show statistics if they are valid */
if( result == 0 ) {
- entry = g_malloc(sizeof(fileset_entry));
+ entry = (fileset_entry *)g_malloc(sizeof(fileset_entry));
entry->fullname = g_strdup(path);
entry->name = g_strdup(fname);
@@ -217,10 +217,10 @@ fileset_add_file(const char *dirname, const char *fname, gboolean current)
static gint
fileset_sort_compare(gconstpointer a, gconstpointer b)
{
- const fileset_entry *entry_a = a;
- const fileset_entry *entry_b = b;
+ const fileset_entry *entry_a = (const fileset_entry *)a;
+ const fileset_entry *entry_b = (const fileset_entry *)b;
- return strcmp(entry_a->name, entry_b->name);
+ return strcmp(entry_a->name, entry_b->name);
}
@@ -233,7 +233,7 @@ void fileset_update_dlg(void)
/* add all entires to the dialog */
le = g_list_first(set.entries);
while(le) {
- fileset_dlg_add_file(le->data);
+ fileset_dlg_add_file((fileset_entry *)le->data);
le = g_list_next(le);
}
}
@@ -306,7 +306,7 @@ fileset_get_current(void)
/* add all entires to the dialog */
le = g_list_first(set.entries);
while(le) {
- entry = le->data;
+ entry = (fileset_entry *)le->data;
if(entry->current) {
return le;
}
@@ -334,7 +334,7 @@ fileset_get_next(void)
return NULL;
}
- return le->data;
+ return (fileset_entry *)le->data;
}
@@ -355,14 +355,14 @@ fileset_get_previous(void)
return NULL;
}
- return le->data;
+ return (fileset_entry *)le->data;
}
/* delete a single entry */
static void fileset_entry_delete(gpointer data, gpointer user_data _U_)
{
- fileset_entry *entry = data;
+ fileset_entry *entry = (fileset_entry *)data;
g_free( (gpointer) entry->fullname);
entry->fullname = NULL;
diff --git a/fileset.h b/fileset.h
index 7c8b14b87f..c6d0dd9294 100644
--- a/fileset.h
+++ b/fileset.h
@@ -31,12 +31,12 @@ extern "C" {
typedef struct _fileset_entry {
- const char *fullname; /* File name with path (g_strdup'ed) */
- const char *name; /* File name without path (g_strdup'ed) */
- time_t ctime; /* create time */
- time_t mtime; /* last modified time */
- gint64 size; /* size of file in bytes */
- gboolean current; /* is this the currently loaded file? */
+ char *fullname; /* File name with path (g_strdup'ed) */
+ char *name; /* File name without path (g_strdup'ed) */
+ time_t ctime; /* create time */
+ time_t mtime; /* last modified time */
+ gint64 size; /* size of file in bytes */
+ gboolean current; /* is this the currently loaded file? */
} fileset_entry;