DVB-S2-BB: Support all four MA modes
authorMustBeArt <paul@mustbeart.com>
Fri, 20 Jan 2017 21:04:59 +0000 (13:04 -0800)
committerAnders Broman <a.broman58@gmail.com>
Mon, 23 Jan 2017 01:31:06 +0000 (01:31 +0000)
commit110ffacdb34e895d92764428519baf385695142f
tree5b68a9ef634e25f748315033606184749639282c
parent82b61bb40486ba851aee082e6b59155dd38e724d
DVB-S2-BB: Support all four MA modes

Support all four mode adaptation input and output interfaces defined in
SatLabs reference document sl_561, "Mode Adaptation Input and Output
Interfaces for DVB-S2 equipment", instead of only the two modes that use
a sync byte.

There is nothing in the packet format that specifies which format is in
use, so we have to guess based on the possible occurrence of a sync byte
and the CRC-protected BBHEADER that follows the mode adaptation header,
which is a different length for each format. This is a heuristic dissector,
so if none of the four formats match, we just return.

Unfortunately, the BBHEADER CRC is only 8 bits, so there can be false
matches rather often. We detect when the packet matches more than one format,
and issue an expert info diagnostic. It is also possible for a UDP packet
that isn't DVB-S2 at all to match spuriously, with probability around 1%
(assuming random data). This is acceptable for a heuristic dissector,
especially one that is initially disabled.

Standardize spelling per sl_561: adaption -> adaptation

Change-Id: Iffc73ed01c72d1247e2378d648ffe0d7c1f21612
Reviewed-on: https://code.wireshark.org/review/19708
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
epan/dissectors/packet-dvb-s2-bb.c