Decoding of PFCP IE 'Remote GTP-U Peer' is incorrect
Build Information (built with macOS 10.15.5 using Vagrant):
TShark (Wireshark) 3.2.6rc0-31-g37432f35 (Git commit f2f5f38ef696)
Compiled (64-bit) with libpcap, with POSIX capabilities (Linux), with libnl 3, with GLib 2.56.4, with zlib 1.2.11, with SMI 0.4.8, with c-ares 1.14.0, with Lua 5.2.4, with GnuTLS 3.5.18 and PKCS #11 (closed) support, with Gcrypt 1.8.1, with MIT Kerberos, with MaxMind DB resolver, with nghttp2 1.30.0, with brotli, with LZ4, with Zstandard, with Snappy, with libxml2 2.9.4.
Running on Linux 4.15.0-112-generic, with Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (with SSE4.2), with 12007 MB of physical memory, with locale C.UTF-8, with libpcap version 1.8.1, with GnuTLS 3.5.18, with Gcrypt 1.8.1, with brotli 1.0.4, with zlib 1.2.11, binary plugins supported (0 loaded).
Built using gcc 7.5.0.
The PFCP dissector for 'Remote GTP-U Peer' is using incorrect sizes for the 'Length of Destination Interface field' and 'Length of Network Instance field' elements. In the function
epan/dissectors/packet-pfcp.c, the lengths are treated as 1 byte, when section 8.2.70 of 3GPP 29.244 (version 15.8) defines them as 2 bytes. This results in incorrect values being shown for the lengths and an incorrect parsing of the following fields.
3GPP TS 29.244 can be found by clicking on the "Versions" tab at: https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3111