aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-lisp-data.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-05-05 11:02:42 +0000
committerMichael Mann <mmann78@netscape.net>2013-05-05 11:02:42 +0000
commit2a9201a34fa7ce8b900668608ef7b71378fb1c70 (patch)
treedc1ba947545be462913bd81da3496eb88e39b8a4 /epan/dissectors/packet-lisp-data.c
parente13a0996eee08cb0da67d9b6fd94a9b3898cde11 (diff)
Remove if (tree) so expert_info will always be called.
svn path=/trunk/; revision=49170
Diffstat (limited to 'epan/dissectors/packet-lisp-data.c')
-rw-r--r--epan/dissectors/packet-lisp-data.c131
1 files changed, 64 insertions, 67 deletions
diff --git a/epan/dissectors/packet-lisp-data.c b/epan/dissectors/packet-lisp-data.c
index 81635a2b15..3c8ffa3862 100644
--- a/epan/dissectors/packet-lisp-data.c
+++ b/epan/dissectors/packet-lisp-data.c
@@ -104,80 +104,77 @@ dissect_lisp_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
col_set_str(pinfo->cinfo, COL_INFO, "LISP Encapsulation Header");
- if (tree) {
-
- /* create display subtree for the protocol */
- ti = proto_tree_add_item(tree, proto_lisp_data, tvb, 0,
- LISP_DATA_HEADER_LEN, ENC_NA);
-
- lisp_data_tree = proto_item_add_subtree(ti, ett_lisp_data);
-
- tif = proto_tree_add_item(lisp_data_tree,
- hf_lisp_data_flags, tvb, offset, 1, ENC_BIG_ENDIAN);
-
- lisp_data_flags_tree = proto_item_add_subtree(tif, ett_lisp_data_flags);
-
- proto_tree_add_item(lisp_data_flags_tree,
- hf_lisp_data_flags_nonce, tvb, offset, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(lisp_data_flags_tree,
- hf_lisp_data_flags_lsb, tvb, offset, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(lisp_data_flags_tree,
- hf_lisp_data_flags_enr, tvb, offset, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(lisp_data_flags_tree,
- hf_lisp_data_flags_mv, tvb, offset, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(lisp_data_flags_tree,
- hf_lisp_data_flags_iid, tvb, offset, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(lisp_data_flags_tree,
- hf_lisp_data_flags_res, tvb, offset, 1, ENC_BIG_ENDIAN);
-
- flags = tvb_get_guint8(tvb, offset);
- offset += 1;
+ /* create display subtree for the protocol */
+ ti = proto_tree_add_item(tree, proto_lisp_data, tvb, 0,
+ LISP_DATA_HEADER_LEN, ENC_NA);
+
+ lisp_data_tree = proto_item_add_subtree(ti, ett_lisp_data);
+
+ tif = proto_tree_add_item(lisp_data_tree,
+ hf_lisp_data_flags, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+ lisp_data_flags_tree = proto_item_add_subtree(tif, ett_lisp_data_flags);
+
+ proto_tree_add_item(lisp_data_flags_tree,
+ hf_lisp_data_flags_nonce, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(lisp_data_flags_tree,
+ hf_lisp_data_flags_lsb, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(lisp_data_flags_tree,
+ hf_lisp_data_flags_enr, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(lisp_data_flags_tree,
+ hf_lisp_data_flags_mv, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(lisp_data_flags_tree,
+ hf_lisp_data_flags_iid, tvb, offset, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(lisp_data_flags_tree,
+ hf_lisp_data_flags_res, tvb, offset, 1, ENC_BIG_ENDIAN);
+
+ flags = tvb_get_guint8(tvb, offset);
+ offset += 1;
+
+ if (flags&LISP_DATA_FLAG_E && !(flags&LISP_DATA_FLAG_N)) {
+ expert_add_info_format(pinfo, tif, PI_PROTOCOL, PI_WARN,
+ "Invalid flag combination: if E is set, N MUST be set");
+ }
- if (flags&LISP_DATA_FLAG_E && !(flags&LISP_DATA_FLAG_N)) {
+ if (flags&LISP_DATA_FLAG_N) {
+ if (flags&LISP_DATA_FLAG_V) {
expert_add_info_format(pinfo, tif, PI_PROTOCOL, PI_WARN,
- "Invalid flag combination: if E is set, N MUST be set");
+ "Invalid flag combination: N and V can't be set both");
+ }
+ proto_tree_add_item(lisp_data_tree,
+ hf_lisp_data_nonce, tvb, offset, 3, ENC_BIG_ENDIAN);
+ } else {
+ if (flags&LISP_DATA_FLAG_V) {
+ proto_item *tiv;
+ proto_tree *lisp_data_mapver_tree;
+
+ tiv = proto_tree_add_item(lisp_data_tree,
+ hf_lisp_data_mapver, tvb, offset, 3, ENC_BIG_ENDIAN);
+
+ lisp_data_mapver_tree = proto_item_add_subtree(tiv, ett_lisp_data_mapver);
+
+ proto_tree_add_item(lisp_data_mapver_tree,
+ hf_lisp_data_srcmapver, tvb, offset, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(lisp_data_mapver_tree,
+ hf_lisp_data_dstmapver, tvb, offset, 3, ENC_BIG_ENDIAN);
}
+ }
+ offset += 3;
- if (flags&LISP_DATA_FLAG_N) {
- if (flags&LISP_DATA_FLAG_V) {
- expert_add_info_format(pinfo, tif, PI_PROTOCOL, PI_WARN,
- "Invalid flag combination: N and V can't be set both");
- }
+ if (flags&LISP_DATA_FLAG_I) {
+ proto_tree_add_item(lisp_data_tree,
+ hf_lisp_data_iid, tvb, offset, 3, ENC_BIG_ENDIAN);
+ offset += 3;
+ if (flags&LISP_DATA_FLAG_L) {
proto_tree_add_item(lisp_data_tree,
- hf_lisp_data_nonce, tvb, offset, 3, ENC_BIG_ENDIAN);
- } else {
- if (flags&LISP_DATA_FLAG_V) {
- proto_item *tiv;
- proto_tree *lisp_data_mapver_tree;
-
- tiv = proto_tree_add_item(lisp_data_tree,
- hf_lisp_data_mapver, tvb, offset, 3, ENC_BIG_ENDIAN);
-
- lisp_data_mapver_tree = proto_item_add_subtree(tiv, ett_lisp_data_mapver);
-
- proto_tree_add_item(lisp_data_mapver_tree,
- hf_lisp_data_srcmapver, tvb, offset, 3, ENC_BIG_ENDIAN);
- proto_tree_add_item(lisp_data_mapver_tree,
- hf_lisp_data_dstmapver, tvb, offset, 3, ENC_BIG_ENDIAN);
- }
+ hf_lisp_data_lsb8, tvb, offset, 1, ENC_BIG_ENDIAN);
}
- offset += 3;
-
- if (flags&LISP_DATA_FLAG_I) {
+ /*offset +=1;*/
+ } else {
+ if (flags&LISP_DATA_FLAG_L) {
proto_tree_add_item(lisp_data_tree,
- hf_lisp_data_iid, tvb, offset, 3, ENC_BIG_ENDIAN);
- offset += 3;
- if (flags&LISP_DATA_FLAG_L) {
- proto_tree_add_item(lisp_data_tree,
- hf_lisp_data_lsb8, tvb, offset, 1, ENC_BIG_ENDIAN);
- }
- /*offset +=1;*/
- } else {
- if (flags&LISP_DATA_FLAG_L) {
- proto_tree_add_item(lisp_data_tree,
- hf_lisp_data_lsb, tvb, offset, 4, ENC_BIG_ENDIAN);
- /*offset += 4;*/
- }
+ hf_lisp_data_lsb, tvb, offset, 4, ENC_BIG_ENDIAN);
+ /*offset += 4;*/
}
}