From bb5daa6ae9070a1093b5fbc8f078d9eaf101d769 Mon Sep 17 00:00:00 2001 From: Bill Meier Date: Fri, 3 Oct 2014 10:13:07 -0400 Subject: Add editor modelines; Adjust whitespace as needed. Change-Id: I391cdf80a6e4ae5b0f4068e0500a90d013588f8a Reviewed-on: https://code.wireshark.org/review/4442 Reviewed-by: Bill Meier --- epan/dissectors/packet-aodv.c | 833 +++++++++++++++++++++--------------------- 1 file changed, 423 insertions(+), 410 deletions(-) (limited to 'epan/dissectors/packet-aodv.c') diff --git a/epan/dissectors/packet-aodv.c b/epan/dissectors/packet-aodv.c index bce1a12ccd..edfa4a5d6b 100644 --- a/epan/dissectors/packet-aodv.c +++ b/epan/dissectors/packet-aodv.c @@ -34,54 +34,54 @@ #include #ifndef offsetof -#define offsetof(type, member) ((size_t)(&((type *)0)->member)) +#define offsetof(type, member) ((size_t)(&((type *)0)->member)) #endif /* * See * - * RFC 3561 (which indicates that, for IPv6, the only change is that - * the address fields are enlarged) + * RFC 3561 (which indicates that, for IPv6, the only change is that + * the address fields are enlarged) * - * http://www.cs.ucsb.edu/~ebelding/txt/aodv6.txt + * http://www.cs.ucsb.edu/~ebelding/txt/aodv6.txt * - * http://www.tcs.hut.fi/~anttit/manet/drafts/draft-perkins-aodv6-01.txt + * http://www.tcs.hut.fi/~anttit/manet/drafts/draft-perkins-aodv6-01.txt * - * (both of the above two are draft-perkins-manet-aodv6-01.txt, which - * is from November 2000) + * (both of the above two are draft-perkins-manet-aodv6-01.txt, which + * is from November 2000) */ void proto_register_aodv(void); void proto_reg_handoff_aodv(void); -#define INET6_ADDRLEN 16 -#define UDP_PORT_AODV 654 +#define INET6_ADDRLEN 16 +#define UDP_PORT_AODV 654 /* Message Types */ -#define RREQ 1 -#define RREP 2 -#define RERR 3 -#define RREP_ACK 4 -#define DRAFT_01_V6_RREQ 16 -#define DRAFT_01_V6_RREP 17 -#define DRAFT_01_V6_RERR 18 -#define DRAFT_01_V6_RREP_ACK 19 +#define RREQ 1 +#define RREP 2 +#define RERR 3 +#define RREP_ACK 4 +#define DRAFT_01_V6_RREQ 16 +#define DRAFT_01_V6_RREP 17 +#define DRAFT_01_V6_RERR 18 +#define DRAFT_01_V6_RREP_ACK 19 /* Extension Types */ -#define AODV_EXT 1 -#define AODV_EXT_INT 2 -#define AODV_EXT_NTP 3 +#define AODV_EXT 1 +#define AODV_EXT_INT 2 +#define AODV_EXT_NTP 3 /* Flag bits: */ -#define RREQ_UNKNSEQ 0x08 -#define RREQ_DESTONLY 0x10 -#define RREQ_GRATRREP 0x20 -#define RREQ_REP 0x40 -#define RREQ_JOIN 0x80 +#define RREQ_UNKNSEQ 0x08 +#define RREQ_DESTONLY 0x10 +#define RREQ_GRATRREP 0x20 +#define RREQ_REP 0x40 +#define RREQ_JOIN 0x80 -#define RREP_ACK_REQ 0x40 -#define RREP_REP 0x80 +#define RREP_ACK_REQ 0x40 +#define RREP_REP 0x80 -#define RERR_NODEL 0x80 +#define RERR_NODEL 0x80 static const value_string type_vals[] = { { RREQ, "Route Request" }, @@ -156,9 +156,9 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr proto_item *len_item; guint8 type, len; - again: +again: if ((int) tvb_reported_length(tvb) <= offset) - return; /* No more options left */ + return; /* No more options left */ type = tvb_get_guint8(tvb, offset); len = tvb_get_guint8(tvb, offset + 1); @@ -168,10 +168,10 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr proto_tree_add_item(ext_tree, hf_aodv_ext_type, tvb, offset, 1, ENC_NA); len_item = proto_tree_add_uint_format_value(ext_tree, hf_aodv_ext_length, tvb, offset + 1, 1, - len, "%u bytes", len); + len, "%u bytes", len); if (len == 0) { expert_add_info(pinfo, len_item, &ei_aodv_ext_length); - return; /* we must not try to decode this */ + return; /* we must not try to decode this */ } offset += 2; @@ -180,7 +180,7 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr case AODV_EXT_INT: proto_tree_add_uint(ext_tree, hf_aodv_ext_interval, tvb, offset, 4, tvb_get_ntohl(tvb, offset)); - break; + break; case AODV_EXT_NTP: proto_tree_add_item(ext_tree, hf_aodv_ext_timestamp, tvb, offset, 8, ENC_BIG_ENDIAN); @@ -197,7 +197,7 @@ dissect_aodv_ext(tvbuff_t * tvb, packet_info *pinfo, int offset, proto_tree * tr static void dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, - proto_item *ti, gboolean is_ipv6) + proto_item *ti, gboolean is_ipv6) { int offset = 1; proto_item *tj; @@ -215,40 +215,40 @@ dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, - 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); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, - 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_GRATRREP) - proto_item_append_text(tj, " G"); - if (flags & RREQ_DESTONLY) - proto_item_append_text(tj, " D"); - if (flags & RREQ_UNKNSEQ) - proto_item_append_text(tj, " U"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, + 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); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, + 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_GRATRREP) + proto_item_append_text(tj, " G"); + if (flags & RREQ_DESTONLY) + proto_item_append_text(tj, " D"); + if (flags & RREQ_UNKNSEQ) + proto_item_append_text(tj, " U"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; rreq_id = tvb_get_ntohl(tvb, offset); if (aodv_tree) proto_tree_add_uint(aodv_tree, hf_aodv_rreq_id, tvb, offset, 4, - rreq_id); + rreq_id); offset += 4; if (is_ipv6) { @@ -278,37 +278,37 @@ dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, dest_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, - dest_seqno); + dest_seqno); offset += 4; if (is_ipv6) { - tvb_get_ipv6(tvb, offset, &orig_addr_v6); - if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&orig_addr_v6); - proto_item_append_text(ti, ", Orig IP: %s", - ip6_to_str(&orig_addr_v6)); - } + tvb_get_ipv6(tvb, offset, &orig_addr_v6); + if (aodv_tree) { + proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&orig_addr_v6); + proto_item_append_text(ti, ", Orig IP: %s", + ip6_to_str(&orig_addr_v6)); + } col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", - ip6_to_str(&orig_addr_v6)); - offset += INET6_ADDRLEN; + ip6_to_str(&orig_addr_v6)); + offset += INET6_ADDRLEN; } else { - orig_addr_v4 = tvb_get_ipv4(tvb, offset); - if (aodv_tree) { - proto_tree_add_ipv4(aodv_tree, hf_aodv_orig_ip, tvb, offset, 4, - orig_addr_v4); - proto_item_append_text(ti, ", Orig IP: %s", - ip_to_str((guint8 *)&orig_addr_v4)); - } + orig_addr_v4 = tvb_get_ipv4(tvb, offset); + if (aodv_tree) { + proto_tree_add_ipv4(aodv_tree, hf_aodv_orig_ip, tvb, offset, 4, + orig_addr_v4); + proto_item_append_text(ti, ", Orig IP: %s", + ip_to_str((guint8 *)&orig_addr_v4)); + } col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", - ip_to_str((guint8 *)&orig_addr_v4)); - offset += 4; + ip_to_str((guint8 *)&orig_addr_v4)); + offset += 4; } orig_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) proto_tree_add_uint(aodv_tree, hf_aodv_orig_seqno, tvb, offset, 4, - orig_seqno); + orig_seqno); col_append_fstr(pinfo->cinfo, COL_INFO, " Id=%u Hcnt=%u DSN=%u OSN=%u", rreq_id, hop_count, @@ -318,14 +318,14 @@ dissect_aodv_rreq(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, if (aodv_tree) { extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_rrep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, - proto_item *ti, gboolean is_ipv6) + proto_item *ti, gboolean is_ipv6) { int offset = 1; proto_item *tj; @@ -343,28 +343,28 @@ dissect_aodv_rrep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, - offset, 1, flags); - if (flags & RREP_REP) - proto_item_append_text(tj, " R"); - if (flags & RREP_ACK_REQ) - proto_item_append_text(tj, " A"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, + offset, 1, flags); + if (flags & RREP_REP) + proto_item_append_text(tj, " R"); + if (flags & RREP_ACK_REQ) + proto_item_append_text(tj, " A"); } offset += 1; prefix_sz = tvb_get_guint8(tvb, offset) & 0x1F; if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, - prefix_sz); + proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, + prefix_sz); offset += 1; hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; if (is_ipv6) { @@ -436,15 +436,15 @@ dissect_aodv_rrep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, offset += 4; if (aodv_tree) { - extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + extlen = tvb_reported_length_remaining(tvb, offset); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_rerr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, - gboolean is_ipv6) + gboolean is_ipv6) { int offset = 1; proto_item *tj; @@ -456,52 +456,52 @@ dissect_aodv_rerr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aodv_tree, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, - tvb, offset, 1, flags); - if (flags & RERR_NODEL) - proto_item_append_text(tj, " N"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, + tvb, offset, 1, flags); + if (flags & RERR_NODEL) + proto_item_append_text(tj, " N"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ dest_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, - dest_count); - col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", - dest_count); + proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, + dest_count); + col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", + dest_count); offset += 1; if (is_ipv6) { - aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, - (INET6_ADDRLEN + 4)*dest_count, ett_aodv_unreach_dest, NULL, - "Unreachable Destinations"); - for (i = 0; i < dest_count; i++) { - proto_tree_add_item(aodv_unreach_dest_tree, - hf_aodv_unreach_dest_ipv6, - tvb, offset, INET6_ADDRLEN, ENC_NA); - offset += INET6_ADDRLEN; - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - } + aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, + (INET6_ADDRLEN + 4)*dest_count, ett_aodv_unreach_dest, NULL, + "Unreachable Destinations"); + for (i = 0; i < dest_count; i++) { + proto_tree_add_item(aodv_unreach_dest_tree, + hf_aodv_unreach_dest_ipv6, + tvb, offset, INET6_ADDRLEN, ENC_NA); + offset += INET6_ADDRLEN; + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + } } else { - aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, (4 + 4)*dest_count, - ett_aodv_unreach_dest, NULL, "Unreachable Destinations"); - for (i = 0; i < dest_count; i++) { - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_unreach_dest_ip, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - } + aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, (4 + 4)*dest_count, + ett_aodv_unreach_dest, NULL, "Unreachable Destinations"); + for (i = 0; i < dest_count; i++) { + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_unreach_dest_ip, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + } } } static void dissect_aodv_draft_01_v6_rreq(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *aodv_tree, proto_item *ti) + proto_tree *aodv_tree, proto_item *ti) { int offset = 1; proto_item *tj; @@ -517,93 +517,93 @@ dissect_aodv_draft_01_v6_rreq(tvbuff_t *tvb, packet_info *pinfo, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, - 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); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, - 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_GRATRREP) - proto_item_append_text(tj, " G"); - if (flags & RREQ_DESTONLY) - proto_item_append_text(tj, " D"); - if (flags & RREQ_UNKNSEQ) - proto_item_append_text(tj, " U"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_join, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_repair, + 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); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rreq_unknown, + 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_GRATRREP) + proto_item_append_text(tj, " G"); + if (flags & RREQ_DESTONLY) + proto_item_append_text(tj, " D"); + if (flags & RREQ_UNKNSEQ) + proto_item_append_text(tj, " U"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; rreq_id = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_rreq_id, tvb, offset, 4, - rreq_id); + proto_tree_add_uint(aodv_tree, hf_aodv_rreq_id, tvb, offset, 4, + rreq_id); offset += 4; dest_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, - dest_seqno); + proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, + dest_seqno); offset += 4; orig_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_orig_seqno, tvb, offset, 4, - orig_seqno); + proto_tree_add_uint(aodv_tree, hf_aodv_orig_seqno, tvb, offset, 4, + orig_seqno); offset += 4; tvb_get_ipv6(tvb, offset, &dest_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&dest_addr_v6); - proto_item_append_text(ti, ", Dest IP: %s", - ip6_to_str(&dest_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&dest_addr_v6); + proto_item_append_text(ti, ", Dest IP: %s", + ip6_to_str(&dest_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", - ip6_to_str(&dest_addr_v6)); + col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", + ip6_to_str(&dest_addr_v6)); offset += INET6_ADDRLEN; tvb_get_ipv6(tvb, offset, &orig_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&orig_addr_v6); - proto_item_append_text(ti, ", Orig IP: %s", - ip6_to_str(&orig_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&orig_addr_v6); + proto_item_append_text(ti, ", Orig IP: %s", + ip6_to_str(&orig_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, - ", O: %s Id=%u Hcnt=%u DSN=%u OSN=%u", - ip6_to_str(&orig_addr_v6), - rreq_id, - hop_count, - dest_seqno, - orig_seqno); + col_append_fstr(pinfo->cinfo, COL_INFO, + ", O: %s Id=%u Hcnt=%u DSN=%u OSN=%u", + ip6_to_str(&orig_addr_v6), + rreq_id, + hop_count, + dest_seqno, + orig_seqno); offset += INET6_ADDRLEN; if (aodv_tree) { - extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + extlen = tvb_reported_length_remaining(tvb, offset); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_draft_01_v6_rrep(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *aodv_tree, proto_item *ti) + proto_tree *aodv_tree, proto_item *ti) { int offset = 1; proto_item *tj; @@ -619,83 +619,83 @@ dissect_aodv_draft_01_v6_rrep(tvbuff_t *tvb, packet_info *pinfo, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, - tvb, offset, 1, flags); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, - offset, 1, flags); - if (flags & RREP_REP) - proto_item_append_text(tj, " R"); - if (flags & RREP_ACK_REQ) - proto_item_append_text(tj, " A"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_repair, + tvb, offset, 1, flags); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rrep_ack, tvb, + offset, 1, flags); + if (flags & RREP_REP) + proto_item_append_text(tj, " R"); + if (flags & RREP_ACK_REQ) + proto_item_append_text(tj, " A"); } offset += 1; prefix_sz = tvb_get_guint8(tvb, offset) & 0x7F; if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, - prefix_sz); + proto_tree_add_uint(aodv_tree, hf_aodv_prefix_sz, tvb, offset, 1, + prefix_sz); offset += 1; hop_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, - hop_count); + proto_tree_add_uint(aodv_tree, hf_aodv_hopcount, tvb, offset, 1, + hop_count); offset += 1; dest_seqno = tvb_get_ntohl(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, - dest_seqno); + proto_tree_add_uint(aodv_tree, hf_aodv_dest_seqno, tvb, offset, 4, + dest_seqno); offset += 4; tvb_get_ipv6(tvb, offset, &dest_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&dest_addr_v6); - proto_item_append_text(ti, ", Dest IP: %s", - ip6_to_str(&dest_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_dest_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&dest_addr_v6); + proto_item_append_text(ti, ", Dest IP: %s", + ip6_to_str(&dest_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", - ip6_to_str(&dest_addr_v6)); + col_append_fstr(pinfo->cinfo, COL_INFO, ", D: %s", + ip6_to_str(&dest_addr_v6)); offset += INET6_ADDRLEN; tvb_get_ipv6(tvb, offset, &orig_addr_v6); if (aodv_tree) { - proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, - INET6_ADDRLEN, (guint8 *)&orig_addr_v6); - proto_item_append_text(ti, ", Orig IP: %s", - ip6_to_str(&orig_addr_v6)); + proto_tree_add_ipv6(aodv_tree, hf_aodv_orig_ipv6, tvb, offset, + INET6_ADDRLEN, (guint8 *)&orig_addr_v6); + proto_item_append_text(ti, ", Orig IP: %s", + ip6_to_str(&orig_addr_v6)); } - col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", - ip6_to_str(&orig_addr_v6)); + col_append_fstr(pinfo->cinfo, COL_INFO, ", O: %s", + ip6_to_str(&orig_addr_v6)); offset += INET6_ADDRLEN; lifetime = tvb_get_ntohl(tvb, offset); if (aodv_tree) { - proto_tree_add_uint(aodv_tree, hf_aodv_lifetime, tvb, offset, 4, - lifetime); - proto_item_append_text(ti, ", Lifetime=%u", lifetime); + proto_tree_add_uint(aodv_tree, hf_aodv_lifetime, tvb, offset, 4, + lifetime); + proto_item_append_text(ti, ", Lifetime=%u", lifetime); } - col_append_fstr(pinfo->cinfo, COL_INFO, " Hcnt=%u DSN=%u Lifetime=%u", - hop_count, - dest_seqno, - lifetime); + col_append_fstr(pinfo->cinfo, COL_INFO, " Hcnt=%u DSN=%u Lifetime=%u", + hop_count, + dest_seqno, + lifetime); offset += 4; if (aodv_tree) { - extlen = tvb_reported_length_remaining(tvb, offset); - if (extlen > 0) - dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); + extlen = tvb_reported_length_remaining(tvb, offset); + if (extlen > 0) + dissect_aodv_ext(tvb, pinfo, offset, aodv_tree); } } static void dissect_aodv_draft_01_v6_rerr(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *aodv_tree) + proto_tree *aodv_tree) { int offset = 1; proto_item *tj; @@ -707,35 +707,35 @@ dissect_aodv_draft_01_v6_rerr(tvbuff_t *tvb, packet_info *pinfo, flags = tvb_get_guint8(tvb, offset); if (aodv_tree) { - aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); - proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, - tvb, offset, 1, flags); - if (flags & RERR_NODEL) - proto_item_append_text(tj, " N"); + aodv_flags_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, 1, ett_aodv_flags, &tj, "Flags:"); + proto_tree_add_boolean(aodv_flags_tree, hf_aodv_flags_rerr_nodelete, + tvb, offset, 1, flags); + if (flags & RERR_NODEL) + proto_item_append_text(tj, " N"); } - offset += 2; /* skip reserved byte */ + offset += 2; /* skip reserved byte */ dest_count = tvb_get_guint8(tvb, offset); if (aodv_tree) - proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, - dest_count); + proto_tree_add_uint(aodv_tree, hf_aodv_destcount, tvb, offset, 1, + dest_count); - col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", - dest_count); + col_append_fstr(pinfo->cinfo, COL_INFO, ", Dest Count=%u", + dest_count); offset += 1; aodv_unreach_dest_tree = proto_tree_add_subtree(aodv_tree, tvb, offset, - (4 + INET6_ADDRLEN)*dest_count, - ett_aodv_unreach_dest, NULL, - "Unreachable Destinations"); + (4 + INET6_ADDRLEN)*dest_count, + ett_aodv_unreach_dest, NULL, + "Unreachable Destinations"); for (i = 0; i < dest_count; i++) { - proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, - tvb, offset, 4, ENC_BIG_ENDIAN); - offset += 4; - proto_tree_add_item(aodv_unreach_dest_tree, - hf_aodv_unreach_dest_ipv6, - tvb, offset, INET6_ADDRLEN, ENC_NA); - offset += INET6_ADDRLEN; + proto_tree_add_item(aodv_unreach_dest_tree, hf_aodv_dest_seqno, + tvb, offset, 4, ENC_BIG_ENDIAN); + offset += 4; + proto_tree_add_item(aodv_unreach_dest_tree, + hf_aodv_unreach_dest_ipv6, + tvb, offset, INET6_ADDRLEN, ENC_NA); + offset += INET6_ADDRLEN; } } @@ -758,48 +758,48 @@ dissect_aodv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_ /* Check the type of AODV packet. */ type = tvb_get_guint8(tvb, 0); if (try_val_to_str(type, type_vals) == NULL) { - /* - * We assume this is not an AODV packet. - */ - return 0; + /* + * We assume this is not an AODV packet. + */ + return 0; } col_add_str(pinfo->cinfo, COL_INFO, val_to_str(type, type_vals, "Unknown AODV Packet Type (%u)")); - ti = proto_tree_add_protocol_format(tree, proto_aodv, tvb, 0, -1, - "Ad hoc On-demand Distance Vector Routing Protocol, %s", - val_to_str(type, type_vals, "Unknown AODV Packet Type (%u)")); - aodv_tree = proto_item_add_subtree(ti, ett_aodv); + ti = proto_tree_add_protocol_format(tree, proto_aodv, tvb, 0, -1, + "Ad hoc On-demand Distance Vector Routing Protocol, %s", + val_to_str(type, type_vals, "Unknown AODV Packet Type (%u)")); + aodv_tree = proto_item_add_subtree(ti, ett_aodv); - type_item = proto_tree_add_uint(aodv_tree, hf_aodv_type, tvb, 0, 1, type); + type_item = proto_tree_add_uint(aodv_tree, hf_aodv_type, tvb, 0, 1, type); switch (type) { case RREQ: - dissect_aodv_rreq(tvb, pinfo, aodv_tree, ti, is_ipv6); - break; + dissect_aodv_rreq(tvb, pinfo, aodv_tree, ti, is_ipv6); + break; case RREP: - dissect_aodv_rrep(tvb, pinfo, aodv_tree, ti, is_ipv6); - break; + dissect_aodv_rrep(tvb, pinfo, aodv_tree, ti, is_ipv6); + break; case RERR: - dissect_aodv_rerr(tvb, pinfo, aodv_tree, is_ipv6); - break; + dissect_aodv_rerr(tvb, pinfo, aodv_tree, is_ipv6); + break; case RREP_ACK: - break; + break; case DRAFT_01_V6_RREQ: - dissect_aodv_draft_01_v6_rreq(tvb, pinfo, aodv_tree, ti); - break; + dissect_aodv_draft_01_v6_rreq(tvb, pinfo, aodv_tree, ti); + break; case DRAFT_01_V6_RREP: - dissect_aodv_draft_01_v6_rrep(tvb, pinfo, aodv_tree, ti); - break; + dissect_aodv_draft_01_v6_rrep(tvb, pinfo, aodv_tree, ti); + break; case DRAFT_01_V6_RERR: - dissect_aodv_draft_01_v6_rerr(tvb, pinfo, aodv_tree); - break; + dissect_aodv_draft_01_v6_rerr(tvb, pinfo, aodv_tree); + break; case DRAFT_01_V6_RREP_ACK: - break; + break; default: - expert_add_info(pinfo, type_item, &ei_aodv_type); + expert_add_info(pinfo, type_item, &ei_aodv_type); } return tvb_length(tvb); @@ -811,158 +811,158 @@ void proto_register_aodv(void) { static hf_register_info hf[] = { - { &hf_aodv_type, - { "Type", "aodv.type", - FT_UINT8, BASE_DEC, VALS(type_vals), 0x0, - "AODV packet type", HFILL } - }, + { &hf_aodv_type, + { "Type", "aodv.type", + FT_UINT8, BASE_DEC, VALS(type_vals), 0x0, + "AODV packet type", HFILL } + }, #if 0 - { &hf_aodv_flags, - { "Flags", "aodv.flags", - FT_UINT16, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_aodv_flags, + { "Flags", "aodv.flags", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_aodv_flags_rreq_join, - { "RREQ Join", "aodv.flags.rreq_join", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_JOIN, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_repair, - { "RREQ Repair", "aodv.flags.rreq_repair", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_REP, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_gratuitous, - { "RREQ Gratuitous RREP", "aodv.flags.rreq_gratuitous", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_GRATRREP, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_destinationonly, - { "RREQ Destination only", "aodv.flags.rreq_destinationonly", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_DESTONLY, - NULL, HFILL } - }, - { &hf_aodv_flags_rreq_unknown, - { "RREQ Unknown Sequence Number", "aodv.flags.rreq_unknown", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_UNKNSEQ, - NULL, HFILL } - }, - { &hf_aodv_flags_rrep_repair, - { "RREP Repair", "aodv.flags.rrep_repair", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_REP, - NULL, HFILL } - }, - { &hf_aodv_flags_rrep_ack, - { "RREP Acknowledgement", "aodv.flags.rrep_ack", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_ACK_REQ, - NULL, HFILL } - }, - { &hf_aodv_flags_rerr_nodelete, - { "RERR No Delete", "aodv.flags.rerr_nodelete", - FT_BOOLEAN, 8, TFS(&tfs_set_notset), RERR_NODEL, - NULL, HFILL } - }, - { &hf_aodv_prefix_sz, - { "Prefix Size", "aodv.prefix_sz", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_hopcount, - { "Hop Count", "aodv.hopcount", - FT_UINT8, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_rreq_id, - { "RREQ Id", "aodv.rreq_id", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_dest_ip, - { "Destination IP", "aodv.dest_ip", - FT_IPv4, BASE_NONE, NULL, 0x0, - "Destination IP Address", HFILL } - }, - { &hf_aodv_dest_ipv6, - { "Destination IPv6", "aodv.dest_ipv6", - FT_IPv6, BASE_NONE, NULL, 0x0, - "Destination IPv6 Address", HFILL} - }, - { &hf_aodv_dest_seqno, - { "Destination Sequence Number", "aodv.dest_seqno", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_orig_ip, - { "Originator IP", "aodv.orig_ip", - FT_IPv4, BASE_NONE, NULL, 0x0, - "Originator IP Address", HFILL } - }, - { &hf_aodv_orig_ipv6, - { "Originator IPv6", "aodv.orig_ipv6", - FT_IPv6, BASE_NONE, NULL, 0x0, - "Originator IPv6 Address", HFILL} - }, - { &hf_aodv_orig_seqno, - { "Originator Sequence Number", "aodv.orig_seqno", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_lifetime, - { "Lifetime", "aodv.lifetime", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, - { &hf_aodv_destcount, - { "Destination Count", "aodv.destcount", - FT_UINT8, BASE_DEC, NULL, 0x0, - "Unreachable Destinations Count", HFILL } - }, - { &hf_aodv_unreach_dest_ip, - { "Unreachable Destination IP", "aodv.unreach_dest_ip", - FT_IPv4, BASE_NONE, NULL, 0x0, - "Unreachable Destination IP Address", HFILL } - }, - { &hf_aodv_unreach_dest_ipv6, - { "Unreachable Destination IPv6", "aodv.unreach_dest_ipv6", - FT_IPv6, BASE_NONE, NULL, 0x0, - "Unreachable Destination IPv6 Address", HFILL} - }, + { &hf_aodv_flags_rreq_join, + { "RREQ Join", "aodv.flags.rreq_join", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_JOIN, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_repair, + { "RREQ Repair", "aodv.flags.rreq_repair", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_REP, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_gratuitous, + { "RREQ Gratuitous RREP", "aodv.flags.rreq_gratuitous", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_GRATRREP, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_destinationonly, + { "RREQ Destination only", "aodv.flags.rreq_destinationonly", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_DESTONLY, + NULL, HFILL } + }, + { &hf_aodv_flags_rreq_unknown, + { "RREQ Unknown Sequence Number", "aodv.flags.rreq_unknown", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREQ_UNKNSEQ, + NULL, HFILL } + }, + { &hf_aodv_flags_rrep_repair, + { "RREP Repair", "aodv.flags.rrep_repair", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_REP, + NULL, HFILL } + }, + { &hf_aodv_flags_rrep_ack, + { "RREP Acknowledgement", "aodv.flags.rrep_ack", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RREP_ACK_REQ, + NULL, HFILL } + }, + { &hf_aodv_flags_rerr_nodelete, + { "RERR No Delete", "aodv.flags.rerr_nodelete", + FT_BOOLEAN, 8, TFS(&tfs_set_notset), RERR_NODEL, + NULL, HFILL } + }, + { &hf_aodv_prefix_sz, + { "Prefix Size", "aodv.prefix_sz", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_hopcount, + { "Hop Count", "aodv.hopcount", + FT_UINT8, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_rreq_id, + { "RREQ Id", "aodv.rreq_id", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_dest_ip, + { "Destination IP", "aodv.dest_ip", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Destination IP Address", HFILL } + }, + { &hf_aodv_dest_ipv6, + { "Destination IPv6", "aodv.dest_ipv6", + FT_IPv6, BASE_NONE, NULL, 0x0, + "Destination IPv6 Address", HFILL} + }, + { &hf_aodv_dest_seqno, + { "Destination Sequence Number", "aodv.dest_seqno", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_orig_ip, + { "Originator IP", "aodv.orig_ip", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Originator IP Address", HFILL } + }, + { &hf_aodv_orig_ipv6, + { "Originator IPv6", "aodv.orig_ipv6", + FT_IPv6, BASE_NONE, NULL, 0x0, + "Originator IPv6 Address", HFILL} + }, + { &hf_aodv_orig_seqno, + { "Originator Sequence Number", "aodv.orig_seqno", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_lifetime, + { "Lifetime", "aodv.lifetime", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, + { &hf_aodv_destcount, + { "Destination Count", "aodv.destcount", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Unreachable Destinations Count", HFILL } + }, + { &hf_aodv_unreach_dest_ip, + { "Unreachable Destination IP", "aodv.unreach_dest_ip", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Unreachable Destination IP Address", HFILL } + }, + { &hf_aodv_unreach_dest_ipv6, + { "Unreachable Destination IPv6", "aodv.unreach_dest_ipv6", + FT_IPv6, BASE_NONE, NULL, 0x0, + "Unreachable Destination IPv6 Address", HFILL} + }, #if 0 - { &hf_aodv_unreach_dest_seqno, - { "Unreachable Destination Sequence Number", "aodv.unreach_dest_seqno", - FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL } - }, + { &hf_aodv_unreach_dest_seqno, + { "Unreachable Destination Sequence Number", "aodv.unreach_dest_seqno", + FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL } + }, #endif - { &hf_aodv_ext_type, - { "Extension Type", "aodv.ext_type", - FT_UINT8, BASE_DEC, VALS(exttype_vals), 0x0, - "Extension Format Type", HFILL} - }, - { &hf_aodv_ext_length, - { "Extension Length", "aodv.ext_length", - FT_UINT8, BASE_DEC, NULL, 0x0, - "Extension Data Length", HFILL} - }, - { &hf_aodv_ext_interval, - { "Hello Interval", "aodv.hello_interval", - FT_UINT32, BASE_DEC, NULL, 0x0, - "Hello Interval Extension", HFILL} - }, - { &hf_aodv_ext_timestamp, - { "Timestamp", "aodv.timestamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "Timestamp Extension", HFILL} - }, + { &hf_aodv_ext_type, + { "Extension Type", "aodv.ext_type", + FT_UINT8, BASE_DEC, VALS(exttype_vals), 0x0, + "Extension Format Type", HFILL} + }, + { &hf_aodv_ext_length, + { "Extension Length", "aodv.ext_length", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Extension Data Length", HFILL} + }, + { &hf_aodv_ext_interval, + { "Hello Interval", "aodv.hello_interval", + FT_UINT32, BASE_DEC, NULL, 0x0, + "Hello Interval Extension", HFILL} + }, + { &hf_aodv_ext_timestamp, + { "Timestamp", "aodv.timestamp", + FT_UINT64, BASE_DEC, NULL, 0x0, + "Timestamp Extension", HFILL} + }, }; /* Setup protocol subtree array */ static gint *ett[] = { - &ett_aodv, - &ett_aodv_flags, - &ett_aodv_unreach_dest, - &ett_aodv_extensions, + &ett_aodv, + &ett_aodv_flags, + &ett_aodv_unreach_dest, + &ett_aodv_extensions, }; static ei_register_info ei[] = { @@ -989,6 +989,19 @@ proto_reg_handoff_aodv(void) dissector_handle_t aodv_handle; aodv_handle = new_create_dissector_handle(dissect_aodv, - proto_aodv); + proto_aodv); dissector_add_uint("udp.port", UDP_PORT_AODV, aodv_handle); } + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ -- cgit v1.2.3