diff options
author | Martin Mathieson <martin.mathieson@keysight.com> | 2022-05-23 22:50:16 +0100 |
---|---|---|
committer | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2022-05-24 08:07:10 +0000 |
commit | 20b311e7a917b41999f82ac7c867f9b5a9f464d7 (patch) | |
tree | eefeaab9a5c9ccaae9038ae059f1709fa486b02d /epan/dissectors/packet-pdcp-nr.c | |
parent | 66506483bfc9dd432de3d4b999605c41608cfd5c (diff) |
PDCP-NR: Add separate UL/DL expert info ei items for missing SNs
Diffstat (limited to 'epan/dissectors/packet-pdcp-nr.c')
-rw-r--r-- | epan/dissectors/packet-pdcp-nr.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/epan/dissectors/packet-pdcp-nr.c b/epan/dissectors/packet-pdcp-nr.c index 3d6090770b..af64d2ed8a 100644 --- a/epan/dissectors/packet-pdcp-nr.c +++ b/epan/dissectors/packet-pdcp-nr.c @@ -123,7 +123,8 @@ static int ett_pdcp_security = -1; static expert_field ei_pdcp_nr_sequence_analysis_wrong_sequence_number = EI_INIT; static expert_field ei_pdcp_nr_reserved_bits_not_zero = EI_INIT; static expert_field ei_pdcp_nr_sequence_analysis_sn_repeated = EI_INIT; -static expert_field ei_pdcp_nr_sequence_analysis_sn_missing = EI_INIT; +static expert_field ei_pdcp_nr_sequence_analysis_sn_missing_ul = EI_INIT; +static expert_field ei_pdcp_nr_sequence_analysis_sn_missing_dl = EI_INIT; static expert_field ei_pdcp_nr_digest_wrong = EI_INIT; static expert_field ei_pdcp_nr_unknown_udp_framing_tag = EI_INIT; static expert_field ei_pdcp_nr_missing_udp_framing_tag = EI_INIT; @@ -200,7 +201,7 @@ static gboolean check_valid_key_string(const char* raw_string, char* checked_str if (length < 32) { if (length > 0) { *error = ws_strdup_printf("PDCP NR: Invalid key string (%s) - should include 32 ASCII hex characters (16 bytes) but only %u chars given", - raw_string, length); + raw_string, length); } return FALSE; } @@ -869,7 +870,10 @@ static void addBearerSequenceInfo(pdcp_sequence_report_in_frame *p, tvb, 0, 0, TRUE); proto_item_set_generated(ti); if (p->lastSN != p->firstSN) { - expert_add_info_format(pinfo, ti, &ei_pdcp_nr_sequence_analysis_sn_missing, + expert_add_info_format(pinfo, ti, + (p_pdcp_nr_info == PDCP_NR_DIRECTION_UPLINK) ? + &ei_pdcp_nr_sequence_analysis_sn_missing_ul : + &ei_pdcp_nr_sequence_analysis_sn_missing_dl, "PDCP SNs (%u to %u) missing for %s on UE %u (%s-%u)", p->firstSN, p->lastSN, val_to_str_const(p_pdcp_nr_info->direction, direction_vals, "Unknown"), @@ -880,7 +884,10 @@ static void addBearerSequenceInfo(pdcp_sequence_report_in_frame *p, p->firstSN, p->lastSN); } else { - expert_add_info_format(pinfo, ti, &ei_pdcp_nr_sequence_analysis_sn_missing, + expert_add_info_format(pinfo, ti, + (p_pdcp_nr_info == PDCP_NR_DIRECTION_UPLINK) ? + &ei_pdcp_nr_sequence_analysis_sn_missing_ul : + &ei_pdcp_nr_sequence_analysis_sn_missing_dl, "PDCP SN (%u) missing for %s on UE %u (%s-%u)", p->firstSN, val_to_str_const(p_pdcp_nr_info->direction, direction_vals, "Unknown"), @@ -2963,7 +2970,8 @@ void proto_register_pdcp_nr(void) }; static ei_register_info ei[] = { - { &ei_pdcp_nr_sequence_analysis_sn_missing, { "pdcp-nr.sequence-analysis.sn-missing", PI_SEQUENCE, PI_WARN, "PDCP SN missing", EXPFILL }}, + { &ei_pdcp_nr_sequence_analysis_sn_missing_ul, { "pdcp-nr.sequence-analysis.sn-missing-ul", PI_SEQUENCE, PI_WARN, "UL PDCP SNs missing", EXPFILL }}, + { &ei_pdcp_nr_sequence_analysis_sn_missing_dl, { "pdcp-nr.sequence-analysis.sn-missing-dl", PI_SEQUENCE, PI_WARN, "DL PDCP SNs missing", EXPFILL }}, { &ei_pdcp_nr_sequence_analysis_sn_repeated, { "pdcp-nr.sequence-analysis.sn-repeated", PI_SEQUENCE, PI_WARN, "PDCP SN repeated", EXPFILL }}, { &ei_pdcp_nr_sequence_analysis_wrong_sequence_number, { "pdcp-nr.sequence-analysis.wrong-sequence-number", PI_SEQUENCE, PI_WARN, "Wrong Sequence Number", EXPFILL }}, { &ei_pdcp_nr_reserved_bits_not_zero, { "pdcp-nr.reserved-bits-not-zero", PI_MALFORMED, PI_ERROR, "Reserved bits not zero", EXPFILL }}, |