wireshark/epan
Pedro Jose Marron 911da8b9d5 Support in 6lowpan for RFC4944 address generation
For the conversion of a 16-bit short address in 6lowpan to an IID, there
are several RFCs that produce different results. RFC 4944 section 6
specifies that the conversion uses the given PAN ID and the 16-bit short
address. RFC 6282, on the other hand, specifies thta the conversion only
uses the 16-bit short address and no longer uses the PAN ID.

The current version of the 6lowpan dissector supports only the newer RFC
6282, but there are protocols out there that assume that the address
conversion still abides to RFC 4944.

In order to support these protocols and following the discussion from

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8970

this patch introduces a boolean preference in the 6lowpan dissector that
indicates whether or not the older RFC 4944 should be used for address
conversion. By default, it is set to FALSE, thus leaving the behavior of
the dissector unchanged.

Besides the boolean preference, another helper function
lowpan_addr16_with_panid_to_ifcid has been written that implements the
expected behavior from RFC 4944 using the same hint mechanism already in
place in the dissector for the support of RFC 6282.

Change-Id: I8d202c69a225d7b1212080a174e0111e5203553c
Reviewed-on: https://code.wireshark.org/review/10902
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-10 00:10:34 +00:00
..
compress
crypt airpdcap: add free_key_string function, fix memleaks 2015-10-09 14:35:41 +00:00
dfilter Treat IPv4 subnet masks as distinct from addresses 2015-10-01 20:49:42 +00:00
dissectors Support in 6lowpan for RFC4944 address generation 2015-10-10 00:10:34 +00:00
ftypes change the representation of an empty byte array in a display filter 2015-09-17 07:39:23 +00:00
nghttp2 NGHTTP2: Fix warning this decimal constant is unsigned only in ISO C90 2015-09-24 15:14:34 +00:00
wmem wmem: Fix wmem_tree_remove_string 2015-08-11 19:55:01 +00:00
wslua wslua: fix memleak in lua_prime_all_fields 2015-10-07 13:57:18 +00:00
CMakeLists.txt Initialize 2.1. 2015-10-05 20:11:12 +00:00
CMakeListsCustom.txt.example
Makefile.am Initialize 2.1. 2015-10-05 20:11:12 +00:00
Makefile.common Plugin Interface: Add GUI callbacks 2015-06-25 16:23:08 +00:00
Makefile.nmake Lemon: Update lemon tools 2015-07-02 08:49:02 +00:00
addr_and_mask.c
addr_and_mask.h
addr_resolv.c Add BASE_PT_ field display types 2015-10-05 18:10:48 +00:00
addr_resolv.h Add BASE_PT_ field display types 2015-10-05 18:10:48 +00:00
address.h Add the WLAN statistics dialog. 2015-08-20 23:12:37 +00:00
address_types.c Don't display duplicate addresses without name resolution enabled 2015-09-25 21:12:01 +00:00
address_types.h Add WS_DLL_PUBLIC for Address Type Registration 2015-10-09 17:42:06 +00:00
afn.c
afn.h
aftypes.c
aftypes.h Update comment. 2015-08-18 17:33:02 +00:00
app_mem_usage.c
app_mem_usage.h
arcnet_pids.h
arptypes.h
asm_utils.c
asm_utils.h
asm_utils_win32_x86.asm
asn1.c asn1.c: fix printf arguments used with DEBUG flag 2015-10-09 18:45:26 +00:00
asn1.h
ax25_pids.h
bridged_pids.h
charsets.c
charsets.h
chdlctypes.h
circuit.c
circuit.h
color_dissector_filters.c
color_dissector_filters.h
column-info.h Speed up column sorting. 2015-08-28 02:54:20 +00:00
column-utils.c UDP: Make port column info similar to TCP, add length information 2015-10-05 02:32:31 +00:00
column-utils.h UDP: Make port column info similar to TCP, add length information 2015-10-05 02:32:31 +00:00
column.c Take all epan_column_info members that always get allocated to "number of columns" to share their own data structure. 2015-06-29 02:11:04 +00:00
column.h
conv_id.h
conversation.c conversation: fix indent (use tabs) 2015-07-30 11:05:22 +00:00
conversation.h
conversation_debug.h
conversation_table.c Further refactor SRT stats. 2015-06-21 03:35:13 +00:00
conversation_table.h
crc6-tvb.c
crc6-tvb.h
crc8-tvb.c
crc8-tvb.h
crc10-tvb.c
crc10-tvb.h
crc16-tvb.c
crc16-tvb.h
crc32-tvb.c
crc32-tvb.h
decode_as.c
decode_as.h
diam_dict.h
diam_dict.l Allow empty-element Diameter Applications and use that format. 2015-05-08 04:23:10 +00:00
disabled_protos.c Qt: Add the Dissector Tables dialog. 2015-09-27 16:19:05 +00:00
disabled_protos.h Add new long options to GUIs to allow arbitrary protocols and heuristics to be disabled via command-line 2015-07-17 11:27:52 +00:00
dissector_filters.c
dissector_filters.h
doxygen.cfg.in
dtd.h
dtd_grammar.lemon Lemon grammar: fix indent (use tabs) 2015-08-27 04:35:23 +00:00
dtd_parse.h
dtd_parse.l
dtd_preparse.l
dvb_chartbl.c Eliminate proto_tree_add_text from odds and ends. 2015-09-15 02:20:13 +00:00
dvb_chartbl.h
dwarf.c dwarf.c: fix V629 warning reported by PVS-Studio 2015-06-07 14:34:36 +00:00
dwarf.h
eap.h
eapol_keydes_types.h
enterprise-numbers [Automatic update for 2015-10-04] 2015-10-04 15:11:34 +00:00
epan-int.h
epan.c
epan.h
epan_dissect.h
etypes.h nwp: add support for NWP packets 2015-09-30 04:48:31 +00:00
ex-opt.c
ex-opt.h
except.c Print unsigned long values with %lu, not %ld. 2015-06-06 01:40:08 +00:00
except.h
exceptions.h wslua: fix crash when a LUA error is raised in TRY block 2015-10-05 02:30:16 +00:00
exntest.c
expert.c Remove proto_tree_add_text API. 2015-09-21 14:11:43 +00:00
expert.h Remove proto_tree_add_text API. 2015-09-21 14:11:43 +00:00
exported_pdu.c Add ability to export PDUs for heuristic dissectors also 2015-06-25 00:10:13 +00:00
exported_pdu.h Simply code for export of PDUs coming from heuristic dissectors 2015-07-15 18:30:57 +00:00
filter_expressions.c
filter_expressions.h
follow.c ui/follow: fix The 'find_addr[UDP_STREAM]' variable is assigned values twice successively. Perhaps this is a mistake. Found by PVS Studio (V519) 2015-06-06 17:11:45 +00:00
follow.h follow.h: fix api reference warning 2015-04-29 08:32:58 +00:00
frame_data.c
frame_data.h
frame_data_sequence.c
frame_data_sequence.h
funnel.c Added Reload Lua plugins. 2015-08-11 12:09:07 +00:00
funnel.h Added Reload Lua plugins. 2015-08-11 12:09:07 +00:00
g_int64_hash_routines.c
g_int64_hash_routines.h
garrayfix.h
gcp.c [GCP] Add a command string when there's no context tracking. 2015-05-13 12:35:14 +00:00
gcp.h
geoip_db.c
geoip_db.h
golay.c
golay.h
guid-utils.c add function guid_cmp() to compare guids 2015-07-01 14:55:38 +00:00
guid-utils.h Add DCE-RPC and ONC-RPC service response time dialogs. 2015-08-12 20:17:35 +00:00
iax2_codec_type.h
in_cksum.c Fix MSCV 2015RC Warning in_cksum.c(92): warning C4311: 'type cast': 2015-06-08 11:13:23 +00:00
in_cksum.h
ip_opts.h
ipproto.c UDP: Rename UDPlite to UDP-Lite 2015-10-04 20:09:04 +00:00
ipproto.h
ipv4.c
ipv4.h
ipv6-utils.h
lapd_sapi.h
llcsaps.h SNA: add value 0xC8 to the list registered SAP 2015-09-27 20:41:10 +00:00
next_tvb.c Remove deprecated tvb_length calls 2015-06-24 00:31:25 +00:00
next_tvb.h
nlpid.h
oids.c MIB/OID Fix assertion in proto.c tmp_fld_check_assert(). 2015-08-04 14:55:31 +00:00
oids.h
oids_test.c
osi-utils.c
osi-utils.h
oui.c DHCP: Lookup OUI for TR111 suboption. Also add Ubiquisys OUI to oui_vals. 2015-07-03 20:23:46 +00:00
oui.h DHCP: Lookup OUI for TR111 suboption. Also add Ubiquisys OUI to oui_vals. 2015-07-03 20:23:46 +00:00
packet-range.c
packet-range.h
packet.c Remove heur_dissector_set_enabled. 2015-10-07 03:42:04 +00:00
packet.h Remove heur_dissector_set_enabled. 2015-10-07 03:42:04 +00:00
packet_info.h
params.h
plugin_if.c PluginIF: Parent menu and goto frame 2015-09-08 11:03:35 +00:00
plugin_if.h PluginIF: Parent menu and goto frame 2015-09-08 11:03:35 +00:00
ppptypes.h
prefs-int.h Add a preferences editor frame. 2015-06-18 00:46:50 +00:00
prefs.c Fix various memleaks 2015-10-04 15:45:02 +00:00
prefs.h Added Reload Lua plugins. 2015-08-11 12:09:07 +00:00
print.c Display the name of the invalid field when tshark is run with -T fields 2015-09-12 20:19:59 +00:00
print.h Display the name of the invalid field when tshark is run with -T fields 2015-09-12 20:19:59 +00:00
print.ps
print_stream.c
print_stream.h
proto.c Add BASE_PT_ field display types 2015-10-05 18:10:48 +00:00
proto.h Remove an extra comma 2015-10-06 08:50:31 +00:00
ps.h
ptvcursor.h
radius_dict.l
range.c Add the Display Filter Expression dialog. 2015-06-03 02:27:00 +00:00
range.h Add the Display Filter Expression dialog. 2015-06-03 02:27:00 +00:00
reassemble.c Remove deprecated tvb_length calls 2015-06-24 00:31:25 +00:00
reassemble.h
reassemble_test.c
reedsolomon.c
reedsolomon.h
req_resp_hdrs.c Fix some cases where we're shifting a signed 1 left. 2015-04-30 22:22:59 +00:00
req_resp_hdrs.h
rtd_table.c Tap parameter and stats dialog fixups. 2015-08-20 18:07:02 +00:00
rtd_table.h Add ResponseTimeDelayDialog. 2015-07-07 23:17:51 +00:00
rtp_pt.h
sctpppids.h
show_exception.c Add preference for disabling 'packet size limited during capture' message in Info column. 2015-07-17 11:29:08 +00:00
show_exception.h
slow_protocol_subtypes.h
sminmpec.c [Automatic update for 2015-10-04] 2015-10-04 15:11:34 +00:00
sminmpec.h
srt_table.c Bugfix parsing filters out of SRT tables with parameters. 2015-06-25 18:42:36 +00:00
srt_table.h Add ServiceResponseTimeDialog. 2015-07-03 23:09:13 +00:00
stat_groups.h Convert the MTP3 stats to new "generic stat API". 2015-08-31 23:06:09 +00:00
stat_tap_ui.c Fixup stat_tap table freeing. 2015-08-06 21:22:13 +00:00
stat_tap_ui.h Add DCE-RPC and ONC-RPC service response time dialogs. 2015-08-12 20:17:35 +00:00
stats_tree.c Add support for IPv6 stats tree statistics 2015-08-22 08:30:52 +00:00
stats_tree.h Add ServiceResponseTimeDialog. 2015-07-03 23:09:13 +00:00
stats_tree_priv.h Add TapParameterDialog. 2015-06-08 19:51:34 +00:00
stream.c [MSVC 2015] Try to fix warinings turned errors. 2015-06-04 15:10:15 +00:00
stream.h
strutil.c
strutil.h
t35.c
t35.h
tap-voip.h
tap.c Recompile dfilter for all tap listeners when fields changed 2015-08-19 08:55:19 +00:00
tap.h Recompile dfilter for all tap listeners when fields changed 2015-08-19 08:55:19 +00:00
tfs.c zvt: handle multi-byte tags 2015-07-15 20:15:55 +00:00
tfs.h zvt: handle multi-byte tags 2015-07-15 20:15:55 +00:00
time_fmt.h
timestamp.c
timestamp.h
timestats.c
timestats.h Add ServiceResponseTimeDialog. 2015-07-03 23:09:13 +00:00
to_str-int.h
to_str.c Make other_decode_bitfield_value private to proto.c. 2015-09-13 00:15:35 +00:00
to_str.h Make other_decode_bitfield_value private to proto.c. 2015-09-13 00:15:35 +00:00
tpg.c
tpg.h Eliminate proto_tree_add_text from odds and ends. 2015-09-15 02:20:13 +00:00
tvbparse.c Eliminate proto_tree_add_text from odds and ends. 2015-09-15 02:20:13 +00:00
tvbparse.h
tvbtest.c Remove deprecated tvb_length calls 2015-06-24 00:31:25 +00:00
tvbuff-int.h
tvbuff.c tvb_new_octet_aligned() should return both the captured and reported 2015-08-04 08:54:14 +00:00
tvbuff.h Remove calls of tvb_ensure_length_remaining. 2015-08-27 04:34:10 +00:00
tvbuff_base64.c
tvbuff_composite.c Remove deprecated tvb_length calls 2015-06-24 00:31:25 +00:00
tvbuff_real.c
tvbuff_subset.c Remove deprecated tvb_length calls 2015-06-24 00:31:25 +00:00
tvbuff_zlib.c
uat-int.h
uat.c Fix escaping of strings in UATs. 2015-07-20 17:02:59 +00:00
uat.h Use an "Open" instead of a "Save" dialog for UAT prefs. 2015-05-28 21:16:39 +00:00
uat_load.l Fix x64 compilation warning 2015-04-27 14:40:16 +00:00
value_string.c
value_string.h
x264_prt_id.h
xdlc.c
xdlc.h