#define AODV_EXT_NTP 3
/* Flag bits: */
+#define RREQ_DEST 0x10
#define RREQ_GRAT 0x20
#define RREQ_REP 0x40
#define RREQ_JOIN 0x80
static int hf_aodv_flags_rreq_join = -1;
static int hf_aodv_flags_rreq_repair = -1;
static int hf_aodv_flags_rreq_gratuitous = -1;
+static int hf_aodv_flags_rreq_destinationonly = -1;
static int hf_aodv_flags_rrep_repair = -1;
static int hf_aodv_flags_rrep_ack = -1;
static int hf_aodv_flags_rerr_nodelete = -1;
tvb, offset, 1, flags);
proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_gratuitous,
tvb, offset, 1, flags);
+ proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_destinationonly,
+ tvb, offset, 1, flags);
if (flags & RREQ_JOIN)
proto_item_append_text(tj, " J");
if (flags & RREQ_REP)
proto_item_append_text(tj, " R");
if (flags & RREQ_GRAT)
proto_item_append_text(tj, " G");
+ if (flags & RREQ_DEST)
+ proto_item_append_text(tj, " D");
}
offset += 2; /* skip reserved byte */
tvb, offset, 1, flags);
proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_gratuitous,
tvb, offset, 1, flags);
+ proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_destinationonly,
+ tvb, offset, 1, flags);
if (flags & RREQ_JOIN)
proto_item_append_text(tj, " J");
if (flags & RREQ_REP)
proto_item_append_text(tj, " R");
if (flags & RREQ_GRAT)
proto_item_append_text(tj, " G");
+ if (flags & RREQ_DEST)
+ proto_item_append_text(tj, " D");
}
offset += 2; /* skip reserved byte */
FT_BOOLEAN, 8, TFS(&flags_set_truth), RREQ_GRAT,
"", HFILL }
},
+ { &hf_aodv_flags_rreq_destinationonly,
+ { "RREQ Destination only", "aodv.flags.rreq_destinationonly",
+ FT_BOOLEAN, 8, TFS(&flags_set_truth), RREQ_DEST,
+ "", HFILL }
+ },
{ &hf_aodv_flags_rrep_repair,
{ "RREP Repair", "aodv.flags.rrep_repair",
FT_BOOLEAN, 8, TFS(&flags_set_truth), RREP_REP,