IANA (www.iana.org/assignments/service-names-port-numbers/
service-names-port-numbers.txt) has assigned an official port for
VXLAN (4789).  tcpdump uses this by default but we keep the -T
vxlan option as well (e.g. Linux is allowing different ports).
Merge pull request #310 from ffatghub/master

vxlan: use IANA assigned port
add a test case for Babel protocol with Pad1 TLVs

The packet capture consists of two datagrams produced with a modified
version of Quagga-RE babeld, such that each TLV of the datagrams is
followed with one Pad1 TLV. This encoding is not what a Babel speaker
would typically send, but it is otherwise valid and up to the spec
(RFC6126 Sections 4.2 onwards).

The current version of the decoder has a bug iterating over Pad1.
fix iteration over Babel Pad1 TLVs

The Pad1 TLV consists only of the Type field (RFC6126 Section 4.4.1),
thus the check must be done before proceeding to the Length field. This
change brings tcpdump decoder into line with the spec and Babel
implementation's own TLV iterator.
initial support for Babel sub-TLVs decoding

Babel sub-TLVs are a work in progress, a backward-compatible extension
to Babel version 2 protocol encoding. This update implements encoding
explained by Juliusz Chroboczek to decode ChanInfo sub-TLV of the Update
TLV.