aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-batadv.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-02-24 13:46:44 -0500
committerAnders Broman <a.broman58@gmail.com>2015-02-27 07:42:40 +0000
commit0002424f97774168b50f5995e2e18fa900b1a71f (patch)
treec7c077685f0a4366d5ee6101db28c5953a7e4ea9 /epan/dissectors/packet-batadv.c
parent14697b8aee2dd3842806e82ab7220b68260d9363 (diff)
Remove most of the tvb_get_ptr calls in the packet-batadv.c dissector.
These calls were all getting ether addresses which can be gotten by other means. Change-Id: I9a3d564483c9ee9b8e5183bb9086da8a315c41fc Reviewed-on: https://code.wireshark.org/review/7421 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-batadv.c')
-rw-r--r--epan/dissectors/packet-batadv.c294
1 files changed, 113 insertions, 181 deletions
diff --git a/epan/dissectors/packet-batadv.c b/epan/dissectors/packet-batadv.c
index e5db676896..ed0ef72732 100644
--- a/epan/dissectors/packet-batadv.c
+++ b/epan/dissectors/packet-batadv.c
@@ -1036,7 +1036,6 @@ static int dissect_batadv_batman_v5(tvbuff_t *tvb, int offset, packet_info *pinf
proto_tree *batadv_batman_tree = NULL;
guint8 type;
struct batman_packet_v5 *batman_packeth;
- const guint8 *prev_sender_addr, *orig_addr;
gint i;
tvbuff_t *next_tvb;
@@ -1056,11 +1055,9 @@ static int dissect_batadv_batman_v5(tvbuff_t *tvb, int offset, packet_info *pinf
batman_packeth->gwflags = tvb_get_guint8(tvb, offset+4);
batman_packeth->tq = tvb_get_guint8(tvb, offset+5);
batman_packeth->seqno = tvb_get_ntohs(tvb, offset+6);
- orig_addr = tvb_get_ptr(tvb, offset+8, 6);
TVB_SET_ADDRESS(&batman_packeth->orig, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset+8, 6);
- prev_sender_addr = tvb_get_ptr(tvb, offset+14, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &batman_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &batman_packeth->orig);
TVB_SET_ADDRESS(&batman_packeth->prev_sender, AT_ETHER, tvb, offset+14, 6);
batman_packeth->num_tt = tvb_get_guint8(tvb, offset+20);
@@ -1104,10 +1101,10 @@ static int dissect_batadv_batman_v5(tvbuff_t *tvb, int offset, packet_info *pinf
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, prev_sender_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_num_tt, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -1137,7 +1134,6 @@ static int dissect_batadv_batman_v7(tvbuff_t *tvb, int offset, packet_info *pinf
proto_tree *batadv_batman_tree = NULL;
guint8 type;
struct batman_packet_v7 *batman_packeth;
- const guint8 *prev_sender_addr, *orig_addr;
gint i;
tvbuff_t *next_tvb;
@@ -1155,11 +1151,9 @@ static int dissect_batadv_batman_v7(tvbuff_t *tvb, int offset, packet_info *pinf
batman_packeth->flags = tvb_get_guint8(tvb, offset+2);
batman_packeth->tq = tvb_get_guint8(tvb, offset+3);
batman_packeth->seqno = tvb_get_ntohs(tvb, offset+4);
- orig_addr = tvb_get_ptr(tvb, offset+6, 6);
TVB_SET_ADDRESS(&batman_packeth->orig, AT_ETHER, tvb, offset+6, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset+6, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset+6, 6);
- prev_sender_addr = tvb_get_ptr(tvb, offset+12, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &batman_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &batman_packeth->orig);
TVB_SET_ADDRESS(&batman_packeth->prev_sender, AT_ETHER, tvb, offset+12, 6);
batman_packeth->ttl = tvb_get_guint8(tvb, offset+18);
batman_packeth->num_tt = tvb_get_guint8(tvb, offset+19);
@@ -1195,10 +1189,10 @@ static int dissect_batadv_batman_v7(tvbuff_t *tvb, int offset, packet_info *pinf
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, prev_sender_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -1229,7 +1223,6 @@ static int dissect_batadv_batman_v9(tvbuff_t *tvb, int offset, packet_info *pinf
proto_tree *batadv_batman_tree = NULL;
guint8 type;
struct batman_packet_v9 *batman_packeth;
- const guint8 *prev_sender_addr, *orig_addr;
gint i;
tvbuff_t *next_tvb;
@@ -1247,11 +1240,9 @@ static int dissect_batadv_batman_v9(tvbuff_t *tvb, int offset, packet_info *pinf
batman_packeth->flags = tvb_get_guint8(tvb, offset+2);
batman_packeth->tq = tvb_get_guint8(tvb, offset+3);
batman_packeth->seqno = tvb_get_ntohs(tvb, offset+4);
- orig_addr = tvb_get_ptr(tvb, offset+6, 6);
TVB_SET_ADDRESS(&batman_packeth->orig, AT_ETHER, tvb, offset+6, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset+6, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset+6, 6);
- prev_sender_addr = tvb_get_ptr(tvb, offset+12, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &batman_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &batman_packeth->orig);
TVB_SET_ADDRESS(&batman_packeth->prev_sender, AT_ETHER, tvb, offset+12, 6);
batman_packeth->ttl = tvb_get_guint8(tvb, offset+18);
batman_packeth->num_tt = tvb_get_guint8(tvb, offset+19);
@@ -1288,10 +1279,10 @@ static int dissect_batadv_batman_v9(tvbuff_t *tvb, int offset, packet_info *pinf
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, prev_sender_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -1329,7 +1320,6 @@ static int dissect_batadv_batman_v10(tvbuff_t *tvb, int offset, packet_info *pin
proto_tree *batadv_batman_tree = NULL;
guint8 type;
struct batman_packet_v10 *batman_packeth;
- const guint8 *prev_sender_addr, *orig_addr;
gint i;
tvbuff_t *next_tvb;
@@ -1347,11 +1337,9 @@ static int dissect_batadv_batman_v10(tvbuff_t *tvb, int offset, packet_info *pin
batman_packeth->flags = tvb_get_guint8(tvb, offset+2);
batman_packeth->tq = tvb_get_guint8(tvb, offset+3);
batman_packeth->seqno = tvb_get_ntohl(tvb, offset+4);
- orig_addr = tvb_get_ptr(tvb, offset+8, 6);
TVB_SET_ADDRESS(&batman_packeth->orig, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset+8, 6);
- prev_sender_addr = tvb_get_ptr(tvb, offset+14, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &batman_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &batman_packeth->orig);
TVB_SET_ADDRESS(&batman_packeth->prev_sender, AT_ETHER, tvb, offset+14, 6);
batman_packeth->ttl = tvb_get_guint8(tvb, offset+20);
batman_packeth->num_tt = tvb_get_guint8(tvb, offset+21);
@@ -1388,10 +1376,10 @@ static int dissect_batadv_batman_v10(tvbuff_t *tvb, int offset, packet_info *pin
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_seqno32, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, prev_sender_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -1428,7 +1416,6 @@ static int dissect_batadv_batman_v11(tvbuff_t *tvb, int offset, packet_info *pin
proto_tree *batadv_batman_tree = NULL;
guint8 type;
struct batman_packet_v11 *batman_packeth;
- const guint8 *prev_sender_addr, *orig_addr;
gint i;
tvbuff_t *next_tvb;
@@ -1446,11 +1433,9 @@ static int dissect_batadv_batman_v11(tvbuff_t *tvb, int offset, packet_info *pin
batman_packeth->flags = tvb_get_guint8(tvb, offset+2);
batman_packeth->tq = tvb_get_guint8(tvb, offset+3);
batman_packeth->seqno = tvb_get_ntohl(tvb, offset+4);
- orig_addr = tvb_get_ptr(tvb, offset+8, 6);
TVB_SET_ADDRESS(&batman_packeth->orig, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset+8, 6);
- prev_sender_addr = tvb_get_ptr(tvb, offset+14, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &batman_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &batman_packeth->orig);
TVB_SET_ADDRESS(&batman_packeth->prev_sender, AT_ETHER, tvb, offset+14, 6);
batman_packeth->ttl = tvb_get_guint8(tvb, offset+20);
batman_packeth->num_tt = tvb_get_guint8(tvb, offset+21);
@@ -1486,10 +1471,10 @@ static int dissect_batadv_batman_v11(tvbuff_t *tvb, int offset, packet_info *pin
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_seqno32, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, prev_sender_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -1520,7 +1505,6 @@ static int dissect_batadv_batman_v14(tvbuff_t *tvb, int offset, packet_info *pin
proto_tree *batadv_batman_tree = NULL;
guint8 type;
struct batman_packet_v14 *batman_packeth;
- const guint8 *prev_sender_addr, *orig_addr;
gint i;
tvbuff_t *next_tvb;
@@ -1539,11 +1523,9 @@ static int dissect_batadv_batman_v14(tvbuff_t *tvb, int offset, packet_info *pin
batman_packeth->ttl = tvb_get_guint8(tvb, offset+2);
batman_packeth->flags = tvb_get_guint8(tvb, offset+3);
batman_packeth->seqno = tvb_get_ntohl(tvb, offset+4);
- orig_addr = tvb_get_ptr(tvb, offset+8, 6);
TVB_SET_ADDRESS(&batman_packeth->orig, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, offset+8, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, offset+8, 6);
- prev_sender_addr = tvb_get_ptr(tvb, offset+14, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &batman_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &batman_packeth->orig);
TVB_SET_ADDRESS(&batman_packeth->prev_sender, AT_ETHER, tvb, offset+14, 6);
batman_packeth->gw_flags = tvb_get_guint8(tvb, offset+20);
batman_packeth->tq = tvb_get_guint8(tvb, offset+21);
@@ -1582,10 +1564,10 @@ static int dissect_batadv_batman_v14(tvbuff_t *tvb, int offset, packet_info *pin
proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_seqno32, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, prev_sender_addr);
+ proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_prev_sender, tvb, offset, 6, ENC_NA);
offset += 6;
tgw = proto_tree_add_item(batadv_batman_tree, hf_batadv_batman_gwflags, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -1810,7 +1792,6 @@ static void dissect_batadv_bcast(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
static void dissect_batadv_bcast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct bcast_packet_v6 *bcast_packeth;
- const guint8 *orig_addr;
tvbuff_t *next_tvb;
gint length_remaining;
@@ -1820,10 +1801,9 @@ static void dissect_batadv_bcast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tre
bcast_packeth = (struct bcast_packet_v6 *)wmem_alloc(wmem_packet_scope(), sizeof(struct bcast_packet_v6));
bcast_packeth->version = tvb_get_guint8(tvb, 1);
- orig_addr = tvb_get_ptr(tvb, 2, 6);
TVB_SET_ADDRESS(&bcast_packeth->orig, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 2, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &bcast_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &bcast_packeth->orig);
bcast_packeth->seqno = tvb_get_ntohs(tvb, 8);
/* Set info column */
@@ -1847,7 +1827,7 @@ static void dissect_batadv_bcast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tre
proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_version, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_bcast_tree, hf_batadv_bcast_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_orig, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -1869,7 +1849,6 @@ static void dissect_batadv_bcast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tre
static void dissect_batadv_bcast_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct bcast_packet_v10 *bcast_packeth;
- const guint8 *orig_addr;
tvbuff_t *next_tvb;
gint length_remaining;
@@ -1879,10 +1858,9 @@ static void dissect_batadv_bcast_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tr
bcast_packeth = (struct bcast_packet_v10 *)wmem_alloc(wmem_packet_scope(), sizeof(struct bcast_packet_v10));
bcast_packeth->version = tvb_get_guint8(tvb, 1);
- orig_addr = tvb_get_ptr(tvb, 2, 6);
TVB_SET_ADDRESS(&bcast_packeth->orig, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 2, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &bcast_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &bcast_packeth->orig);
bcast_packeth->ttl = tvb_get_guint8(tvb, 8);
bcast_packeth->seqno = tvb_get_ntohl(tvb, 9);
@@ -1907,7 +1885,7 @@ static void dissect_batadv_bcast_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tr
proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_version, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_bcast_tree, hf_batadv_bcast_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_orig, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -1933,7 +1911,6 @@ static void dissect_batadv_bcast_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tr
static void dissect_batadv_bcast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct bcast_packet_v14 *bcast_packeth;
- const guint8 *orig_addr;
tvbuff_t *next_tvb;
gint length_remaining;
@@ -1947,10 +1924,9 @@ static void dissect_batadv_bcast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tr
bcast_packeth->ttl = tvb_get_guint8(tvb, 2);
bcast_packeth->reserved = tvb_get_guint8(tvb, 3);
bcast_packeth->seqno = tvb_get_ntohl(tvb, 4);
- orig_addr = tvb_get_ptr(tvb, 8, 6);
TVB_SET_ADDRESS(&bcast_packeth->orig, AT_ETHER, tvb, 8, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 8, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 8, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &bcast_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &bcast_packeth->orig);
/* Set info column */
col_add_fstr(pinfo->cinfo, COL_INFO, "Seq=%u", bcast_packeth->seqno);
@@ -1985,7 +1961,7 @@ static void dissect_batadv_bcast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tr
proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_seqno32, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
- proto_tree_add_ether(batadv_bcast_tree, hf_batadv_bcast_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_bcast_tree, hf_batadv_bcast_orig, tvb, offset, 6, ENC_NA);
offset += 6;
tap_queue_packet(batadv_tap, pinfo, bcast_packeth);
@@ -2039,8 +2015,6 @@ static void dissect_batadv_icmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
static void dissect_batadv_icmp_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct icmp_packet_v6 *icmp_packeth;
- const guint8 *dst_addr, *orig_addr;
-
tvbuff_t *next_tvb;
gint length_remaining;
int offset = 0;
@@ -2050,22 +2024,18 @@ static void dissect_batadv_icmp_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
icmp_packeth->version = tvb_get_guint8(tvb, 1);
icmp_packeth->msg_type = tvb_get_guint8(tvb, 2);
- dst_addr = tvb_get_ptr(tvb, 3, 6);
TVB_SET_ADDRESS(&icmp_packeth->dst, AT_ETHER, tvb, 3, 6);
- orig_addr = tvb_get_ptr(tvb, 9, 6);
TVB_SET_ADDRESS(&icmp_packeth->orig, AT_ETHER, tvb, 9, 6);
- /* XXX - presume some of these are copy/paste errors (some should use dst_addr?), but keeping code for now */
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 9, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 9, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 9, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 9, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &icmp_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &icmp_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &icmp_packeth->dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &icmp_packeth->dst);
icmp_packeth->ttl = tvb_get_guint8(tvb, 15);
icmp_packeth->uid = tvb_get_guint8(tvb, 16);
icmp_packeth->seqno = tvb_get_ntohs(tvb, 17);
-
/* Set info column */
col_add_fstr(pinfo->cinfo, COL_INFO, "[%s] Seq=%u",
val_to_str(icmp_packeth->msg_type, icmp_packettypenames, "Unknown (0x%02x)"),
@@ -2092,10 +2062,10 @@ static void dissect_batadv_icmp_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_msg_type, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_icmp_tree, hf_batadv_icmp_dst, tvb, offset, 6, dst_addr);
+ proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_dst, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_icmp_tree, hf_batadv_icmp_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_orig, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -2170,7 +2140,6 @@ dissect_batadv_icmp_rr_v15(proto_tree *batadv_icmp_tree, tvbuff_t *tvb,
static void dissect_batadv_icmp_v7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct icmp_packet_v7 *icmp_packeth;
- const guint8 *dst_addr, *orig_addr;
proto_item *ti;
proto_tree *batadv_icmp_tree = NULL;
@@ -2183,16 +2152,13 @@ static void dissect_batadv_icmp_v7(tvbuff_t *tvb, packet_info *pinfo, proto_tree
icmp_packeth->version = tvb_get_guint8(tvb, 1);
icmp_packeth->msg_type = tvb_get_guint8(tvb, 2);
icmp_packeth->ttl = tvb_get_guint8(tvb, 3);
- dst_addr = tvb_get_ptr(tvb, 4, 6);
TVB_SET_ADDRESS(&icmp_packeth->dst, AT_ETHER, tvb, 4, 6);
- orig_addr = tvb_get_ptr(tvb, 10, 6);
TVB_SET_ADDRESS(&icmp_packeth->orig, AT_ETHER, tvb, 10, 6);
- /* XXX - presume some of these are copy/paste errors (some should use dst_addr?), but keeping code for now */
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &icmp_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &icmp_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &icmp_packeth->dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &icmp_packeth->dst);
icmp_packeth->seqno = tvb_get_ntohs(tvb, 16);
icmp_packeth->uid = tvb_get_guint8(tvb, 17);
@@ -2225,10 +2191,10 @@ static void dissect_batadv_icmp_v7(tvbuff_t *tvb, packet_info *pinfo, proto_tree
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_icmp_tree, hf_batadv_icmp_dst, tvb, offset, 6, dst_addr);
+ proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_dst, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_icmp_tree, hf_batadv_icmp_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_orig, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -2256,7 +2222,6 @@ static void dissect_batadv_icmp_v7(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static void dissect_batadv_icmp_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct icmp_packet_v14 *icmp_packeth;
- const guint8 *dst_addr, *orig_addr;
proto_item *ti;
proto_tree *batadv_icmp_tree = NULL;
@@ -2269,16 +2234,13 @@ static void dissect_batadv_icmp_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tre
icmp_packeth->version = tvb_get_guint8(tvb, 1);
icmp_packeth->ttl = tvb_get_guint8(tvb, 2);
icmp_packeth->msg_type = tvb_get_guint8(tvb, 3);
- dst_addr = tvb_get_ptr(tvb, 4, 6);
TVB_SET_ADDRESS(&icmp_packeth->dst, AT_ETHER, tvb, 4, 6);
- orig_addr = tvb_get_ptr(tvb, 10, 6);
TVB_SET_ADDRESS(&icmp_packeth->orig, AT_ETHER, tvb, 10, 6);
- /* XXX - presume some of these are copy/paste errors (some should use dst_addr?), but keeping code for now */
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &icmp_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &icmp_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &icmp_packeth->dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &icmp_packeth->dst);
icmp_packeth->seqno = tvb_get_ntohs(tvb, 16);
icmp_packeth->uid = tvb_get_guint8(tvb, 17);
@@ -2312,10 +2274,10 @@ static void dissect_batadv_icmp_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tre
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_msg_type, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_icmp_tree, hf_batadv_icmp_dst, tvb, offset, 6, dst_addr);
+ proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_dst, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_icmp_tree, hf_batadv_icmp_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_orig, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_icmp_tree, hf_batadv_icmp_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -2479,7 +2441,6 @@ static void dissect_batadv_unicast(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static void dissect_batadv_unicast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct unicast_packet_v6 *unicast_packeth;
- const guint8 *dest_addr;
tvbuff_t *next_tvb;
gint length_remaining;
@@ -2489,10 +2450,9 @@ static void dissect_batadv_unicast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_t
unicast_packeth = (struct unicast_packet_v6 *)wmem_alloc(wmem_packet_scope(), sizeof(struct unicast_packet_v6));
unicast_packeth->version = tvb_get_guint8(tvb, 1);
- dest_addr = tvb_get_ptr(tvb, 2, 6);
TVB_SET_ADDRESS(&unicast_packeth->dest, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 2, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &unicast_packeth->dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &unicast_packeth->dest);
unicast_packeth->ttl = tvb_get_guint8(tvb, 8);
@@ -2517,7 +2477,7 @@ static void dissect_batadv_unicast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_t
proto_tree_add_item(batadv_unicast_tree, hf_batadv_unicast_version, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_unicast_tree, hf_batadv_unicast_dst, tvb, offset, 6, dest_addr);
+ proto_tree_add_item(batadv_unicast_tree, hf_batadv_unicast_dst, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_unicast_tree, hf_batadv_unicast_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -2540,7 +2500,6 @@ static void dissect_batadv_unicast_v6(tvbuff_t *tvb, packet_info *pinfo, proto_t
static void dissect_batadv_unicast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct unicast_packet_v14 *unicast_packeth;
- const guint8 *dest_addr;
tvbuff_t *next_tvb;
gint length_remaining;
@@ -2553,10 +2512,9 @@ static void dissect_batadv_unicast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_
unicast_packeth->version = tvb_get_guint8(tvb, 1);
unicast_packeth->ttl = tvb_get_guint8(tvb, 2);
unicast_packeth->ttvn = tvb_get_guint8(tvb, 3);
- dest_addr = tvb_get_ptr(tvb, 4, 6);
TVB_SET_ADDRESS(&unicast_packeth->dest, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 4, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &unicast_packeth->dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &unicast_packeth->dest);
/* Set info column */
col_clear(pinfo->cinfo, COL_INFO);
@@ -2589,7 +2547,7 @@ static void dissect_batadv_unicast_v14(tvbuff_t *tvb, packet_info *pinfo, proto_
proto_tree_add_item(batadv_unicast_tree, hf_batadv_unicast_ttvn, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_unicast_tree, hf_batadv_unicast_dst, tvb, offset, 6, dest_addr);
+ proto_tree_add_item(batadv_unicast_tree, hf_batadv_unicast_dst, tvb, offset, 6, ENC_NA);
offset += 6;
tap_queue_packet(batadv_tap, pinfo, unicast_packeth);
@@ -2629,7 +2587,6 @@ static void dissect_batadv_unicast_4addr(tvbuff_t *tvb, packet_info *pinfo, prot
static void dissect_batadv_unicast_4addr_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct unicast_4addr_packet_v14 *unicast_4addr_packeth;
- const guint8 *dest_addr, *src_addr;
tvbuff_t *next_tvb;
gint length_remaining;
@@ -2642,14 +2599,13 @@ static void dissect_batadv_unicast_4addr_v14(tvbuff_t *tvb, packet_info *pinfo,
unicast_4addr_packeth->version = tvb_get_guint8(tvb, 1);
unicast_4addr_packeth->ttl = tvb_get_guint8(tvb, 2);
unicast_4addr_packeth->ttvn = tvb_get_guint8(tvb, 3);
- dest_addr = tvb_get_ptr(tvb, 4, 6);
TVB_SET_ADDRESS(&unicast_4addr_packeth->dest, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 4, 6);
- src_addr = tvb_get_ptr(tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &unicast_4addr_packeth->dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &unicast_4addr_packeth->dest);
+
TVB_SET_ADDRESS(&unicast_4addr_packeth->src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &unicast_4addr_packeth->src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &unicast_4addr_packeth->src);
unicast_4addr_packeth->subtype = tvb_get_guint8(tvb, 16);
unicast_4addr_packeth->reserved = tvb_get_guint8(tvb, 17);
@@ -2684,10 +2640,10 @@ static void dissect_batadv_unicast_4addr_v14(tvbuff_t *tvb, packet_info *pinfo,
proto_tree_add_item(batadv_unicast_4addr_tree, hf_batadv_unicast_4addr_ttvn, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_unicast_4addr_tree, hf_batadv_unicast_4addr_dst, tvb, offset, 6, dest_addr);
+ proto_tree_add_item(batadv_unicast_4addr_tree, hf_batadv_unicast_4addr_dst, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_unicast_4addr_tree, hf_batadv_unicast_4addr_src, tvb, offset, 6, src_addr);
+ proto_tree_add_item(batadv_unicast_4addr_tree, hf_batadv_unicast_4addr_src, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_unicast_4addr_tree, hf_batadv_unicast_4addr_subtype, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -2739,7 +2695,6 @@ static void dissect_batadv_unicast_frag(tvbuff_t *tvb, packet_info *pinfo, proto
static void dissect_batadv_unicast_frag_v12(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct unicast_frag_packet_v12 *unicast_frag_packeth;
- const guint8 *dest_addr, *orig_addr;
gboolean save_fragmented;
fragment_head *frag_msg = NULL;
proto_tree *batadv_unicast_frag_tree = NULL;
@@ -2752,16 +2707,14 @@ static void dissect_batadv_unicast_frag_v12(tvbuff_t *tvb, packet_info *pinfo, p
unicast_frag_packeth = (struct unicast_frag_packet_v12 *)wmem_alloc(wmem_packet_scope(), sizeof(struct unicast_frag_packet_v12));
unicast_frag_packeth->version = tvb_get_guint8(tvb, 1);
- dest_addr = tvb_get_ptr(tvb, 2, 6);
TVB_SET_ADDRESS(&unicast_frag_packeth->dest, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 2, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 2, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &unicast_frag_packeth->dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &unicast_frag_packeth->dest);
unicast_frag_packeth->ttl = tvb_get_guint8(tvb, 8);
unicast_frag_packeth->flags = tvb_get_guint8(tvb, 9);
- orig_addr = tvb_get_ptr(tvb, 10, 6);
TVB_SET_ADDRESS(&unicast_frag_packeth->orig, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &unicast_frag_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &unicast_frag_packeth->orig);
unicast_frag_packeth->seqno = tvb_get_ntohs(tvb, 16);
save_fragmented = pinfo->fragmented;
@@ -2788,7 +2741,7 @@ static void dissect_batadv_unicast_frag_v12(tvbuff_t *tvb, packet_info *pinfo, p
proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_version, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_unicast_frag_tree, hf_batadv_unicast_frag_dst, tvb, offset, 6, dest_addr);
+ proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_dst, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -2798,7 +2751,7 @@ static void dissect_batadv_unicast_frag_v12(tvbuff_t *tvb, packet_info *pinfo, p
ett_batadv_batman_flags, unicast_frag_flags, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_unicast_frag_tree, hf_batadv_unicast_frag_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_orig, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -2834,7 +2787,6 @@ static void dissect_batadv_unicast_frag_v12(tvbuff_t *tvb, packet_info *pinfo, p
static void dissect_batadv_unicast_frag_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct unicast_frag_packet_v14 *unicast_frag_packeth;
- const guint8 *dest_addr, *orig_addr;
gboolean save_fragmented;
fragment_head *frag_msg = NULL;
proto_tree *batadv_unicast_frag_tree = NULL;
@@ -2849,16 +2801,14 @@ static void dissect_batadv_unicast_frag_v14(tvbuff_t *tvb, packet_info *pinfo, p
unicast_frag_packeth->version = tvb_get_guint8(tvb, 1);
unicast_frag_packeth->ttl = tvb_get_guint8(tvb, 2);
unicast_frag_packeth->ttvn = tvb_get_guint8(tvb, 3);
- dest_addr = tvb_get_ptr(tvb, 4, 6);
TVB_SET_ADDRESS(&unicast_frag_packeth->dest, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 4, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &unicast_frag_packeth->dest);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &unicast_frag_packeth->dest);
unicast_frag_packeth->flags = tvb_get_guint8(tvb, 10);
unicast_frag_packeth->align = tvb_get_guint8(tvb, 11);
- orig_addr = tvb_get_ptr(tvb, 12, 6);
TVB_SET_ADDRESS(&unicast_frag_packeth->orig, AT_ETHER, tvb, 12, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 12, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 12, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &unicast_frag_packeth->orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &unicast_frag_packeth->orig);
unicast_frag_packeth->seqno = tvb_get_ntohs(tvb, 18);
save_fragmented = pinfo->fragmented;
@@ -2891,7 +2841,7 @@ static void dissect_batadv_unicast_frag_v14(tvbuff_t *tvb, packet_info *pinfo, p
proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_ttvn, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_unicast_frag_tree, hf_batadv_unicast_frag_dst, tvb, offset, 6, dest_addr);
+ proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_dst, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_bitmask(batadv_unicast_frag_tree, tvb, offset, hf_batadv_unicast_frag_flags,
@@ -2901,7 +2851,7 @@ static void dissect_batadv_unicast_frag_v14(tvbuff_t *tvb, packet_info *pinfo, p
/* Skip 1 byte of padding. */
offset += 1;
- proto_tree_add_ether(batadv_unicast_frag_tree, hf_batadv_unicast_frag_orig, tvb, offset, 6, orig_addr);
+ proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_orig, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_unicast_frag_tree, hf_batadv_unicast_frag_seqno, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -3088,7 +3038,6 @@ static void dissect_batadv_vis(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
static void dissect_batadv_vis_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct vis_packet_v6 *vis_packeth;
- const guint8 *vis_orig_addr, *target_orig_addr, *sender_orig_addr;
proto_tree *batadv_vis_tree = NULL;
tvbuff_t *next_tvb;
@@ -3104,17 +3053,13 @@ static void dissect_batadv_vis_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
vis_packeth->entries = tvb_get_guint8(tvb, 4);
vis_packeth->ttl = tvb_get_guint8(tvb, 5);
- vis_orig_addr = tvb_get_ptr(tvb, 6, 6);
TVB_SET_ADDRESS(&vis_packeth->vis_orig, AT_ETHER, tvb, 6, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 6, 6);
- target_orig_addr = tvb_get_ptr(tvb, 12, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &vis_packeth->vis_orig);
TVB_SET_ADDRESS(&vis_packeth->target_orig, AT_ETHER, tvb, 12, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 12, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 12, 6);
- sender_orig_addr = tvb_get_ptr(tvb, 18, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &vis_packeth->target_orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &vis_packeth->target_orig);
TVB_SET_ADDRESS(&vis_packeth->sender_orig, AT_ETHER, tvb, 18, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 18, 6);
-
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &vis_packeth->sender_orig);
/* Set info column */
@@ -3151,13 +3096,13 @@ static void dissect_batadv_vis_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_vis_orig, tvb, offset, 6, vis_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_vis_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_target_orig, tvb, offset, 6, target_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_target_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_sender_orig, tvb, offset, 6, sender_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_sender_orig, tvb, offset, 6, ENC_NA);
offset += 6;
tap_queue_packet(batadv_tap, pinfo, vis_packeth);
@@ -3213,7 +3158,6 @@ static void dissect_batadv_vis_v6(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static void dissect_batadv_vis_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct vis_packet_v10 *vis_packeth;
- const guint8 *vis_orig_addr, *target_orig_addr, *sender_orig_addr;
proto_tree *batadv_vis_tree = NULL;
tvbuff_t *next_tvb;
@@ -3228,16 +3172,13 @@ static void dissect_batadv_vis_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tree
vis_packeth->seqno = tvb_get_ntohl(tvb, 4);
vis_packeth->ttl = tvb_get_guint8(tvb, 8);
- vis_orig_addr = tvb_get_ptr(tvb, 9, 6);
TVB_SET_ADDRESS(&vis_packeth->vis_orig, AT_ETHER, tvb, 9, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 9, 6);
- target_orig_addr = tvb_get_ptr(tvb, 15, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &vis_packeth->vis_orig);
TVB_SET_ADDRESS(&vis_packeth->target_orig, AT_ETHER, tvb, 15, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 15, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 15, 6);
- sender_orig_addr = tvb_get_ptr(tvb, 21, 6);
- TVB_SET_ADDRESS(&vis_packeth->sender_orig, AT_ETHER, tvb, 21, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 21, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &vis_packeth->target_orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &vis_packeth->target_orig);
+ TVB_SET_ADDRESS(&vis_packeth->sender_orig, AT_ETHER, tvb, 21, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &vis_packeth->sender_orig);
/* Set info column */
@@ -3275,13 +3216,13 @@ static void dissect_batadv_vis_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tree
proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_ttl, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_vis_orig, tvb, offset, 6, vis_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_vis_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_target_orig, tvb, offset, 6, target_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_target_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_sender_orig, tvb, offset, 6, sender_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_sender_orig, tvb, offset, 6, ENC_NA);
offset += 6;
tap_queue_packet(batadv_tap, pinfo, vis_packeth);
@@ -3312,7 +3253,6 @@ static void dissect_batadv_vis_v10(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static void dissect_batadv_vis_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct vis_packet_v14 *vis_packeth;
- const guint8 *vis_orig_addr, *target_orig_addr, *sender_orig_addr;
proto_tree *batadv_vis_tree = NULL;
tvbuff_t *next_tvb;
@@ -3328,16 +3268,13 @@ static void dissect_batadv_vis_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree
vis_packeth->entries = tvb_get_guint8(tvb, 8);
vis_packeth->reserved = tvb_get_guint8(tvb, 9);
- vis_orig_addr = tvb_get_ptr(tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 10, 6);
TVB_SET_ADDRESS(&vis_packeth->vis_orig, AT_ETHER, tvb, 10, 6);
- target_orig_addr = tvb_get_ptr(tvb, 16, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &vis_packeth->vis_orig);
TVB_SET_ADDRESS(&vis_packeth->target_orig, AT_ETHER, tvb, 16, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 16, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 16, 6);
- sender_orig_addr = tvb_get_ptr(tvb, 22, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &vis_packeth->target_orig);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &vis_packeth->target_orig);
TVB_SET_ADDRESS(&vis_packeth->sender_orig, AT_ETHER, tvb, 22, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 22, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &vis_packeth->sender_orig);
/* Set info column */
col_add_fstr(pinfo->cinfo, COL_INFO, "[%s] Seq=%u",
@@ -3377,13 +3314,13 @@ static void dissect_batadv_vis_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree
/* Skip 1 byte of padding. */
offset += 1;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_vis_orig, tvb, offset, 6, vis_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_vis_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_target_orig, tvb, offset, 6, target_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_target_orig, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_vis_tree, hf_batadv_vis_sender_orig, tvb, offset, 6, sender_orig_addr);
+ proto_tree_add_item(batadv_vis_tree, hf_batadv_vis_sender_orig, tvb, offset, 6, ENC_NA);
offset += 6;
tap_queue_packet(batadv_tap, pinfo, vis_packeth);
@@ -3462,7 +3399,6 @@ static void dissect_batadv_tt_query(tvbuff_t *tvb, packet_info *pinfo, proto_tre
static void dissect_batadv_tt_query_v14(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
{
struct tt_query_packet_v14 *tt_query_packeth;
- const guint8 *dst_addr, *src_addr;
proto_tree *batadv_tt_query_tree = NULL;
tvbuff_t *next_tvb;
@@ -3476,14 +3412,14 @@ static void dissect_batadv_tt_query_v14(tvbuff_t *tvb, packet_info *pinfo _U_, p
tt_query_packeth->ttl = tvb_get_guint8(tvb, 2);
tt_query_packeth->flags = tvb_get_guint8(tvb, 3);
- dst_addr = tvb_get_ptr(tvb, 4, 6);
TVB_SET_ADDRESS(&tt_query_packeth->dst, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 4, 6);
- src_addr = tvb_get_ptr(tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &tt_query_packeth->dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &tt_query_packeth->dst);
+
TVB_SET_ADDRESS(&tt_query_packeth->src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &tt_query_packeth->src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &tt_query_packeth->src);
+
tt_query_packeth->ttvn = tvb_get_guint8(tvb, 16);
tt_query_packeth->tt_data = tvb_get_ntohs(tvb, 17);
@@ -3527,10 +3463,10 @@ static void dissect_batadv_tt_query_v14(tvbuff_t *tvb, packet_info *pinfo _U_, p
ett_batadv_tt_query_flags, tt_query_flags, ENC_BIG_ENDIAN);
offset += 1;
- proto_tree_add_ether(batadv_tt_query_tree, hf_batadv_tt_query_dst, tvb, offset, 6, dst_addr);
+ proto_tree_add_item(batadv_tt_query_tree, hf_batadv_tt_query_dst, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_tt_query_tree, hf_batadv_tt_query_src, tvb, offset, 6, src_addr);
+ proto_tree_add_item(batadv_tt_query_tree, hf_batadv_tt_query_src, tvb, offset, 6, ENC_NA);
offset += 6;
proto_tree_add_item(batadv_tt_query_tree, hf_batadv_tt_query_ttvn, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -3612,7 +3548,6 @@ static void dissect_batadv_roam_adv(tvbuff_t *tvb, packet_info *pinfo, proto_tre
static void dissect_batadv_roam_adv_v14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct roam_adv_packet_v14 *roam_adv_packeth;
- const guint8 *dst_addr, *src_addr, *client_addr;
proto_tree *batadv_roam_adv_tree = NULL;
tvbuff_t *next_tvb;
@@ -3623,15 +3558,12 @@ static void dissect_batadv_roam_adv_v14(tvbuff_t *tvb, packet_info *pinfo, proto
roam_adv_packeth->version = tvb_get_guint8(tvb, 1);
roam_adv_packeth->ttl = tvb_get_guint8(tvb, 2);
- dst_addr = tvb_get_ptr(tvb, 4, 6);
TVB_SET_ADDRESS(&roam_adv_packeth->dst, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dl_dst, AT_ETHER, tvb, 4, 6);
- TVB_SET_ADDRESS(&pinfo->dst, AT_ETHER, tvb, 4, 6);
- src_addr = tvb_get_ptr(tvb, 10, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_dst, &roam_adv_packeth->dst);
+ COPY_ADDRESS_SHALLOW(&pinfo->dst, &roam_adv_packeth->dst);
TVB_SET_ADDRESS(&roam_adv_packeth->src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->dl_src, AT_ETHER, tvb, 10, 6);
- TVB_SET_ADDRESS(&pinfo->src, AT_ETHER, tvb, 10, 6);
- client_addr = tvb_get_ptr(tvb, 16, 6);
+ COPY_ADDRESS_SHALLOW(&pinfo->dl_src, &roam_adv_packeth->src);
+ COPY_ADDRESS_SHALLOW(&pinfo->src, &roam_adv_packeth->src);
TVB_SET_ADDRESS(&roam_adv_packeth->client, AT_ETHER, tvb, 16, 6);
/* Set info column */
@@ -3661,13 +3593,13 @@ static void dissect_batadv_roam_adv_v14(tvbuff_t *tvb, packet_info *pinfo, proto
/* Skip 1 byte of padding. */
offset += 1;
- proto_tree_add_ether(batadv_roam_adv_tree, hf_batadv_roam_adv_dst, tvb, offset, 6, dst_addr);
+ proto_tree_add_item(batadv_roam_adv_tree, hf_batadv_roam_adv_dst, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_roam_adv_tree, hf_batadv_roam_adv_src, tvb, offset, 6, src_addr);
+ proto_tree_add_item(batadv_roam_adv_tree, hf_batadv_roam_adv_src, tvb, offset, 6, ENC_NA);
offset += 6;
- proto_tree_add_ether(batadv_roam_adv_tree, hf_batadv_roam_adv_client, tvb, offset, 6, client_addr);
+ proto_tree_add_item(batadv_roam_adv_tree, hf_batadv_roam_adv_client, tvb, offset, 6, ENC_NA);
offset += 6;
tap_queue_packet(batadv_tap, pinfo, roam_adv_packeth);