osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27923 )
Change subject: osmobts: list all features of latest osmobts
......................................................................
osmobts: list all features of latest osmobts
List all features available in OsmoBTS, at least with one backend and
explain in a comment that this list is used until the BTS reports the
actual feature list.
Related: SYS#5922, OS#5538
Change-Id: I7fca42a39a4bc98a6ea8b9cfab28c4bad3a6a0aa
---
M src/osmo-bsc/bts_ipaccess_nanobts.c
M src/osmo-bsc/bts_osmobts.c
2 files changed, 23 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/27923/1
diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c
index 1df6537..fde15a2 100644
--- a/src/osmo-bsc/bts_ipaccess_nanobts.c
+++ b/src/osmo-bsc/bts_ipaccess_nanobts.c
@@ -499,6 +499,8 @@
bts_model_nanobts.features.data_len =
sizeof(bts_model_nanobts._features_data);
+ /* List of features to be used e.g. during VTY config parsing until the
+ * actual feature set has been reported. */
osmo_bts_set_feature(&bts_model_nanobts.features, BTS_FEAT_GPRS);
osmo_bts_set_feature(&bts_model_nanobts.features, BTS_FEAT_EGPRS);
osmo_bts_set_feature(&bts_model_nanobts.features, BTS_FEAT_MULTI_TSC);
diff --git a/src/osmo-bsc/bts_osmobts.c b/src/osmo-bsc/bts_osmobts.c
index ca5ddb2..8cbdc3e 100644
--- a/src/osmo-bsc/bts_osmobts.c
+++ b/src/osmo-bsc/bts_osmobts.c
@@ -206,12 +206,32 @@
memset(model_osmobts.features.data, 0, model_osmobts.features.data_len);
/* Order alphabetically and remember to adjust bts_init/bts_model_init
- * in OsmoBTS to report new features. */
+ * in OsmoBTS to report new features. Below should be all features that
+ * the newest version of OsmoBTS supports, this will be used e.g.
+ * during VTY config parsing until the actual feature set has been
+ * reported. */
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_ABIS_OSMO_PCU);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_ACCH_REP);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_ACCH_TEMP_OVP);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_AGCH_PCH_PROP);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_BCCH_POWER_RED);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_CBCH);
osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_CCN);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_DYN_TS_SDCCH8);
osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_EGPRS);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_ETWS_PN);
osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_GPRS);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_HOPPING);
osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_IPV6_NSVC);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_MULTI_TSC);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_OML_ALERTS);
osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_PAGING_COORDINATION);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_SPEECH_F_AMR);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_SPEECH_F_EFR);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_SPEECH_F_V1);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_SPEECH_H_AMR);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_SPEECH_H_V1);
+ osmo_bts_set_feature(&model_osmobts.features, BTS_FEAT_VAMOS);
model_osmobts.nm_att_tlvdef.def[NM_ATT_OSMO_NS_LINK_CFG].type = TLV_TYPE_TL16V;
--
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: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27921 )
Change subject: Always use reported features if available
......................................................................
Always use reported features if available
Instead of sometimes checking against hardcoded BTS model features, and
sometimes against features reported at runtime (which only some BTS
models do):
* copy the hardcoded BTS model features to BTS features initially
* do all checks against BTS features
Related: SYS#5922, OS#5538
Change-Id: Idf2d933aa8b03b1f708e56a08707fe6c620a97aa
---
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_trx_vty.c
M src/osmo-bsc/system_information.c
3 files changed, 14 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/27921/1
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index 774384f..54d9cdd 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -615,6 +615,13 @@
int gsm_set_bts_model(struct gsm_bts *bts, struct gsm_bts_model *model)
{
bts->model = model;
+
+ /* Copy hardcoded feature list from BTS model. For some BTS we support
+ * reporting features at runtime (as of writing nanobts, OsmoBTS),
+ * which will then replace this list. */
+ if (model)
+ memcpy(bts->_features_data, bts->model->_features_data, sizeof(bts->_features_data));
+
return 0;
}
@@ -683,11 +690,11 @@
int bts_gprs_mode_is_compat(struct gsm_bts *bts, enum bts_gprs_mode mode)
{
if (mode != BTS_GPRS_NONE &&
- !osmo_bts_has_feature(&bts->model->features, BTS_FEAT_GPRS)) {
+ !osmo_bts_has_feature(&bts->features, BTS_FEAT_GPRS)) {
return 0;
}
if (mode == BTS_GPRS_EGPRS &&
- !osmo_bts_has_feature(&bts->model->features, BTS_FEAT_EGPRS)) {
+ !osmo_bts_has_feature(&bts->features, BTS_FEAT_EGPRS)) {
return 0;
}
diff --git a/src/osmo-bsc/bts_trx_vty.c b/src/osmo-bsc/bts_trx_vty.c
index 39584a5..74f6655 100644
--- a/src/osmo-bsc/bts_trx_vty.c
+++ b/src/osmo-bsc/bts_trx_vty.c
@@ -317,7 +317,7 @@
{
struct gsm_bts_trx_ts *ts = vty->index;
- if (!osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_MULTI_TSC)) {
+ if (!osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_MULTI_TSC)) {
vty_out(vty, "%% This BTS does not support a TSC != BCC, "
"falling back to BCC%s", VTY_NEWLINE);
ts->tsc = -1;
@@ -341,11 +341,9 @@
struct gsm_bts_trx_ts *ts = vty->index;
int enabled = atoi(argv[0]);
- if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) {
- vty_out(vty, "%% BTS model does not seem to support freq. hopping%s", VTY_NEWLINE);
- /* Allow enabling frequency hopping anyway, because the BTS might not have
- * connected yet (thus not sent the feature vector), so we cannot know for
- * sure. Jet print a warning and let it go. */
+ if (enabled && !osmo_bts_has_feature(&ts->trx->bts->features, BTS_FEAT_HOPPING)) {
+ vty_out(vty, "%% BTS model does not support freq. hopping%s", VTY_NEWLINE);
+ return CMD_WARNING;
}
ts->hopping.enabled = enabled;
diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c
index 187678d..48f7453 100644
--- a/src/osmo-bsc/system_information.c
+++ b/src/osmo-bsc/system_information.c
@@ -1270,8 +1270,7 @@
si13_info.cell_opts.ext_info.ccn_active = bts->gprs.ccn.forced_vty ?
bts->gprs.ccn.active :
- osmo_bts_has_feature(&bts->model->features,
- BTS_FEAT_CCN);
+ osmo_bts_has_feature(&bts->features, BTS_FEAT_CCN);
ret = osmo_gsm48_rest_octets_si13_encode(si13->rest_octets, &si13_info);
if (ret < 0)
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27921
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Idf2d933aa8b03b1f708e56a08707fe6c620a97aa
Gerrit-Change-Number: 27921
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27919 )
Change subject: abis_nm: don't compare assumed/reported features
......................................................................
abis_nm: don't compare assumed/reported features
Just log all reported features, instead of comparing them against an
expected set of features and logging mismatches. The point of reporting
features from the BTS at runtime is that the BSC can support various BTS
versions with various feature sets.
Related: SYS#5922, OS#5538
Change-Id: Ibd79bc7ef802d8e95e05d746df182ff974b78e29
---
M src/osmo-bsc/abis_nm.c
1 file changed, 6 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/19/27919/1
diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c
index 1c21bc2..f8e392e 100644
--- a/src/osmo-bsc/abis_nm.c
+++ b/src/osmo-bsc/abis_nm.c
@@ -597,19 +597,17 @@
/* Check each BTS feature in the reported vector */
for (i = 0; i < len * 8; i++) {
- bool Frep = osmo_bts_has_feature(&bts->features, i);
- if (i >= _NUM_BTS_FEAT && Frep) {
+ if (!osmo_bts_has_feature(&bts->features, i))
+ continue;
+
+ if (i >= _NUM_BTS_FEAT) {
LOGPMO(&bts->mo, DNM, LOGL_NOTICE, "Get Attributes Response: "
"unknown feature 0x%02x. Consider upgrading osmo-bsc.\n", i);
continue;
}
- bool Fexp = osmo_bts_has_feature(&bts->model->features, i);
- if (!Frep && Fexp) {
- LOGPMO(&bts->mo, DNM, LOGL_NOTICE, "Get Attributes Response: "
- "reported feature '%s' is not supported, while we thought it is.\n",
- osmo_bts_features_name(i));
- }
+ LOGPMO(&bts->mo, DNM, LOGL_NOTICE, "Get Attributes Response: feature '%s' is supported\n",
+ osmo_bts_features_name(i));
}
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27919
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ibd79bc7ef802d8e95e05d746df182ff974b78e29
Gerrit-Change-Number: 27919
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: laforge, pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27885 )
Change subject: paging: Submit up to 20 paging requests in a single work iteration
......................................................................
Patch Set 5:
(2 comments)
File src/osmo-bsc/paging.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27885/comment/ce60acb6_957ad82b
PS3, Line 210: struct gsm_paging_request, entry);
> Alignment needs to be fixed.
Done
https://gerrit.osmocom.org/c/osmo-bsc/+/27885/comment/9586c9f5_52206ab8
PS3, Line 243: } while (request != initial_request && num_paged < MAX_PAGE_REQ_PER_ITER);
> If we have two: [A, B] […]
Thanks, this is clear now.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27885
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I609fa67834b426456f48f6fb2acb601c5905f178
Gerrit-Change-Number: 27885
Gerrit-PatchSet: 5
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 25 Apr 2022 10:21:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: laforge, fixeria.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/27885
to look at the new patch set (#5).
Change subject: paging: Submit up to 20 paging requests in a single work iteration
......................................................................
paging: Submit up to 20 paging requests in a single work iteration
Having one paging request being sent every PAGING_TIMER (500msec) is too
slow in case BSC is serving lots of subscribers on a BTS. Hence, we want
to send many paging requests at once while still trying not to fill the
BTS buffer.
Morever, we don't want to send tons of paging requests at once, hence we
limit the amount of paging requests sent in one timer iteration
(MAX_PAGE_REQ_PER_ITER) in order to avoid the BSC doing lots of work
there at once, keeping it busy from processing other tasks.
Related: SYS#5922
Change-Id: I609fa67834b426456f48f6fb2acb601c5905f178
---
M src/osmo-bsc/paging.c
1 file changed, 48 insertions(+), 34 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/27885/5
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27885
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I609fa67834b426456f48f6fb2acb601c5905f178
Gerrit-Change-Number: 27885
Gerrit-PatchSet: 5
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: laforge, fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27885 )
Change subject: paging: Submit up to 20 paging requests in a single work iteration
......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS3:
> aside from fixeria's comments: I'd appreciate some kind of illustration why 20 was chosen. […]
First of all, this is not alone the ultimae fix/improvmement for this code, see it as a quick improvement fixed the problem spotted in SYS#5922 where basically we saw that osmo-bsc schedules paging at a rate of 2 sec (due to scheduling 1 pag_req every 0.5 secs).
Since in there we saw figures of ~210 req/m = ~3.5 req/s, that meant we need a rate >=4 req/s.
Since I also saw 20 to be the amount of slots provided by the credit timer, I also though sending 20 at once was acceptable. I didn't do a big analysis and I could go for a smaller number, like 10. But as I said in the end I expect this to be a quick & temporary improvement step.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27885
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I609fa67834b426456f48f6fb2acb601c5905f178
Gerrit-Change-Number: 27885
Gerrit-PatchSet: 4
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 25 Apr 2022 10:08:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment