diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-03-03 19:26:45 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-03-03 19:26:45 +0000 |
commit | 771519aaf0f2a862c674fe4c65c2467d0ab574ae (patch) | |
tree | ff7a1cc21d15d0007b7b10671980ab8ccd04e1d4 /epan/dissectors/packet-bat.c | |
parent | 6f015a4f1fb65d645751ceb8cc4f010ef2237ad3 (diff) |
From Sven Eckelmann:
Support aggregated originator messages in B.A.T.M.A.N. dissector.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3268
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27588 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-bat.c')
-rw-r--r-- | epan/dissectors/packet-bat.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/epan/dissectors/packet-bat.c b/epan/dissectors/packet-bat.c index ca9720e936..a87286a1c6 100644 --- a/epan/dissectors/packet-bat.c +++ b/epan/dissectors/packet-bat.c @@ -1,6 +1,6 @@ /* packet-bat.c * Routines for B.A.T.M.A.N. Layer 3 dissection - * Copyright 2008, Sven Eckelmann <sven.eckelmann@gmx.de> + * Copyright 2008-2009 Sven Eckelmann <sven.eckelmann@gmx.de> * * $Id$ * @@ -253,19 +253,19 @@ static void dissect_bat_batman_v5(tvbuff_t *tvb, packet_info *pinfo, proto_tree proto_tree_add_item(bat_batman_tree, hf_bat_batman_hna_len, tvb, offset, 1, FALSE); offset += 1; - } - tap_queue_packet(bat_tap, pinfo, batman_packeth); + tap_queue_packet(bat_tap, pinfo, batman_packeth); - for (i = 0; i < batman_packeth->hna_len; i++) { - next_tvb = tvb_new_subset(tvb, offset, 5, 5); + for (i = 0; i < batman_packeth->hna_len; i++) { + next_tvb = tvb_new_subset(tvb, offset, 5, 5); - if (have_tap_listener(bat_follow_tap)) { - tap_queue_packet(bat_follow_tap, pinfo, next_tvb); - } + if (have_tap_listener(bat_follow_tap)) { + tap_queue_packet(bat_follow_tap, pinfo, next_tvb); + } - dissect_bat_hna(next_tvb, pinfo, tree); - offset += 5; + dissect_bat_hna(next_tvb, pinfo, bat_batman_tree); + offset += 5; + } } length_remaining = tvb_reported_length_remaining(tvb, offset); @@ -276,7 +276,7 @@ static void dissect_bat_batman_v5(tvbuff_t *tvb, packet_info *pinfo, proto_tree tap_queue_packet(bat_follow_tap, pinfo, next_tvb); } - call_dissector(data_handle, next_tvb, pinfo, tree); + dissect_bat_batman(next_tvb, pinfo, tree); } } @@ -687,6 +687,7 @@ static void dissect_vis_entry_v23(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t proto_tree_add_ipv4(bat_vis_entry_tree, hf_bat_vis_data_ip, tvb, 2, 4, ip); } } + void proto_register_bat(void) { module_t *bat_module = NULL; |