lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

July 2025

  • 1 participants
  • 1492 discussions
[S] Change in osmo-ttcn3-hacks[master]: smlc: Add suport to obtain statsd output
by osmith 15 Jul '25

15 Jul '25
Attention is currently required from: pespin. osmith has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40680?usp=email ) Change subject: smlc: Add suport to obtain statsd output ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40680?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I52813397890a85326a85b3580fd605f9ac10a26d Gerrit-Change-Number: 40680 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 15 Jul 2025 08:55:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[M] Change in osmo-msc[master]: msc: Initial implementation of N-PCSTATE.ind
by laforge 15 Jul '25

15 Jul '25
Attention is currently required from: fixeria, neels, pespin. laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-msc/+/40630?usp=email ) Change subject: msc: Initial implementation of N-PCSTATE.ind ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/40630?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice1b2c163b1b0d134fcaa1c8bf543038a35fabdf Gerrit-Change-Number: 40630 Gerrit-PatchSet: 4 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Tue, 15 Jul 2025 08:55:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[XS] Change in osmo-msc[master]: ran_peer: Drop unused events CONNECTION_{SUCCESS,TIMEOUT}
by laforge 15 Jul '25

15 Jul '25
Attention is currently required from: fixeria, neels, pespin. laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-msc/+/40671?usp=email ) Change subject: ran_peer: Drop unused events CONNECTION_{SUCCESS,TIMEOUT} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/40671?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib22be87dc68ab12783eb9140b4a9e04bec06bdab Gerrit-Change-Number: 40671 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Tue, 15 Jul 2025 08:54:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in osmo-msc[master]: ran_peer: Introduce stats msc.ran_peers.{total,active}
by laforge 15 Jul '25

15 Jul '25
Attention is currently required from: fixeria, neels, pespin. laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-msc/+/40633?usp=email ) Change subject: ran_peer: Introduce stats msc.ran_peers.{total,active} ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/40633?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I36e40510c9a95f0c9cf5f32d2a7baab840aa8660 Gerrit-Change-Number: 40633 Gerrit-PatchSet: 6 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Tue, 15 Jul 2025 08:54:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: smlc: Use static sigtran config between osmo-msc and osmo-stp
by osmith 15 Jul '25

15 Jul '25
Attention is currently required from: pespin. osmith has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40676?usp=email ) Change subject: smlc: Use static sigtran config between osmo-msc and osmo-stp ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40676?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I008dba252da29f445c52151c7b65428ca7054ed0 Gerrit-Change-Number: 40676 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 15 Jul 2025 08:54:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in ...osmo-s1gw[master]: s1ap_proxy: forward E-RAB RELEASE INDICATION as-is
by fixeria 15 Jul '25

15 Jul '25
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40663?usp=email ) Change subject: s1ap_proxy: forward E-RAB RELEASE INDICATION as-is ...................................................................... s1ap_proxy: forward E-RAB RELEASE INDICATION as-is There's nothing to patch in this PDU, so avoid re-encoding it. This also makes the metrics correctly report it as unmodified. Change-Id: Ia4996bb2ecd665c03673df346f21718d365129a4 Related: SYS#7065 --- M src/s1ap_proxy.erl M test/s1ap_proxy_test.erl 2 files changed, 6 insertions(+), 7 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/s1ap_proxy.erl b/src/s1ap_proxy.erl index 66d558d..0cd92f7 100644 --- a/src/s1ap_proxy.erl +++ b/src/s1ap_proxy.erl @@ -422,17 +422,16 @@ end; %% 9.1.3.7 E-RAB RELEASE INDICATION -handle_pdu({Outcome = initiatingMessage, +handle_pdu({initiatingMessage, #'InitiatingMessage'{procedureCode = ?'id-E-RABReleaseIndication', - value = C0} = Msg}, S0) -> + value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB RELEASE INDICATION"), s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_IND), case handle_ies(?'id-E-RABReleasedList', C0#'E-RABReleaseIndication'.protocolIEs, S0) of - {{ok, IEs}, S1} -> - C1 = C0#'E-RABReleaseIndication'{protocolIEs = IEs}, - PDU = {Outcome, Msg#'InitiatingMessage'{value = C1}}, - {{forward, PDU}, S1}; %% forward patched PDU + {{ok, _}, S1} -> + %% there's nothing to patch in this PDU, so we forward it as-is + {forward, S1}; {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB RELEASE INDICATION: ~p", [Reason]), s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), diff --git a/test/s1ap_proxy_test.erl b/test/s1ap_proxy_test.erl index 4f79451..ea5180e 100644 --- a/test/s1ap_proxy_test.erl +++ b/test/s1ap_proxy_test.erl @@ -155,7 +155,7 @@ ?_assertMetric(?S1GW_CTR_S1AP_PROXY_IN_PKT_ALL, 3), ?_assertMetric(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_IND, 1), ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_ALL, 2 + 1), -%% ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, 1), + ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, 1), ?_assertEqual([], s1ap_proxy:fetch_erab_list(Pid))]. -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40663?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: erlang/osmo-s1gw Gerrit-Branch: master Gerrit-Change-Id: Ia4996bb2ecd665c03673df346f21718d365129a4 Gerrit-Change-Number: 40663 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[S] Change in ...osmo-s1gw[master]: s1ap_proxy: forward E-RAB RELEASE COMMAND/RESPONSE as-is
by fixeria 15 Jul '25

15 Jul '25
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40664?usp=email ) Change subject: s1ap_proxy: forward E-RAB RELEASE COMMAND/RESPONSE as-is ...................................................................... s1ap_proxy: forward E-RAB RELEASE COMMAND/RESPONSE as-is There's nothing to patch in these PDUs, so avoid re-encoding them. This also makes the metrics correctly report them as unmodified. Change-Id: I0dc968d1a9a6ad03d6252c08380e33f5d3aac8d8 Related: SYS#7065 --- M src/s1ap_proxy.erl M test/s1ap_proxy_test.erl 2 files changed, 12 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/s1ap_proxy.erl b/src/s1ap_proxy.erl index 0cd92f7..3073370 100644 --- a/src/s1ap_proxy.erl +++ b/src/s1ap_proxy.erl @@ -386,17 +386,16 @@ {forward, S2}; %% 9.1.3.5 E-RAB RELEASE COMMAND -handle_pdu({Outcome = initiatingMessage, +handle_pdu({initiatingMessage, #'InitiatingMessage'{procedureCode = ?'id-E-RABRelease', - value = C0} = Msg}, S0) -> + value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB RELEASE COMMAND"), s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_CMD), case handle_ies(?'id-E-RABToBeReleasedList', C0#'E-RABReleaseCommand'.protocolIEs, S0) of - {{ok, IEs}, S1} -> - C1 = C0#'E-RABReleaseCommand'{protocolIEs = IEs}, - PDU = {Outcome, Msg#'InitiatingMessage'{value = C1}}, - {{forward, PDU}, S1}; %% forward patched PDU + {{ok, _}, S1} -> + %% there's nothing to patch in this PDU, so we forward it as-is + {forward, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB RELEASE COMMAND: ~p", [Reason]), s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), @@ -404,17 +403,16 @@ end; %% 9.1.3.6 E-RAB RELEASE RESPONSE -handle_pdu({Outcome = successfulOutcome, +handle_pdu({successfulOutcome, #'SuccessfulOutcome'{procedureCode = ?'id-E-RABRelease', - value = C0} = Msg}, S0) -> + value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB RELEASE RESPONSE"), s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_RSP), case handle_ies(?'id-E-RABReleaseListBearerRelComp', C0#'E-RABReleaseResponse'.protocolIEs, S0) of - {{ok, IEs}, S1} -> - C1 = C0#'E-RABReleaseResponse'{protocolIEs = IEs}, - PDU = {Outcome, Msg#'SuccessfulOutcome'{value = C1}}, - {{forward, PDU}, S1}; %% forward patched PDU + {{ok, _}, S1} -> + %% there's nothing to patch in this PDU, so we forward it as-is + {forward, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB RELEASE RESPONSE: ~p", [Reason]), s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), diff --git a/test/s1ap_proxy_test.erl b/test/s1ap_proxy_test.erl index ea5180e..3a73910 100644 --- a/test/s1ap_proxy_test.erl +++ b/test/s1ap_proxy_test.erl @@ -136,8 +136,8 @@ ?_assertMetric(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_CMD, 1), ?_assertMetric(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_RSP, 1), ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_ALL, 2 + 2), -%% ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_PROC, 2), -%% ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, 2), + ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_PROC, 2), + ?_assertMetric(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, 2), ?_assertEqual([], s1ap_proxy:fetch_erab_list(Pid))]. -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40664?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: erlang/osmo-s1gw Gerrit-Branch: master Gerrit-Change-Id: I0dc968d1a9a6ad03d6252c08380e33f5d3aac8d8 Gerrit-Change-Number: 40664 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in ...osmo-s1gw[master]: s1ap_proxy: implement per-eNB counters
by fixeria 15 Jul '25

15 Jul '25
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40648?usp=email ) Change subject: s1ap_proxy: implement per-eNB counters ...................................................................... s1ap_proxy: implement per-eNB counters Change-Id: Ib138a0843c783c5a21ec2646c8a671cce7e689ad Related: SYS#7065 --- M src/s1ap_proxy.erl M src/s1gw_metrics.erl 2 files changed, 92 insertions(+), 41 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/s1ap_proxy.erl b/src/s1ap_proxy.erl index 3073370..f2fd722 100644 --- a/src/s1ap_proxy.erl +++ b/src/s1ap_proxy.erl @@ -1,4 +1,4 @@ -%% Copyright (C) 2024 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de> +%% Copyright (C) 2024-2025 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de> %% Author: Vadim Yanitskiy <vyanitskiy(a)sysmocom.de> %% %% All Rights Reserved @@ -233,10 +233,49 @@ parse_enb_id({'long-macroENB-ID', << ID:21 >>}) -> ID. --spec genb_id_str(proxy_state()) -> string(). +-spec genb_id_str(proxy_state()) -> string() | none. genb_id_str(#proxy_state{plmn_id = {MCC, MNC}, enb_id = ENBId}) -> - MCC ++ "-" ++ MNC ++ "-" ++ integer_to_list(ENBId). + MCC ++ "-" ++ MNC ++ "-" ++ integer_to_list(ENBId); + +genb_id_str(#proxy_state{}) -> none. + + +%% register a single per-eNB counter +-spec ctr_reg(C, GlobalENBId) -> C + when C :: [ctr | _], + GlobalENBId :: string(). +ctr_reg([ctr, s1ap, proxy | _] = C0, GlobalENBId) -> + C1 = s1gw_metrics:enb_metric(C0, GlobalENBId), + %% counter may already exist, so catch exceptions here + catch exometer:new(C1, counter), + C0; + +ctr_reg(C0, _GlobalENBId) -> C0. + + +%% register all per-eNB counters +-spec ctr_reg_all(string()) -> list(). +ctr_reg_all(GlobalENBId) -> + Ctrs = s1gw_metrics:ctr_list(), + lists:map(fun(Name) -> ctr_reg(Name, GlobalENBId) end, Ctrs). + + +%% increment the global and/or per-eNB counters +-spec ctr_inc(C0, S) -> term() + when C0 :: [ctr | _], + S :: proxy_state(). +ctr_inc([ctr | _] = C0, S) -> + case genb_id_str(S) of + none -> + %% increment the global counter only + s1gw_metrics:ctr_inc(C0); + GlobalENBId -> + %% increment both the global and per-eNB counters + C1 = s1gw_metrics:enb_metric(C0, GlobalENBId), + s1gw_metrics:ctr_inc(C0), + s1gw_metrics:ctr_inc(C1) + end. %% Encode an S1AP PDU @@ -256,7 +295,7 @@ %% Process an S1AP PDU (binary) -spec handle_pdu_bin(binary(), proxy_state()) -> {process_pdu_result(), proxy_state()}. handle_pdu_bin(OrigData, S0) -> - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ALL), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ALL, S0), try decode_pdu(OrigData) of {ok, PDU} -> ?LOG_DEBUG("Rx S1AP PDU: ~p", [PDU]), @@ -266,36 +305,36 @@ ?LOG_DEBUG("Tx (~p) S1AP PDU: ~p", [Action, NewPDU]), case Action of forward -> - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_ALL), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_PROC); + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_ALL, S1), + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_PROC, S1); reply -> - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_REPLY_ALL) + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_REPLY_ALL, S1) end, {{Action, NewData}, S1}; {forward, S1} -> ?LOG_DEBUG("Tx (forward) S1AP PDU unmodified"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_ALL), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED), + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_ALL, S1), + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, S1), {{forward, OrigData}, S1} catch Exception:Reason:StackTrace -> ?LOG_ERROR("An exception occurred: ~p, ~p, ~p", [Exception, Reason, StackTrace]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_EXCEPTION), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED), + ctr_inc(?S1GW_CTR_S1AP_PROXY_EXCEPTION, S0), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S0), + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, S0), {{forward, OrigData}, S0} %% XXX: proxy as-is or drop? end; {error, {asn1, Error}} -> ?LOG_ERROR("S1AP PDU decoding failed: ~p", [Error]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_DECODE_ERROR), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_DECODE_ERROR, S0), + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, S0), {{forward, OrigData}, S0} %% XXX: forward as-is or drop? catch Exception:Reason:StackTrace -> ?LOG_ERROR("An exception occurred: ~p, ~p, ~p", [Exception, Reason, StackTrace]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_EXCEPTION), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_DECODE_ERROR), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED), + ctr_inc(?S1GW_CTR_S1AP_PROXY_EXCEPTION, S0), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_DECODE_ERROR, S0), + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_FWD_UNMODIFIED, S0), {{forward, OrigData}, S0} %% XXX: proxy as-is or drop? end. @@ -320,7 +359,7 @@ #'InitiatingMessage'{procedureCode = ?'id-E-RABSetup', value = C0} = Msg}, S0) -> ?LOG_DEBUG("Processing E-RAB SETUP REQUEST"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_SETUP_REQ), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_SETUP_REQ, S0), case handle_ies(?'id-E-RABToBeSetupListBearerSUReq', C0#'E-RABSetupRequest'.protocolIEs, S0) of {{ok, IEs}, S1} -> @@ -329,9 +368,9 @@ {{forward, PDU}, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB SETUP REQUEST: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), PDU = build_erab_setup_response_failure(S1), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_REPLY_ERAB_SETUP_RSP), + ctr_inc(?S1GW_CTR_S1AP_PROXY_OUT_PKT_REPLY_ERAB_SETUP_RSP, S1), {{reply, PDU}, S1} %% reply PDU back to sender end; @@ -340,7 +379,7 @@ #'SuccessfulOutcome'{procedureCode = ?'id-E-RABSetup', value = C0} = Msg}, S0) -> ?LOG_DEBUG("Processing E-RAB SETUP RESPONSE"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_SETUP_RSP), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_SETUP_RSP, S0), case handle_ies(?'id-E-RABSetupListBearerSURes', C0#'E-RABSetupResponse'.protocolIEs, S0) of {{ok, IEs}, S1} -> @@ -349,7 +388,7 @@ {{forward, PDU}, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB SETUP RESPONSE: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), {forward, S1} %% XXX: forward as-is or drop? end; @@ -358,7 +397,7 @@ #'InitiatingMessage'{procedureCode = ?'id-E-RABModify', value = C0} = Msg}, S0) -> ?LOG_DEBUG("Processing E-RAB MODIFY REQUEST"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MODIFY_REQ), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MODIFY_REQ, S0), case handle_ies(?'id-E-RABToBeModifiedListBearerModReq', C0#'E-RABModifyRequest'.protocolIEs, S0) of {{ok, IEs}, S1} -> @@ -367,7 +406,7 @@ {{forward, PDU}, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB MODIFY REQUEST: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), {forward, S1} %% XXX: forward as-is or drop? end; @@ -376,7 +415,7 @@ #'SuccessfulOutcome'{procedureCode = ?'id-E-RABModify', value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB MODIFY RESPONSE"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MODIFY_RSP), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MODIFY_RSP, S0), %% there's nothing to patch in this PDU, so we forward it as-is %% TODO: check result of handle_ies(), inc. ?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR {_, S1} = handle_ies(?'id-E-RABModifyListBearerModRes', @@ -390,7 +429,7 @@ #'InitiatingMessage'{procedureCode = ?'id-E-RABRelease', value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB RELEASE COMMAND"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_CMD), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_CMD, S0), case handle_ies(?'id-E-RABToBeReleasedList', C0#'E-RABReleaseCommand'.protocolIEs, S0) of {{ok, _}, S1} -> @@ -398,7 +437,7 @@ {forward, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB RELEASE COMMAND: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), {forward, S1} %% XXX: forward as-is or drop? end; @@ -407,7 +446,7 @@ #'SuccessfulOutcome'{procedureCode = ?'id-E-RABRelease', value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB RELEASE RESPONSE"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_RSP), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_RSP, S0), case handle_ies(?'id-E-RABReleaseListBearerRelComp', C0#'E-RABReleaseResponse'.protocolIEs, S0) of {{ok, _}, S1} -> @@ -415,7 +454,7 @@ {forward, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB RELEASE RESPONSE: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), {forward, S1} %% XXX: forward as-is or drop? end; @@ -424,7 +463,7 @@ #'InitiatingMessage'{procedureCode = ?'id-E-RABReleaseIndication', value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB RELEASE INDICATION"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_IND), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_RELEASE_IND, S0), case handle_ies(?'id-E-RABReleasedList', C0#'E-RABReleaseIndication'.protocolIEs, S0) of {{ok, _}, S1} -> @@ -432,7 +471,7 @@ {forward, S1}; {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process E-RAB RELEASE INDICATION: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), {forward, S1} %% XXX: forward as-is or drop? end; @@ -441,7 +480,7 @@ #'InitiatingMessage'{procedureCode = ?'id-E-RABModificationIndication', value = C0} = Msg}, S0) -> ?LOG_DEBUG("Processing E-RAB MODIFICATION INDICATION"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MOD_IND), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MOD_IND, S0), IEs0 = C0#'E-RABModificationIndication'.protocolIEs, %% E-RAB to be Modified List %% TODO: handle {error, Reason} @@ -458,7 +497,7 @@ #'SuccessfulOutcome'{procedureCode = ?'id-E-RABModificationIndication', value = C0}}, S0) -> ?LOG_DEBUG("Processing E-RAB MODIFICATION CONFIRM"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MOD_CNF), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_ERAB_MOD_CNF, S0), IEs = C0#'E-RABModificationConfirm'.protocolIEs, %% E-RAB Modify List %% TODO: handle {error, Reason} @@ -477,7 +516,7 @@ #'InitiatingMessage'{procedureCode = ?'id-InitialContextSetup', value = C0} = Msg}, S0) -> ?LOG_DEBUG("Processing INITIAL CONTEXT SETUP REQUEST"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_INIT_CTX_REQ), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_INIT_CTX_REQ, S0), case handle_ies(?'id-E-RABToBeSetupListCtxtSUReq', C0#'InitialContextSetupRequest'.protocolIEs, S0) of {{ok, IEs}, S1} -> @@ -486,7 +525,7 @@ {{forward, PDU}, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process INITIAL CONTEXT SETUP REQUEST: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), {forward, S1} %% XXX: forward as-is or drop? end; @@ -495,7 +534,7 @@ #'SuccessfulOutcome'{procedureCode = ?'id-InitialContextSetup', value = C0} = Msg}, S0) -> ?LOG_DEBUG("Processing INITIAL CONTEXT SETUP RESPONSE"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_INIT_CTX_RSP), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_INIT_CTX_RSP, S0), %% TODO: handle optional E-RAB Failed to Setup List IE case handle_ies(?'id-E-RABSetupListCtxtSURes', C0#'InitialContextSetupResponse'.protocolIEs, S0) of @@ -505,7 +544,7 @@ {{forward, PDU}, S1}; %% forward patched PDU {{error, Reason}, S1} -> ?LOG_NOTICE("Failed to process INITIAL CONTEXT SETUP RESPONSE: ~p", [Reason]), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_PROC_ERROR, S1), {forward, S1} %% XXX: forward as-is or drop? end; @@ -515,7 +554,7 @@ value = #'UEContextReleaseRequest'{protocolIEs = IEs}}}, #proxy_state{erabs = ERABs} = S) -> ?LOG_DEBUG("Processing UE CONTEXT RELEASE REQUEST"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_RELEASE_CTX_REQ), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_RELEASE_CTX_REQ, S), %% fetch {MME,eNB}-UE-S1AP-ID values (mandatory IEs) #'ProtocolIE-Field'{id = ?'id-MME-UE-S1AP-ID', value = MMEUEId} = lists:nth(1, IEs), @@ -533,7 +572,7 @@ value = #'UEContextReleaseCommand'{protocolIEs = IEs}}}, #proxy_state{erabs = ERABs} = S) -> ?LOG_DEBUG("Processing UE CONTEXT RELEASE COMMAND"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_RELEASE_CTX_CMD), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_RELEASE_CTX_CMD, S), #'ProtocolIE-Field'{id = ?'id-UE-S1AP-IDs', value = S1APIDs} = lists:nth(1, IEs), case S1APIDs of @@ -557,7 +596,7 @@ value = #'UEContextReleaseComplete'{protocolIEs = IEs}}}, #proxy_state{erabs = ERABs} = S) -> ?LOG_DEBUG("Processing UE CONTEXT RELEASE COMPLETE"), - s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_RELEASE_CTX_COMPL), + ctr_inc(?S1GW_CTR_S1AP_PROXY_IN_PKT_RELEASE_CTX_COMPL, S), %% fetch {MME,eNB}-UE-S1AP-ID values (mandatory IEs) #'ProtocolIE-Field'{id = ?'id-MME-UE-S1AP-ID', value = MMEUEId} = lists:nth(1, IEs), @@ -600,7 +639,10 @@ [S1#proxy_state.plmn_id, S1#proxy_state.enb_id]), %% use that as a context for logging - set_logging_prefix("eNB " ++ genb_id_str(S1)), + GlobalENBId = genb_id_str(S1), + set_logging_prefix("eNB " ++ GlobalENBId), + %% register per-eNB metrics + ctr_reg_all(GlobalENBId), {{ok, C}, S1}; %% E-RAB SETUP REQUEST related IEs diff --git a/src/s1gw_metrics.erl b/src/s1gw_metrics.erl index 317012d..9272033 100644 --- a/src/s1gw_metrics.erl +++ b/src/s1gw_metrics.erl @@ -36,6 +36,7 @@ -export([init/0, get_current_value/1, + enb_metric/2, ctr_reset/1, ctr_inc/1, ctr_inc/2, @@ -129,6 +130,14 @@ Value. +-spec enb_metric(M0, GlobalENBId) -> M1 + when M0 :: metric(), + M1 :: metric(), + GlobalENBId :: string(). +enb_metric([Type | Name], GlobalENBId) -> + [Type, enb, GlobalENBId | Name]. + + %%%%%%%%%%%%% %% CTR APIs %%%%%%%%%%%%% -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40648?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: erlang/osmo-s1gw Gerrit-Branch: master Gerrit-Change-Id: Ib138a0843c783c5a21ec2646c8a671cce7e689ad Gerrit-Change-Number: 40648 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[XS] Change in libosmo-sigtran[master]: xua_asp_fsm: Log rx ASPAC with unknown rctx
by laforge 15 Jul '25

15 Jul '25
laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40675?usp=email ) Change subject: xua_asp_fsm: Log rx ASPAC with unknown rctx ...................................................................... xua_asp_fsm: Log rx ASPAC with unknown rctx This is useful to quickly spot misconfigurations when setting up 2 peers to communicate. Change-Id: Id00a8b970320f545b361357d162c26aa9db70209 --- M src/xua_asp_fsm.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/xua_asp_fsm.c b/src/xua_asp_fsm.c index 70fb0b3..b7c6947 100644 --- a/src/xua_asp_fsm.c +++ b/src/xua_asp_fsm.c @@ -632,6 +632,9 @@ uint32_t rctx = osmo_load32be(&part->dat[i * sizeof(uint32_t)]); as = osmo_ss7_as_find_by_rctx(asp->inst, rctx); if (!as) { + LOGPFSML(fi, LOGL_NOTICE, + "ASPAC: Couldn't find any AS with rctx=%u. Check your config!\n", + rctx); peer_send_error(fi, M3UA_ERR_INVAL_ROUT_CTX); return; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40675?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: libosmo-sigtran Gerrit-Branch: master Gerrit-Change-Id: Id00a8b970320f545b361357d162c26aa9db70209 Gerrit-Change-Number: 40675 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
1 0
0 0
[XS] Change in libosmo-sigtran[master]: xua_asp_fsm: Log rx ASPAC with unknown rctx
by laforge 15 Jul '25

15 Jul '25
Attention is currently required from: pespin. laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40675?usp=email ) Change subject: xua_asp_fsm: Log rx ASPAC with unknown rctx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/40675?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: libosmo-sigtran Gerrit-Branch: master Gerrit-Change-Id: Id00a8b970320f545b361357d162c26aa9db70209 Gerrit-Change-Number: 40675 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 15 Jul 2025 08:53:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • ...
  • 150
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.