neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27372 )
Change subject: add missing counter increment for Perform Location Request
......................................................................
add missing counter increment for Perform Location Request
Also increment message counter for the case that a Perform Location
Request came in the initial SCCP N-Connect message.
Related: SYS#5864
Change-Id: I3f78ce73eb16fdff1f19359963405b2235000fc4
---
M src/osmo-bsc/bsc_subscr_conn_fsm.c
1 file changed, 1 insertion(+), 0 deletions(-)
Approvals:
laforge: Looks good to me, approved
fixeria: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c
index 94438a8..59f36a4 100644
--- a/src/osmo-bsc/bsc_subscr_conn_fsm.c
+++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c
@@ -328,6 +328,7 @@
return;
case BSS_MAP_MSG_PERFORM_LOCATION_RQST:
+ rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_REQUEST]);
/* Location Services: MSC asks for location of an IDLE subscriber */
conn_fsm_state_chg(ST_ACTIVE);
lcs_loc_req_start(conn, msg);
2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27372
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3f78ce73eb16fdff1f19359963405b2235000fc4
Gerrit-Change-Number: 27372
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr(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-MessageType: merged
neels has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/26459 )
Change subject: move tlv.h, tlv_parser.c from libosmogsm to libosmocore
......................................................................
Abandoned
i can't use this TLV parser for PFCP, so my interest in moving it has vanished
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/26459
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I3cda0143af9eaf90dc73f9deccd651117fdf8845
Gerrit-Change-Number: 26459
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(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-MessageType: abandon
Attention is currently required from: laforge.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27371 )
Change subject: add counter for inter-BSC incoming Handover Request
......................................................................
Patch Set 3:
(1 comment)
Patchset:
PS3:
in IM, we discussed that I should merge this as is and clean up counter names later.
So removing the -1 and hoping to get +1s soon.
Also considering to +2 myself and merging, but let's see.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27371
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Icdde2bb339a5e367a4d297802214a1ef3f36eefa
Gerrit-Change-Number: 27371
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Tue, 08 Mar 2022 22:56:08 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: iedemam, laforge, fixeria, pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27081 )
Change subject: stats: new trackers for lchan life duration
......................................................................
Patch Set 15:
(1 comment)
Patchset:
PS15:
I realized that osmo_time_cc does behave differently when there is no rate_ctr. This patch should fix that:
https://gerrit.osmocom.org/c/libosmocore/+/27425
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27081
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I1b0670c47cb5e0b7776eda89d1e71545ba0e3347
Gerrit-Change-Number: 27081
Gerrit-PatchSet: 15
Gerrit-Owner: iedemam <michael(a)kapsulate.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: iedemam <michael(a)kapsulate.com>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 08 Mar 2022 22:49:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/27425 )
Change subject: osmo_time_cc: rate_ctr presence should not affect counting
......................................................................
osmo_time_cc: rate_ctr presence should not affect counting
Make sure that osmo_time_cc counts exactly the same, regardless of a
rate_ctr being present or not. Only skip sending counter increments when
there is no rate counter, do not affect anything else.
In osmo-bsc, we are discussing a patch where an lchan redirects
osmo_time_cc counter increments to different rate counters depending on
its current type. In my comments I am also claiming that osmo_time_cc
works the same regardless of a rate_ctr being present or not. Looking at
the code, this is not actually the case.
Before this patch, when there is no rate_ctr, the reported_sum would
freeze, and as soon as a rate_ctr shows up, all counter increments from
the previous reported_sum would be sent to the newly set rate_ctr.
Instead, we want counter increments to simply be lost while there is no
rate_ctr set. IOW, rate_ctr == NULL should mean >/dev/null.
Related: I1b0670c47cb5e0b7776eda89d1e71545ba0e3347 (osmo-bsc)
Change-Id: I380b28d7ab0a6c8aab6c7e2a64bc73cab14863d2
---
M src/time_cc.c
1 file changed, 3 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/27425/1
diff --git a/src/time_cc.c b/src/time_cc.c
index ae99b58..05971fe 100644
--- a/src/time_cc.c
+++ b/src/time_cc.c
@@ -120,8 +120,6 @@
{
uint64_t delta;
uint64_t n;
- if (!tc->cfg.rate_ctr)
- return;
/* We report a sum "rounded up", ahead of time. If the granularity period has not yet elapsed after the last
* reporting, do not report again yet. */
if (tc->reported_sum > tc->sum)
@@ -139,7 +137,8 @@
/* integer sanity, since rate_ctr_add() takes an int argument. */
if (n > INT_MAX)
n = INT_MAX;
- rate_ctr_add(tc->cfg.rate_ctr, n);
+ if (tc->cfg.rate_ctr)
+ rate_ctr_add(tc->cfg.rate_ctr, n);
/* Store the increments of gran_usec that were counted. */
tc->reported_sum += n * GRAN_USEC(tc);
}
@@ -205,7 +204,7 @@
next_event = OSMO_MIN(next_event, next_forget_time);
}
/* Next rate_ctr increment? */
- if (tc->flag_state && tc->cfg.rate_ctr) {
+ if (tc->flag_state) {
uint64_t next_inc = now + (tc->reported_sum - tc->sum) + ROUND_THRESHOLD_USEC(tc);
next_event = OSMO_MIN(next_event, next_inc);
}
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27425
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I380b28d7ab0a6c8aab6c7e2a64bc73cab14863d2
Gerrit-Change-Number: 27425
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: iedemam, laforge, fixeria, pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27081 )
Change subject: stats: new trackers for lchan life duration
......................................................................
Patch Set 15:
(9 comments)
Patchset:
PS15:
The patch is turning out nicely, but we still have a couple of problems.
Some of those are my fault of giving recommendations in code review without thinking it through.
I hope I am not causing frustration by "always having yet more comments".
File src/osmo-bsc/lchan_fsm.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/c0c177bc_13624a22
PS15, Line 208: if (lchan->active_ms.cfg.rate_ctr) {
I understand now: the rate_ctr is set only for SDCCH and TCH type.
https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/085bc7b3_caa11933
PS15, Line 209: osmo_time_cc_cleanup(&lchan->active_ms);
osmo_time_cc_cleanup() is not necessary, the forget_sum configuration does this implicitly
https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/9a4b8bc7_c242c7e9
PS15, Line 465: uint
> Is it a valid type from <stdint.h>? Never saw it before. […]
I like to use "uint" in private projects, but there i typedef it manually as unsigned int. Indeed i've never seen it in osmocom code. it is certainly not from stdint.h, wondering why this compiles.
https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/f5fed5b1_a399fc61
PS15, Line 478: counter_id = -1;
> This should go to the 'default' branch of the 'switch' statement below.
could, yes, but totally fine here IMHO.
But in fact, I would rather see counters for all channel types added, instead of counting "only" TCH and SDCCH. Those are the most interesting ones of course, but why not do all of them while we're at it.
https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/724984ee_b0144023
PS15, Line 479: switch (lchan->type) {
the lchan->type changes during operation of osmo-bsc, it is not known at the time of lchan_fsm_alloc() yet. For example, a TCH/F timeslot can be used as type SDCCH when all dedicated SDCCH timeslots are exhausted, or a dynamic timeslot can be used as TCH/F or TCH/H depending.
I think I would do this:
This here, lchan_fsm_alloc(), happens "only once" when a BTS starts up.
Configure here the lchan->active_ms.cfg, i.e. set the gran_usec and forget_sum_usec, unconditionally. But here do not set a rate_ctr yet (keep it NULL). So each lchan now has an accumulator for the time that it is active -- as long as the rate_ctr is NULL, all it does is increment its total_sum, no harm done. So we can always set the flag to true or false, for any and all lchan types, regardless of the rate_ctr being present.
Just before setting the flag to 'true' in lchan_on_fully_established(), point the lchan->active_ms.cfg.rate_ctr to the counter matching the lchan->type, because only then do we know the actual lchan->type in use. (We already know the type a few FSM states earlier, but we only really care upon fully established, when the flag goes true.)
lchan->active_ms always directs new counter increments to the rate_ctr it currently points at.
When setting the rate_ctr, do take care to set it to NULL if the lchan type has no counter. (personally I would add counters for all types while at it, but it's not mandatory)
The active_ms time_cc does never need to be reset, no need to call osmo_time_cc_cleanup(). forget_sum takes care that leftover timings are discarded; especially when forget_sum_usec = 1 it's guaranteed that we instantly forget surplus timings from previous times of flag == true. As soon as newly accumulated sums reach the threshold, a counter increment is triggered, to whichever rate counter it currently points at.
(Like this, we also have in active_ms.total_sum a sum of how long each individual lchan has been active since the BTS started operating, across all lchan->types it has operated as. We could maybe print that in the VTY output, as a nice-to-know value, not sure if it bears much meaning though, besides which lchans are the favorites.)
https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/b461f303_2281ae3f
PS15, Line 493: .gran_usec = 1*1000,
Sorry for my earlier comment, I've come to realize what exactly I recommended by mentioning 1 ms granularity. By setting gran_usec to one millisecond, we will actually schedule an osmo_timer to increment a rate counter every single millisecond that the flag is true. Modern machines should be able to handle that, but I fear it might make a difference in load. 1000 times per second for every active lchan feels like a lot for me as a human.
With gran_usec == 1000 and flag == true, every millisecond we re-schedule an osmo_timer to come up in the main select() loop. It will increment the rate counter, and schedule another timer to "interrupt" the select() loop a millisecond later. Mind you it is fine if the select() loop skips a couple of milliseconds here or there from handling messages, the rate counter will still be incremented correctly. But we would load the main select() loop a lot less with a larger granularity.
What is a meaningful precision you would like to see in the metrics? If one second is too large, I guess a tenth of a second (gran_usec = 100000) is sufficient for a humanly noticeable time scale?
(Would be interesting to benchmark that, see if this granularity does indeed make any difference at all on the CPU load. So far it's just a gut feeling of mine.)
https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/63b93209_f57327e9
PS15, Line 498: .T_forget_sum = -18,
timers X16, X17, X18 are defined to configure a different counter (the all_allocated counters). important: these X timers will override above gran_usec, forget_sum_usec settings!
I think it is sufficient to not define any T_* and always use the hardcoded configuration here.
If you'd like to make the active_ms configurable from VTY, we should define different X numbers.
Related:
https://osmocom.org/projects/cellular-infrastructure/wiki/List_of_Timer_num…https://gerrit.osmocom.org/c/osmo-bsc/+/27081/comment/d7f488bb_41c99b30
PS15, Line 562: /* Stop the timekeeper, which triggers a report */
the comment suggests that the report is triggered only now. In fact a rate_ctr increment is triggered every time gran_usec elapses the rounding threshold while the flag is set 'true', and not really when the flag changes to 'false'.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27081
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I1b0670c47cb5e0b7776eda89d1e71545ba0e3347
Gerrit-Change-Number: 27081
Gerrit-PatchSet: 15
Gerrit-Owner: iedemam <michael(a)kapsulate.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: iedemam <michael(a)kapsulate.com>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 08 Mar 2022 22:35:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27424
to look at the new patch set (#2).
Change subject: lib/DIAMETER: Allow sendt CEA with AuthAppInd
......................................................................
lib/DIAMETER: Allow sendt CEA with AuthAppInd
The new message is to be used by Gy interface emulation, which according
to RFC4006 uses AppInd 4 "Credit Control Application". The application
is apparently not 3GPP vendor specific.
Change-Id: I0e33673d65140aad34d2efcae3c7f49154ceb99f
---
M ggsn_tests/GGSN_Tests.ttcn
M library/DIAMETER_Emulation.ttcn
M library/DIAMETER_Templates.ttcn
M mme/MME_Tests.ttcn
M pgw/PGW_Tests.ttcn
5 files changed, 41 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/27424/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27424
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0e33673d65140aad34d2efcae3c7f49154ceb99f
Gerrit-Change-Number: 27424
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: newpatchset
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27423
to look at the new patch set (#2).
Change subject: ggsn: Emulate OCS
......................................................................
ggsn: Emulate OCS
Change-Id: I10027d4f8adc6b47ce97b90514d1f13e9aa3d40d
---
M ggsn_tests/GGSN_Tests.ttcn
M library/DIAMETER_Templates.ttcn
2 files changed, 28 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/27423/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27423
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I10027d4f8adc6b47ce97b90514d1f13e9aa3d40d
Gerrit-Change-Number: 27423
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: newpatchset