aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2012-08-22 21:01:46 +0000
committerGuy Harris <guy@alum.mit.edu>2012-08-22 21:01:46 +0000
commitc2a8aa2bee81365b7d69470f59132b8e1dcf24c3 (patch)
treef7bcc4bf1615d00748abe7bbc2795ee740f83183
parent4c32e01dfe491bbfc20a50d70589377c3a6c0378 (diff)
Put the state of flags in the hop_flags field into the summary line.
Note in the introductory comment what "LISP" refers to, for the benefit of those of us who grew up thinking it stood for "LISt Processing". svn path=/trunk/; revision=44617
-rw-r--r--epan/dissectors/packet-lisp.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/epan/dissectors/packet-lisp.c b/epan/dissectors/packet-lisp.c
index b5dbc74f3e..2a1ec05b25 100644
--- a/epan/dissectors/packet-lisp.c
+++ b/epan/dissectors/packet-lisp.c
@@ -1,5 +1,5 @@
/* packet-lisp.c
- * Routines for LISP Control Message dissection
+ * Routines for Locator/ID Separation Protocol (LISP) Control Message dissection
* Copyright 2011, Lorand Jakab <lj@lispmon.net>
*
* $Id$
@@ -319,11 +319,12 @@ dissect_lcaf_elp_hop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
{
guint16 addr_len = 0;
guint16 hop_afi;
+ guint16 hop_flags;
const gchar *hop_str;
+ proto_item *ti;
hop_afi = tvb_get_ntohs(tvb, offset); offset += 2;
- /* hop flags */
- offset += 2;
+ hop_flags = tvb_get_ntohs(tvb, offset); offset += 2;
hop_str = get_addr_str(tvb, offset, hop_afi, &addr_len);
if (hop_str == NULL) {
@@ -333,10 +334,16 @@ dissect_lcaf_elp_hop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
if (idx) {
- proto_tree_add_text(tree, tvb, offset - 4, addr_len + 4, "Reencap hop %d: %s", idx, hop_str);
+ ti = proto_tree_add_text(tree, tvb, offset - 4, addr_len + 4, "Reencap hop %d: %s", idx, hop_str);
} else {
- proto_tree_add_text(tree, tvb, offset - 4, addr_len + 4, "Reencap hop: %s", hop_str);
+ ti = proto_tree_add_text(tree, tvb, offset - 4, addr_len + 4, "Reencap hop: %s", hop_str);
}
+ if (hop_flags & 0x04)
+ proto_item_append_text(ti, ", Lookup");
+ if (hop_flags & 0x02)
+ proto_item_append_text(ti, ", RLOC-Probe");
+ if (hop_flags & 0x01)
+ proto_item_append_text(ti, ", Strict");
return addr_len + 4;
}