Add support for IPv6 heuristic dissectors.
authorJesse Gross <jesse@nicira.com>
Sun, 26 Apr 2015 03:29:30 +0000 (20:29 -0700)
committerPascal Quantin <pascal.quantin@gmail.com>
Sun, 3 May 2015 18:30:31 +0000 (18:30 +0000)
commit26a3573f90291975d54e61a04f12b46fcc3931db
tree5711fb789a1d155fa54abb5ba3e0a3e0db89cdd6
parent812d31122abd347a36fec98e43253c5a423e6dd3
Add support for IPv6 heuristic dissectors.

This adds limited support for heuristic subdissectors with IPv6.
The initial motivation is STT but it should transparently work
for other protocols using IP heuristic dissectors in a manner
similar to the non-heuristic dissectors.

The limitation is in regards to IPv6 extension headers. IPv6 has
multiple checks against the next protocol table when determining
when the protocol is an unknown extension header or not. This
assumes that the check is cheap and has no side effects, neither
of which is true for heuristic dissectors. As a compromise, this
assumes that the next protocol is registered as protocol, even
if is not the one that is ultimately dissected. Although not
strictly correct, in practice this is true for existing protocols
and likely future ones because the heuristic dissectors are
overriding non-heuristic ones.

Change-Id: Iff8cfc148ced5ca16191cc2b1879ad87e38d23cd
Reviewed-on: https://code.wireshark.org/review/8197
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
epan/dissectors/packet-ip.c
epan/dissectors/packet-ip.h
epan/dissectors/packet-ipv6.c