Attention is currently required from: pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/27916 )
Change subject: CM Serv Rej: do not crash on use count mismatch
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
> That's my point, this shutdown is done because something is wrong in the code. […]
I know, but still, *let's not crash osmo-msc*.
the conn is being released, a use count confusion is not critical
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/27916
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I2009df42d1f27ec0d011e22bfc46dbc17afe7239
Gerrit-Change-Number: 27916
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 30 Apr 2022 20:34:39 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27988 )
Change subject: octoi: only memcpy() if it is present in _octoi_tx_echo()
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27988
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I5f5ed937643162d6ef6ce0cf2908432c007943c1
Gerrit-Change-Number: 27988
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Sat, 30 Apr 2022 10:52:15 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27988 )
Change subject: octoi: only memcpy() if it is present in _octoi_tx_echo()
......................................................................
octoi: only memcpy() if it is present in _octoi_tx_echo()
If the caller specifies zero-length data or a NULL pointer, don't
attempt to call memcpy() on that.
Change-Id: I5f5ed937643162d6ef6ce0cf2908432c007943c1
---
M src/octoi/octoi_sock.c
1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/88/27988/1
diff --git a/src/octoi/octoi_sock.c b/src/octoi/octoi_sock.c
index 4245d80..eac07ee 100644
--- a/src/octoi/octoi_sock.c
+++ b/src/octoi/octoi_sock.c
@@ -130,7 +130,8 @@
} u;
u.echo.seq_nr = htons(seq_nr);
- memcpy(u.echo.data, data, data_len);
+ if (data && data_len)
+ memcpy(u.echo.data, data, data_len);
if (is_req)
msgt = E1OIP_MSGT_ECHO_REQ;
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27988
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I5f5ed937643162d6ef6ce0cf2908432c007943c1
Gerrit-Change-Number: 27988
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27987 )
Change subject: bts/osmo-bts.cfg: reduce OML logging verbosity, degrade to notice
......................................................................
bts/osmo-bts.cfg: reduce OML logging verbosity, degrade to notice
Average size of osmo-bts.log after running ttcn3-bts-test is ~178 MB,
and more than 52% (!) of it is the OML logging messages. Other than
making the logfile bigger, bursts of OML messages make it really hard
to follow the output of osmo-bts when running tests natively.
Change-Id: Ib5346a3ca42917169e195f905472ccea7579e5eb
---
M bts/osmo-bts.cfg
1 file changed, 0 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/27987/1
diff --git a/bts/osmo-bts.cfg b/bts/osmo-bts.cfg
index 5609212..f581be0 100644
--- a/bts/osmo-bts.cfg
+++ b/bts/osmo-bts.cfg
@@ -18,7 +18,6 @@
!
logging level set-all notice
logging level rsl info
- logging level oml info
logging level meas info
logging level pag info
logging level l1c info
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27987
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: Ib5346a3ca42917169e195f905472ccea7579e5eb
Gerrit-Change-Number: 27987
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27986 )
Change subject: BTS_Tests: fix expectations in TC_speech_no_rtp_tch[fh]
......................................................................
BTS_Tests: fix expectations in TC_speech_no_rtp_tch[fh]
On receipt of a FACCH block, trxcon generates not only a DATA.ind,
but also one or two artificial TRAFFIC.ind with BFI. These BFIs
have CRC != 0 indicating their nature, so my initial assumption
about CRC being 0 was incorrect.
Instead of checking CRC, let's count received dummy FACCH frammes.
This patch makes both TC_speech_no_rtp_tch[fh] pass.
Change-Id: Ic680002f60e598cfeeb448c517581b3506355e5b
Related: SYS#5919
Fixes: OS#4823
---
M bts/BTS_Tests.ttcn
1 file changed, 27 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/27986/1
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 06fe43b..4bcb90b 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -7893,10 +7893,12 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+/* Verify that we get dummy FACCH blocks on Downlink in the absence of RTP frames */
private function f_TC_speech_no_rtp(charstring id) runs on ConnHdlr {
- var template L1ctlDlMessage tr_bad_frame;
+ var integer facch_count := 0;
+ var integer facch_count_exp;
var L1ctlDlMessage l1_dl;
- timer T := 8.0;
+ timer T := 2.0;
f_l1_tune(L1CTL);
RSL.clear;
@@ -7907,27 +7909,40 @@
f_sleep(2.0); /* ... so let's give the L1 some time to stabilize */
L1CTL.clear;
- /* A universal template for bad Downlink frame: {DATA,TRAFFIC}.ind */
- tr_bad_frame := tr_L1CTL_TRAFFIC_IND(g_chan_nr, tr_RslLinkID_DCCH(0));
- tr_bad_frame.header.msg_type := (L1CTL_DATA_IND, L1CTL_TRAFFIC_IND);
- tr_bad_frame.dl_info.fire_crc := (1..255); /* != 0 */
- tr_bad_frame.payload := ?;
-
T.start;
alt {
- /* OS#4823: DATA.ind or TRAFFIC.ind with bad CRC most likely means that
- * the IUT is sending *dummy bursts*, so the L1 fails to decode them. */
- [] L1CTL.receive(tr_bad_frame) -> value l1_dl {
- setverdict(fail, "Received {DATA,TRAFFIC}.ind with bad CRC: ", l1_dl);
+ /* Expect dummy FACCH frames with LAPDm func=UI */
+ [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_DCCH(0))) -> value l1_dl {
+ var octetstring payload := l1_dl.payload.data_ind.payload;
+ /* XXX: TITAN does not support match(payload, '0303012b?#19'O) */
+ if (substr(payload, 0, 4) != '0303012B'O) {
+ setverdict(fail, "Unexpected FACCH payload := ", payload);
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+ }
+ log("Rx FACCH frame: ", payload);
+ facch_count := facch_count + 1;
+ repeat;
}
[] as_l1_sacch();
[] L1CTL.receive { repeat; }
[] T.timeout {
/* We're done, break the loop */
+ log("Rx ", facch_count, " dummy FACCH blocks");
setverdict(pass);
}
}
+ /* Expect a certain number of FACCH frames depending on the channel rate */
+ if (match(g_chan_nr, t_RslChanNr_Bm(?))) {
+ facch_count_exp := 90; /* ~50 FACCH/F blocks/s, so at least 90 in 2s */
+ } else {
+ facch_count_exp := 40; /* ~25 FACCH/H blocks/s, so at least 40 in 2s */
+ }
+ if (facch_count < facch_count_exp) {
+ setverdict(fail, "Expected at least ", facch_count_exp, " DL FACCH frames, ",
+ "but received ", facch_count);
+ }
+
f_rsl_chan_deact();
f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27986
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: Ic680002f60e598cfeeb448c517581b3506355e5b
Gerrit-Change-Number: 27986
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27973 )
Change subject: paging: Early stop work_timer when paging queue becomes empty
......................................................................
paging: Early stop work_timer when paging queue becomes empty
There's no need to keep the timer running, since anyway upon next
trigger it will simply early exit in paging_handle_pending_requests()
becuase there's no more work to do.
Change-Id: I096ab7231f52c741c5fded37acd5b309e1de06e3
---
M src/osmo-bsc/paging.c
1 file changed, 2 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
fixeria: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index f2bcf96..fcb038b 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -84,6 +84,8 @@
llist_del(&to_be_deleted->entry);
bsc_subscr_put(to_be_deleted->bsub, BSUB_USE_PAGING_REQUEST);
talloc_free(to_be_deleted);
+ if (llist_empty(&paging_bts->pending_requests))
+ osmo_timer_del(&paging_bts->work_timer);
}
static void page_ms(struct gsm_paging_request *request)
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27973
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I096ab7231f52c741c5fded37acd5b309e1de06e3
Gerrit-Change-Number: 27973
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: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27965 )
Change subject: paging: Increase T3113 based on paging group load in BSC queue
......................................................................
paging: Increase T3113 based on paging group load in BSC queue
Related: OS#5536
Change-Id: I904c008222ddc3d92843d87fb3182c30b484c8a2
---
M include/osmocom/bsc/paging.h
M src/osmo-bsc/paging.c
2 files changed, 37 insertions(+), 5 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/include/osmocom/bsc/paging.h b/include/osmocom/bsc/paging.h
index 8d5c9ac..9b63225 100644
--- a/include/osmocom/bsc/paging.h
+++ b/include/osmocom/bsc/paging.h
@@ -76,6 +76,8 @@
struct gsm_bts *bts;
/* what kind of channel type do we ask the MS to establish */
int chan_type;
+ /* paging group of the subscriber: */
+ uint8_t pgroup;
/* Timer 3113: how long do we try to page? */
struct osmo_timer_list T3113;
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index 993e5df..f2bcf96 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -330,7 +330,9 @@
}
#define GSM51_MFRAME_DURATION_us (51 * GSM_TDMA_FN_DURATION_uS) /* 235365 us */
-static unsigned int calculate_timer_3113(struct gsm_paging_request *req)
+static unsigned int paging_estimate_delay_us(struct gsm_bts *bts, unsigned int num_reqs);
+
+static unsigned int calculate_timer_3113(struct gsm_paging_request *req, unsigned int reqs_before)
{
unsigned int to_us, to;
struct gsm_bts *bts = req->bts;
@@ -345,8 +347,6 @@
if (!bts->T3113_dynamic)
return d->val;
- /* TODO: take into account load of paging group for req->bsub */
-
/* MFRMS defines repeat interval of paging messages for MSs that belong
* to same paging group across multiple 51 frame multiframes.
* MAXTRANS defines maximum number of RACH retransmissions, spread over
@@ -358,6 +358,9 @@
to_us = GSM51_MFRAME_DURATION_us * bs_pa_mfrms +
GSM_TDMA_FN_DURATION_uS * rach_tx_integer * rach_max_trans;
+ /* Now add some extra time based on how many requests need to be transmitted before this one: */
+ to_us += paging_estimate_delay_us(bts, reqs_before);
+
/* ceiling in seconds + extra time */
to = (to_us + 999999) / 1000000 + d->val;
LOG_PAGING_BTS(req, bts, DPAG, LOGL_DEBUG, "Paging request: T3113 expires in %u seconds\n", to);
@@ -375,6 +378,9 @@
struct gsm_bts_paging_state *bts_entry = &bts->paging;
struct gsm_paging_request *req, *last_initial_req = NULL;
unsigned int t3113_timeout_s;
+ unsigned int reqs_before_same_pgroup = 0;
+ uint8_t pgroup = gsm0502_calc_paging_group(&bts->si_common.chan_desc,
+ str_to_imsi(params->bsub->imsi));
rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ATTEMPTED));
@@ -392,8 +398,15 @@
rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ALREADY));
return -EEXIST;
}
- if (req->attempts == 0)
+ if (req->attempts == 0) {
last_initial_req = req;
+ if (req->pgroup == pgroup)
+ reqs_before_same_pgroup++;
+ } else if (last_initial_req == NULL) {
+ /* If no req with attempts=0 was found, we'll append to end of list, so keep counting. */
+ if (req->pgroup == pgroup)
+ reqs_before_same_pgroup++;
+ }
}
LOG_PAGING_BTS(params, bts, DPAG, LOGL_DEBUG, "Start paging\n");
@@ -405,6 +418,7 @@
bsc_subscr_get(req->bsub, BSUB_USE_PAGING_REQUEST);
req->bts = bts;
req->chan_type = params->chan_needed;
+ req->pgroup = pgroup;
req->msc = params->msc;
osmo_timer_setup(&req->T3113, paging_T3113_expired, req);
@@ -414,7 +428,7 @@
else/* Add in the middle of the list after last_initial_req */
__llist_add(&req->entry, &last_initial_req->entry, last_initial_req->entry.next);
- t3113_timeout_s = calculate_timer_3113(req);
+ t3113_timeout_s = calculate_timer_3113(req, reqs_before_same_pgroup);
osmo_timer_schedule(&req->T3113, t3113_timeout_s, 0);
paging_schedule_if_needed(bts_entry);
@@ -598,3 +612,19 @@
available_slots, time_span_s);
return available_slots;
}
+
+/*! Conservative estimate of time needed by BTS to schedule a number of paging
+ * requests (num_reqs), based on current load at the BSC queue (doesn't take into
+ * account BTs own buffer) */
+static unsigned int paging_estimate_delay_us(struct gsm_bts *bts, unsigned int num_reqs)
+{
+ unsigned int n_pag_blocks = gsm0502_get_n_pag_blocks(&bts->si_common.chan_desc);
+ unsigned int n_mframes = (num_reqs + (n_pag_blocks - 1)) / n_pag_blocks;
+ unsigned int time_us = n_mframes * GSM51_MFRAME_DURATION_us;
+ /* the multiframes are not consecutive for a paging group, let's add the spacing between: */
+ if (n_mframes > 1) {
+ unsigned int bs_pa_mfrms = (bts->si_common.chan_desc.bs_pa_mfrms + 2);
+ time_us += (n_mframes - 1) * bs_pa_mfrms * GSM51_MFRAME_DURATION_us;
+ }
+ return time_us;
+}
1 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/+/27965
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I904c008222ddc3d92843d87fb3182c30b484c8a2
Gerrit-Change-Number: 27965
Gerrit-PatchSet: 2
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: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27944 )
Change subject: paging: Decouple retransmit period from regular worker interval
......................................................................
paging: Decouple retransmit period from regular worker interval
Before this patch, on each BTS a 500ms timer was used to schedule some
work, sending up to 20 paging requests verytime.
This means, however, for an initial paging request it may take up to
500ms delay to be scheduled to the BTS, which is huge.
While we still want to maintain this 500ms interval for retransmits, it
doesn't make sense to wait that much for other cases. It's far better
sending less requests (10 instead of 20) every half time (250ms instead
of 500ms), since it will spread the load and paging more over time,
allowing for other work to be done in the middle.
Change-Id: I7a1297452cc4734b6ee8c38fb94cf32f38d57c3d
---
M include/osmocom/bsc/paging.h
M src/osmo-bsc/paging.c
2 files changed, 33 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/include/osmocom/bsc/paging.h b/include/osmocom/bsc/paging.h
index 2102e04..d9fd501 100644
--- a/include/osmocom/bsc/paging.h
+++ b/include/osmocom/bsc/paging.h
@@ -82,6 +82,8 @@
/* How often did we ask the BTS to page? */
int attempts;
+ /* Timestamp of last time the subscriber was paged */
+ struct timespec last_attempt_ts;
/* MSC that has issued this paging */
struct bsc_msc_data *msc;
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index 3da5f18..9bc0105 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -59,7 +59,19 @@
void *tall_paging_ctx = NULL;
/* How many paging requests to Tx on RSL at max before going back to main loop */
-#define MAX_PAGE_REQ_PER_ITER 20
+#define MAX_PAGE_REQ_PER_ITER 10
+
+/* How often to attempt sending new paging requests (initial, not retrans): 250ms */
+static const struct timespec initial_period = {
+ .tv_sec = 0,
+ .tv_nsec = 250 * 1000 * 1000,
+};
+
+/* Minimum period between retransmits of paging req to a subscriber: 500ms */
+static const struct timespec retrans_period = {
+ .tv_sec = 0,
+ .tv_nsec = 500 * 1000 * 1000,
+};
/*
* Kill one paging request update the internal list...
@@ -185,6 +197,7 @@
struct gsm_paging_request *request, *initial_request;
unsigned int num_paged = 0;
struct gsm_bts *bts = paging_bts->bts;
+ struct timespec now, retrans_ts;
/*
* Determine if the pending_requests list is empty and
@@ -199,6 +212,8 @@
if (!bts->c0->rsl_link_primary)
goto sched_next_iter;
+ osmo_clock_gettime(CLOCK_MONOTONIC, &now);
+
/* do while loop: Try send at most first MAX_PAGE_REQ_PER_ITER paging
* requests (or before if there are no more available slots). Since
* transmitted requests are re-appended at the end of the list, we check
@@ -223,9 +238,23 @@
goto sched_next_iter;
}
+ /* If we reach around back of the queue (retransmitions), check
+ * if time to retransmit has elapsed. Otherwise, wait until its
+ * time to retransmit. */
+ if (request->attempts > 0) {
+ timespecadd(&request->last_attempt_ts, &retrans_period, &retrans_ts);
+ if (timespeccmp(&now, &retrans_ts, <)) {
+ struct timespec tdiff;
+ timespecsub(&retrans_ts, &now, &tdiff);
+ osmo_timer_schedule(&paging_bts->work_timer, tdiff.tv_sec, tdiff.tv_nsec / 1000);
+ return;
+ }
+ }
+
/* handle the paging request now */
page_ms(request);
paging_bts->available_slots--;
+ request->last_attempt_ts = now;
request->attempts++;
num_paged++;
@@ -237,7 +266,7 @@
/* Once done iterating, prepare next scheduling: */
sched_next_iter:
- osmo_timer_schedule(&paging_bts->work_timer, 0, 500000);
+ osmo_timer_schedule(&paging_bts->work_timer, initial_period.tv_sec, initial_period.tv_nsec / 1000);
}
static void paging_worker(void *data)
3 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/+/27944
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7a1297452cc4734b6ee8c38fb94cf32f38d57c3d
Gerrit-Change-Number: 27944
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: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27936 )
Change subject: paging: Rework timer lifecycle logic
......................................................................
paging: Rework timer lifecycle logic
Decouple credit_timer from event "available_slots became 0".
Let's actually relate credit_timer to the fact of not receiving CCCH
Load Indication: If no CCCH Load Indication is received (cch_load_ind_period * 2),
then assume we are below CCH Load Indication threshold (10% load) and
start estimating the available_slots in a cch_load_ind_period*2 time
frame.
Moreover, in paging_schedule_if_needed(), there's no use in delaying
start of processing work if the work_timer is not already doing work.
Related: OS#5537
Change-Id: I6a0da03c408270044079e81d431f6641527c00cd
---
M src/osmo-bsc/paging.c
1 file changed, 14 insertions(+), 20 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index 5be7d81..74a550d 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -58,8 +58,6 @@
void *tall_paging_ctx = NULL;
-#define PAGING_TIMER 0, 500000
-
/* How many paging requests to Tx on RSL at max before going back to main loop */
#define MAX_PAGE_REQ_PER_ITER 20
@@ -106,23 +104,23 @@
log_set_context(LOG_CTX_BSC_SUBSCR, NULL);
}
+static void paging_handle_pending_requests(struct gsm_bts_paging_state *paging_bts);
+
static void paging_schedule_if_needed(struct gsm_bts_paging_state *paging_bts)
{
- if (llist_empty(&paging_bts->pending_requests))
- return;
-
+ /* paging_handle_pending_requests() will schedule work_timer if work
+ * needs to be partitioned in several iterations. */
if (!osmo_timer_pending(&paging_bts->work_timer))
- osmo_timer_schedule(&paging_bts->work_timer, PAGING_TIMER);
+ paging_handle_pending_requests(paging_bts);
}
-
-static void paging_handle_pending_requests(struct gsm_bts_paging_state *paging_bts);
static void paging_give_credit(void *data)
{
struct gsm_bts_paging_state *paging_bts_st = data;
struct gsm_bts *bts = paging_bts_st->bts;
paging_bts_st->available_slots = paging_estimate_available_slots(bts, bts->ccch_load_ind_period * 2);
- paging_handle_pending_requests(paging_bts_st);
+ paging_schedule_if_needed(paging_bts_st);
+ osmo_timer_schedule(&bts->paging.credit_timer, bts->ccch_load_ind_period * 2, 0);
}
/*! count the number of free channels for given RSL channel type required
@@ -210,16 +208,11 @@
struct gsm_paging_request, entry);
request = initial_request;
do {
- /*
- * In case the BTS does not provide us with load indication and we
- * ran out of slots, call an autofill routine. It might be that the
- * BTS did not like our paging messages and then we have counted down
- * to zero and we do not get any messages.
+ /* We run out of available slots. Wait until next CCCH Load Ind
+ * arrives or credit_timer triggers to keep processing requests.
*/
- if (paging_bts->available_slots == 0) {
- osmo_timer_schedule(&paging_bts->credit_timer, bts->ccch_load_ind_period * 2, 0);
+ if (paging_bts->available_slots == 0)
return;
- }
/* we need to determine the number of free channels */
if (paging_bts->free_chans_need != -1 &&
@@ -244,7 +237,7 @@
/* Once done iterating, prepare next scheduling: */
sched_next_iter:
- osmo_timer_schedule(&paging_bts->work_timer, PAGING_TIMER);
+ osmo_timer_schedule(&paging_bts->work_timer, 0, 500000);
}
static void paging_worker(void *data)
@@ -263,6 +256,7 @@
INIT_LLIST_HEAD(&bts->paging.pending_requests);
osmo_timer_setup(&bts->paging.work_timer, paging_worker, &bts->paging);
osmo_timer_setup(&bts->paging.credit_timer, paging_give_credit, &bts->paging);
+ osmo_timer_schedule(&bts->paging.credit_timer, bts->ccch_load_ind_period * 2, 0);
}
/* Called upon the bts struct being freed */
@@ -502,10 +496,10 @@
/*! Update the BTS paging buffer slots on given BTS */
void paging_update_buffer_space(struct gsm_bts *bts, uint16_t free_slots)
{
-
- osmo_timer_del(&bts->paging.credit_timer);
bts->paging.available_slots = free_slots;
paging_schedule_if_needed(&bts->paging);
+ /* Re-arm credit_timer */
+ osmo_timer_schedule(&bts->paging.credit_timer, bts->ccch_load_ind_period * 2, 0);
}
/*! Count the number of pending paging requests on given BTS */
3 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/+/27936
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I6a0da03c408270044079e81d431f6641527c00cd
Gerrit-Change-Number: 27936
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: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27943 )
Change subject: paging: Check C0 RSL link instead of OML link
......................................................................
paging: Check C0 RSL link instead of OML link
PAging happens over C0 RSL link, not over OML, so let's actually
validate that the C0 RSL link is up before paging instead of the OML
one.
Change-Id: I11e5bb6f952534763935aa01470e514d4af247ed
---
M src/osmo-bsc/paging.c
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index 74a550d..3da5f18 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -196,7 +196,7 @@
}
/* Skip paging if the bts is down. */
- if (!bts->oml_link)
+ if (!bts->c0->rsl_link_primary)
goto sched_next_iter;
/* do while loop: Try send at most first MAX_PAGE_REQ_PER_ITER paging
1 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/+/27943
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I11e5bb6f952534763935aa01470e514d4af247ed
Gerrit-Change-Number: 27943
Gerrit-PatchSet: 3
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: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: osmith, fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27935 )
Change subject: paging: Estimate available_slots based on BTS config when no CCCH Load Ind received
......................................................................
Patch Set 4:
(1 comment)
File src/osmo-bsc/abis_rsl.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27935/comment/e0e1b35c_586925ae
PS3, Line 2344: sd.bts->ccch_load_ind_period
> can you put the explanation as comment in the code?
Done here: https://gerrit.osmocom.org/c/osmo-bsc/+/27985
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27935
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I2df68e10eb549d62765ad3b25429f7fe2d5bb0b9
Gerrit-Change-Number: 27935
Gerrit-PatchSet: 4
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-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 15:11:28 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: neels, laforge, fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27923 )
Change subject: Check VTY config against features reported by BTS
......................................................................
Patch Set 7:
(2 comments)
File src/osmo-bsc/bts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/67eb271c_82a1bcae
PS6, Line 502: if (!bts_gprs_mode_is_compat(bts, bts->gprs.mode)) {
> && instead of nested if?
Done on purpose here, so we have a if (bts->features_known) { ... } block where we can have multiple checks in the future. If it's strongly preferred to use && here however, I'd change it.
File src/osmo-bsc/bts_osmobts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/5740a709_cffda913
PS6, Line 208: /* Adjust bts_init/bts_model_init in OsmoBTS to report new features.
> i wonder what this comment attempts to say, sounds like legacy that we can drop?
I just added this comment recently. What I meant with it is: when OsmoBTS supports a new feature, OsmoBTS code should be adjusted to report this feature. Instead of just adding the feature here to the BTS model, as it had been done sometimes in the past.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27923
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7fca42a39a4bc98a6ea8b9cfab28c4bad3a6a0aa
Gerrit-Change-Number: 27923
Gerrit-PatchSet: 7
Gerrit-Owner: osmith <osmith(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: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 13:39:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: osmith, laforge, fixeria.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27923 )
Change subject: Check VTY config against features reported by BTS
......................................................................
Patch Set 7: Code-Review+1
(2 comments)
File src/osmo-bsc/bts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/33f56416_35dee4ad
PS6, Line 502: if (!bts_gprs_mode_is_compat(bts, bts->gprs.mode)) {
&& instead of nested if?
File src/osmo-bsc/bts_osmobts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/ab7009b7_0617aac9
PS6, Line 208: /* Adjust bts_init/bts_model_init in OsmoBTS to report new features.
i wonder what this comment attempts to say, sounds like legacy that we can drop?
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27923
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7fca42a39a4bc98a6ea8b9cfab28c4bad3a6a0aa
Gerrit-Change-Number: 27923
Gerrit-PatchSet: 7
Gerrit-Owner: osmith <osmith(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: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 13:34:26 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: osmith, laforge, fixeria.
Hello Jenkins Builder, neels, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/27923
to look at the new patch set (#7).
Change subject: Check VTY config against features reported by BTS
......................................................................
Check VTY config against features reported by BTS
* Don't copy features for osmo-bts and nanobts initially, wait until
BTS reported its features
* Checks for BTS features in VTY cmds: pass if features are not known
(not yet reported by the BTS), fail if the feature is missing
* Once BTS reports its features, check relevant VTY config parts again
Related: SYS#5922, OS#5538
Change-Id: I7fca42a39a4bc98a6ea8b9cfab28c4bad3a6a0aa
---
A doc/bts-features.txt
M include/osmocom/bsc/bts.h
M src/osmo-bsc/abis_nm.c
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_ipaccess_nanobts.c
M src/osmo-bsc/bts_osmobts.c
M src/osmo-bsc/bts_trx.c
M src/osmo-bsc/bts_trx_vty.c
M src/osmo-bsc/bts_vty.c
M tests/Makefile.am
A tests/bts_features.vty
12 files changed, 126 insertions(+), 22 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/27923/7
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27923
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7fca42a39a4bc98a6ea8b9cfab28c4bad3a6a0aa
Gerrit-Change-Number: 27923
Gerrit-PatchSet: 7
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin, fixeria.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27935 )
Change subject: paging: Estimate available_slots based on BTS config when no CCCH Load Ind received
......................................................................
Patch Set 4: Code-Review+1
(1 comment)
File src/osmo-bsc/abis_rsl.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27935/comment/4a98ade0_652d0047
PS3, Line 2344: sd.bts->ccch_load_ind_period
> Because in this path we know it's an ipaccess BTS which will keep sending CCCH Load Indication all t […]
can you put the explanation as comment in the code?
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27935
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I2df68e10eb549d62765ad3b25429f7fe2d5bb0b9
Gerrit-Change-Number: 27935
Gerrit-PatchSet: 4
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-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 12:51:57 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: osmith, laforge, fixeria.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27923 )
Change subject: Check VTY config against features reported by BTS
......................................................................
Patch Set 6:
(1 comment)
File src/osmo-bsc/bts_trx.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/071b9dc1_c2f948e9
PS4, Line 355: if (!osmo_bts_has_feature(ft, BTS_FEAT_VAMOS)) {
> Not sure this check makes sense here. I would expect that all lchans to have 'vamos. […]
that's correct.
trx_has_valid_pchan_config() is only called when Abis comes UP or before.
lchan.vamos.enabled is only set to true after chan activation.
This entire 'if' is noop code.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27923
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7fca42a39a4bc98a6ea8b9cfab28c4bad3a6a0aa
Gerrit-Change-Number: 27923
Gerrit-PatchSet: 6
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 12:50:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27957 )
Change subject: bsc: Avoid sending CCCH Load Ind (paging) when RSL C0 becomes up
......................................................................
bsc: Avoid sending CCCH Load Ind (paging) when RSL C0 becomes up
The paging CCCH Load Ind should only be sent when the BTS is over the
threshold, which is not the case when it starts up.
The BSC should underststand that the BTS under threshold and be able to
send paging requests.
Change-Id: I19a97e97ec96ba8ea2e28b1be8ac3b706b43e1b7
---
M bsc/BSC_Tests.ttcn
1 file changed, 0 insertions(+), 1 deletion(-)
Approvals:
laforge: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 2858cdf..26d47b6 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -961,7 +961,6 @@
alt {
[] IPA_RSL[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) {
T.stop;
- IPA_RSL[i].send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23)));
}
[] IPA_RSL[i].receive(ASP_IPA_Event:?) { repeat }
[] IPA_RSL[i].receive { repeat }
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27957
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: I19a97e97ec96ba8ea2e28b1be8ac3b706b43e1b7
Gerrit-Change-Number: 27957
Gerrit-PatchSet: 2
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: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-cbc/+/27982 )
Change subject: CBSP: Set Channel Indication IE in KILL for CBS
......................................................................
CBSP: Set Channel Indication IE in KILL for CBS
The channel Indicator IE shall be present if the KILL relates to a
CBS message. Its absence indicates KILL for ETWS/PWS.
Change-Id: I11bfac3236d7cf1e30ae5bae0abcbd72531ab5cd
Related: SYS#5906, OS#5540, OS#5541
---
M src/smscb_peer_fsm.c
1 file changed, 6 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/src/smscb_peer_fsm.c b/src/smscb_peer_fsm.c
index 4e431ff..49b3b1d 100644
--- a/src/smscb_peer_fsm.c
+++ b/src/smscb_peer_fsm.c
@@ -479,6 +479,12 @@
cbsp->u.kill.old_serial_nr = mp->cbcmsg->msg.serial_nr;
/* TODO: we assume that the delete will always affect all original cells */
cbsp_append_cell_list(&cbsp->u.kill.cell_list, cbsp, mp);
+ if (!mp->cbcmsg->msg.is_etws) {
+ /* Channel Indication IE is only present in CBS, not in ETWS! */
+ cbsp->u.kill.channel_ind = talloc_zero(cbsp, enum cbsp_channel_ind);
+ OSMO_ASSERT(cbsp->u.kill.channel_ind);
+ *(cbsp->u.kill.channel_ind) = CBSP_CHAN_IND_BASIC;
+ }
cbsp_cbc_client_tx(mp->peer->client.cbsp, cbsp);
osmo_fsm_inst_state_chg(fi, SMSCB_S_WAIT_DELETE_ACK, 10, T_WAIT_DELETE_ACK);
break;
--
To view, visit https://gerrit.osmocom.org/c/osmo-cbc/+/27982
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-cbc
Gerrit-Branch: master
Gerrit-Change-Id: I11bfac3236d7cf1e30ae5bae0abcbd72531ab5cd
Gerrit-Change-Number: 27982
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-cbc/+/27982 )
Change subject: CBSP: Set Channel Indication IE in KILL for CBS
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-cbc/+/27982
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-cbc
Gerrit-Branch: master
Gerrit-Change-Id: I11bfac3236d7cf1e30ae5bae0abcbd72531ab5cd
Gerrit-Change-Number: 27982
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Fri, 29 Apr 2022 11:43:13 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-cbc/+/27982 )
Change subject: CBSP: Set Channel Indication IE in KILL for CBS
......................................................................
CBSP: Set Channel Indication IE in KILL for CBS
The channel Indicator IE shall be present if the KILL relates to a
CBS message. Its absence indicates KILL for ETWS/PWS.
Change-Id: I11bfac3236d7cf1e30ae5bae0abcbd72531ab5cd
Related: SYS#5906, OS#5540, OS#5541
---
M src/smscb_peer_fsm.c
1 file changed, 6 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-cbc refs/changes/82/27982/1
diff --git a/src/smscb_peer_fsm.c b/src/smscb_peer_fsm.c
index 4e431ff..49b3b1d 100644
--- a/src/smscb_peer_fsm.c
+++ b/src/smscb_peer_fsm.c
@@ -479,6 +479,12 @@
cbsp->u.kill.old_serial_nr = mp->cbcmsg->msg.serial_nr;
/* TODO: we assume that the delete will always affect all original cells */
cbsp_append_cell_list(&cbsp->u.kill.cell_list, cbsp, mp);
+ if (!mp->cbcmsg->msg.is_etws) {
+ /* Channel Indication IE is only present in CBS, not in ETWS! */
+ cbsp->u.kill.channel_ind = talloc_zero(cbsp, enum cbsp_channel_ind);
+ OSMO_ASSERT(cbsp->u.kill.channel_ind);
+ *(cbsp->u.kill.channel_ind) = CBSP_CHAN_IND_BASIC;
+ }
cbsp_cbc_client_tx(mp->peer->client.cbsp, cbsp);
osmo_fsm_inst_state_chg(fi, SMSCB_S_WAIT_DELETE_ACK, 10, T_WAIT_DELETE_ACK);
break;
--
To view, visit https://gerrit.osmocom.org/c/osmo-cbc/+/27982
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-cbc
Gerrit-Branch: master
Gerrit-Change-Id: I11bfac3236d7cf1e30ae5bae0abcbd72531ab5cd
Gerrit-Change-Number: 27982
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange
Attention is currently required from: pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23918 )
Change subject: pcu_sock: comment out {dl,ul}_tbf_ext related warnings
......................................................................
Patch Set 4:
This change is ready for review.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23918
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Iebf9961cffbd7aa20b263f7dc0016a44782dec60
Gerrit-Change-Number: 23918
Gerrit-PatchSet: 4
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 10:37:19 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: pespin.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27958 )
Change subject: bsc: f_TC_paging_500req: Improve logging and checks
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
I think this becoems _very_ specific for implementatoin details. I would rather suggest to keep the current test case as-is (i.e.c check only that the requested number of pagings are sent) and have a separate test that checks for specific ordering or other [new/current] low-level implementation details of osmo-bsc.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27958
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: I08f93ad3170c218bf5e1847613f36e7690dc0908
Gerrit-Change-Number: 27958
Gerrit-PatchSet: 2
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: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 07:46:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27941 )
Change subject: osmo-bts-trx: rx_tchf_fn(): do not treat AFS_SID_UPDATE as SUB frame
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27941
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I46f32bbbcb6284615d05b8703945c5ca4da55b92
Gerrit-Change-Number: 27941
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: Jenkins Builder
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 29 Apr 2022 07:41:27 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment