Commit Graph

429 Commits

Author SHA1 Message Date
Roland Knall 2cf938cfa8 tap: Adding flags for tap_packet
This allows flags to be passed by the registering listener
to the collection of information
2022-06-10 05:46:15 +00:00
Joakim Karlsson c2444370f4 GTP': correction of Release Identifier Extension 2022-04-26 19:40:28 +00:00
easonweii a1e0c34c30 GTP: Minor reconstruction
Extract Method for multiple message parsing for tpdus to simplify things for future bug fixes and to make the code logic clearer.
Encapsulate the following functions:
dissect_gtp_tpdu_by_handle
dissect_gtp_tpdu_as_pdcp_lte_info
dissect_gtp_tpsu_as_pdcp_nr_info
Note: The original code function is not changed.
2022-04-21 17:30:25 +00:00
John Thacker a30d6a442e GTP: Update checked messages
Updating the message checking for 3GPP TS 29.060 V16.0.0,
adding 7.5A MBMS Messages and 7.5B MS Info Change Reporting Messages.

This adds all the messages from TS 29.060. Some of them could be
updates to use the GSN specific fields in some cases. Also the
ETSI message checking needs to be updated to handle GTP' correctly.
2022-02-01 23:02:23 -05:00
John Thacker 0582cc7a68 GTP: Add UE Registration Query messages
Add message types 61 and 62, UE Registration Query Request and
Response, that first appeared in Rel 13.
2022-02-01 22:34:49 -05:00
John Thacker b7dc881571 GTP: Update more checked message contents to V16.0.0
Update 7.4 Location Management and 7.5 Mobility Management messages
to 3GPP TS 29.060 V16.0.0 for the check_etsi preference.
2022-02-01 22:13:25 -05:00
John Thacker 7023907c57 GTP: Add Initiate PDP Context Activation to checked messages
Add 7.3.12 and 7.3.13 Initiated PDP Context Activation Request
and Response to checked messages on UMTS.
2022-02-01 21:16:49 -05:00
John Thacker 185a5b3473 GTP: Update ETSI checked Tunnel Management Messages to V16.0.0
Update the optional IEs for the Tunnel Management messages to
3GPP TS 29.060 V16.0.0 for when the check_etsi preference is on.
2022-02-01 20:58:59 -05:00
John Thacker f201f23299 GTP: Use alternative GSN address decoders for Update PDP Resp
The GGSN addresses for control plane and user traffic are both
included or both not included in the Update PDP Context Response
message (included if the Cause is Request Accepted), so we know
which one is the control plane and which one is the user plane.
Also fix the coment about the IEs for the alternative address, and
that they are Conditional, not Optional.
2022-02-02 01:39:12 +00:00
John Thacker ee8a4fdfd7 GTP: Fix cut and paste wrong offset MBMS PCO
Fix the recently added MBMS PCO IE. Related to #17839.
2022-01-28 21:06:33 -05:00
easonweii 6c9662eda4 GTP: Add dissection for Source RNC PDCP Context Info IE
Add dissection for Source RNC PDCP Context Info (7.7.61) IE.
Related to #17839
2022-01-28 05:02:13 +00:00
John Thacker 84c89b8f6c GTP': Support Release 15 and higher CDRs
The Release Identifer field is only one nibble in GTP'. So in
Release 15 of 3GPP TS 32.295, an extra octet, Release Identifier
Extension, was added to support CDRs encoded with Release 16 and
higher of TS 32.298. Fix #17903.
2022-01-27 05:24:16 +00:00
John Thacker f31881ef0b GTP: Fix wrong GGSN control plane address field
Fix a typo / copy and paste error
2022-01-26 19:33:44 -05:00
John Thacker e4a33d22a8 GTP: Add MBMS UE Info IE
Add MBMS UE Info IE (7.7.55) and Enhanced NSAPI (7.7.67) IEs.
Related to #17839.
2022-01-23 21:50:55 -05:00
John Thacker fbeee407b4 GTP: Fix wrong value_string for PDP organization
PDP organization in PDP context should use its own value string,
not the value string for the PDP type number.
2022-01-23 13:23:27 -05:00
John Thacker fb37fe8537 GTP: Support Additional Trace Info IEs
Support 7.7.62 Additional Trace Info IE and 7.7.68 Additional
MBMS Trace Info IE. Related to #17839.
2022-01-23 10:29:53 -05:00
John Thacker f7ea4ab085 GTP: Dissect two IEs from BSSGP
Dissect two IEs that are transparent container from BSSGP (3GPP TS
48.018), 7.7.72 BSS Container and 7.7.78 List of set-up PFCs.
Related to #17839.
2022-01-22 14:32:21 -05:00
Eason Wei 7005b047a4 GTP: add dissection of IE's for some "for future use" 2022-01-22 12:06:34 +00:00
John Thacker 470b6b17ad GTP: Dissect more undecoded IEs
Dissect MBMS Protocol Configuration Options, Operator Selection Entity,
and PDU Numbers. Related to #17839.
2022-01-22 00:42:05 -05:00
John Thacker f57919d6ba GTP: Dissect CSG related IEs
Dissect User CSG Information (UCI), CSG Information Reporting Action,
CSG ID, and CSG Membership Indication IEs. Related to #17839.
2022-01-21 20:38:06 +00:00
Jaap Keuter f37d8bad53 GTP: add dissection of various IE's 2022-01-21 20:26:48 +00:00
John Thacker b2f78b47b4 GTP: Don't include padding in the RAC in ULI
From 3GPP TS 29.06 V 17.1.0 7.7.51:
The routing area code consists of 2 octets and is found in octet 10
and octet 11. Only the first octet (10) contains the RAC and the
second octet (11) is coded as "11111111".

Don't include the spare octet 11 in the RAC field. The RAC is only
one octet.
2022-01-21 08:49:36 -05:00
John Thacker 56f1ee5c3a GTP: Support Cell Identification IE
Related to #17839.
2022-01-21 07:48:18 -05:00
John Thacker f5bb44f75f GTP: Add CAMEL Charging Information Container IE
Add CAMEL Charging Information Container IE (type 155) from
ETSI TS 129 060 7.7.54. Related to #17839
2022-01-20 09:33:29 -05:00
John Thacker feebf6bc65 GTP: Add some undecoded IEs
Add some undecoded IEs from 3GPP TS 29.060 V17.1.0:
Hop Counter (163), Signaling Priority Indication (203), Signaling
Priority Indication with NSAPI (204), ULI Timestamp (214),
and LHN-ID with NSAPI (215). Related to #17839.
2022-01-19 21:40:29 -05:00
Alexis La Goutte 7843c1fa89 GTP: Add Extended Commong Flags IE
from https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1595

Fix #17855
2022-01-18 05:35:44 +00:00
Moshe Kaplan 69d54d6f8e Corrects repeated words throughout the code.
Repeated words were found with:
egrep "(\b[a-zA-Z]+) +\1\b" . -Ir
and then manually reviewed.
Non-displayed strings (e.g., in comments)
were also corrected, to ease future review.
2021-12-22 11:01:11 +00:00
João Valverde 0ccd69e530 Replace g_strdup_printf() with ws_strdup_printf()
Use macros from inttypes.h.
2021-12-19 21:21:58 +00:00
João Valverde 19dcb725b6 epan: Remove STR_ASCII and STR_UNICODE
These display bases work to replace unprintable characters so the
name is a misnomer. In addition they are the same option and this
display behaviour is not something that is configurable.

This does not affect encodings because all our internal text strings
need to be valid UTF-8 and the source encoding is specified using
ENC_*.

Remove the assertion for valid UTF-8 in proto.c because
tvb_get_*_string() must return a valid UTF-8 string, always, and we
don't need to assert that, it is expensive.
2021-12-03 04:35:56 +00:00
Martin Mathieson a5df18e51e Fix some spelling errors 2021-10-11 04:44:49 +00:00
Evan Huus 0eda51a646 to_str: scope tvb_ip6_to_str 2021-10-07 13:31:23 -04:00
Evan Huus 07f5472aa7 to_str: scope tvb_ip_to_str 2021-10-07 10:25:12 -04:00
Michail Koreshkov 88657fd57e gtp: alternative GSN address decoders
All fields with GSN address were decodes as common hf_gsn_addr. But if
ETSI order is used, it's possible to specify alternative decoder
depending on message type and field position.
Alternative decoder for GSN address was added for mandatary fields and
optional/conditional field in the case there is single GSN address in
message.

Added new function as common dissector for all addr types.
2021-08-26 16:25:15 +00:00
Andreas Schultz 9e29ec0940 RADIUS: replace ULI decoder with version from GTPv2
Reuse the DIAMETER dissector for 3GPP-ULI for RADIUS as well.

The DIAMETER dissector for 3GPP-ULI IE is more complete than the RADIUS
version. The format of the IE is the same in RADIUS and DIAMETER.
2021-07-08 08:56:45 +00:00
Martin Mathieson 5b0afb1722 GTP: set RoHC once when calling PDCP-NR 2021-05-26 10:06:03 +01:00
ranjetsih 5177437f30 "GTP: add option to decode T-PDU Data with a plugin dissector"
As of now GTP dissector provides option to decode T-PDU data ether, async, and with some heuristics.

But there is no option present to decode a new protocol with a plugin.

This change adds an option to decode T-PDU data with a plugin, to help develop and test new protocols that are
encapsulated as GTP T-PDU data.
2021-03-23 08:02:43 +00:00
Anders Broman f5fb60cfdd GTP: Fix the version check in decode_qos_umts() 2021-03-17 10:34:30 +00:00
Martin Mathieson b1838bb950 Make more dissector non-statics static. 2021-02-09 10:55:50 +00:00
John Thacker 10e9ac701b GTPv1: Implement SGSN Number and Node Identifier
Implement GTPv1 3GPP TS 29.060 7.7.47 SGSN Number and 7.7.119 Node
Identifier. Fixes #16611.
2020-12-04 01:09:08 -05:00
Martin Mathieson d0fe9cae70 GTP and GTPv2: Fix some item lengths.
Fix issues found by running ./tools/check_typed_item_calls.py

epan/dissectors/packet-gtp.c:4414 proto_tree_add_item called for hf_gtp_sel_mode  -  item type is FT_UINT8 but call has len  2
epan/dissectors/packet-gtp.c:6807 proto_tree_add_item called for hf_gtp_rai_rac  -  item type is FT_UINT8 but call has len  2
epan/dissectors/packet-gtp.c:7600 proto_tree_add_item called for hf_gtp_bssgp_cause  -  item type is FT_UINT8 but call has len  2
epan/dissectors/packet-gtpv2.c:3607 proto_tree_add_item called for hf_gtpv2_trace_id  -  item type is FT_UINT16 but call has len  3
epan/dissectors/packet-gtpv2.c:5049 proto_tree_add_item called for hf_gtpv2_trace_id  -  item type is FT_UINT16 but call has len  3
2020-10-18 20:00:39 +01:00
Prerit Jain 04145521b4 nrup: fix in Frame Indicator display 2020-10-16 13:42:44 +00:00
Martin Mathieson d6a9bfa503 NRUP: Add missing SN field indicated by Report Delivered 2020-10-14 13:27:03 +00:00
Anders Broman e209253636 Create a cross protocol filter 3gpp.tmsi
It can be useful to track a "call" trough multiple protocols to make
that easier create a cross protocol filter, more may come.
2020-10-14 07:56:26 +00:00
Martin Mathieson 6af49f0537 Make NRUP work as a separate protocol.
It is called as a protocol by GTP  as before, but making it separate
and findable by name protocol allows for that layer to be logged and
dissected separately.
2020-10-11 18:19:47 +00:00
Anders Broman a08e78f324 GTPv1: Highlight only the value part of "TEID Control Plane"
While at it use proto_tree_add_item_ret_uint().
Closes #16881
2020-09-30 12:22:04 +02:00
Alexis La Goutte 4ad8adeab4 gtp: Fix Dead Store
Fix dead store (Dead assignement/Dead increment) Warning found by Clang
2020-09-29 18:53:21 +00:00
Martin Mathieson 08ab0e5d1f Fix some wrong filter names.
These were detected by running check_typed_item_calls.py
with --consecutive, which flags items that have different
labels but the same filter string.  Usually this is because
of copy/paste.

Quite a few similar bugs still exist, will address in a future commit.
2020-09-27 18:40:13 +00:00
Martin Mathieson f0e7a98e96 NRUP: Add Assistance Information Data message.
Don't have a capture of this message type yet, so untested.
2020-09-19 20:58:38 +01:00
Martin Mathieson ef1c388acd GTP NR RAN Extension Header: Update to latest spec.
Type 2 (Assistance Information Data) is still missing.
2020-09-04 20:29:45 +01:00
Martin Mathieson b8a773dddc Fix some spelling errors in dissector strings.
A first batch of spelling errors, detected using a script that uses
pyspellcheck and a Wireshark-specific dictionary file.
2020-08-29 19:31:11 +00:00