Attention is currently required from: fixeria, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/29788
to look at the new patch set (#3).
Change subject: Add BTS setup ramping to prevent BSC overloading
......................................................................
Add BTS setup ramping to prevent BSC overloading
Prevent BSC overloading in the event of too many BTS try to connect.
E.g. a network outage between the BSC and BTS.
The BSC will accept incoming OML connection, but will delay sending
any BSC originated messages.
Change-Id: Id56dde6d58f3d0d20352f6c306598d2cccc6345d
---
M include/osmocom/bsc/bts.h
A include/osmocom/bsc/bts_setup_ramp.h
M include/osmocom/bsc/gsm_data.h
M include/osmocom/bsc/nm_common_fsm.h
M src/osmo-bsc/Makefile.am
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_ipaccess_nanobts.c
A src/osmo-bsc/bts_setup_ramp.c
M src/osmo-bsc/bts_vty.c
M src/osmo-bsc/net_init.c
M src/osmo-bsc/nm_bb_transc_fsm.c
M src/osmo-bsc/nm_bts_fsm.c
M src/osmo-bsc/nm_bts_sm_fsm.c
M src/osmo-bsc/nm_channel_fsm.c
M src/osmo-bsc/nm_gprs_cell_fsm.c
M src/osmo-bsc/nm_gprs_nse_fsm.c
M src/osmo-bsc/nm_gprs_nsvc_fsm.c
M src/osmo-bsc/nm_rcarrier_fsm.c
M src/osmo-bsc/osmo_bsc_main.c
20 files changed, 447 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/29788/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/29788
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Id56dde6d58f3d0d20352f6c306598d2cccc6345d
Gerrit-Change-Number: 29788
Gerrit-PatchSet: 3
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria, pespin.
lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/29788 )
Change subject: Add BTS ramping to prevent mass configuration of BTS at the same time
......................................................................
Patch Set 2:
(18 comments)
File include/osmocom/bsc/nm_bts_ramp.h:
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/ad12c6c4_54bb19b4
PS1, Line 36: bool bts_ramp_active(struct gsm_network *net);
> bts_ramp ("BTS ramp" concept I already saw written in the commit decription) is too generic. […]
Ack
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/b4e342dd_b2dc3d9f
PS1, Line 40: /*!
> All this documentation we always put it in the .c file.
Do you know why? I would expect to see this documentation in the header and not in the file. Doxygen in the file only for internal functions which aren't defined in the header.
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/66a2b7b6_63fb4885
PS1, Line 43: * \param max_bts allow how many bts to provision
> how many concurrent right? so max_concurrent_bts.
Ack
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/c89f4abe_ac21f0d4
PS1, Line 65: * \brief bts_ramp_unblock_bts
> IMprove documentation on what unblock means here.
Done
File src/osmo-bsc/bsc_vty.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/a8acbf69_d129d671
PS1, Line 1284: "allow-bts-configuration <0-65535>",
> Unfortunately we have a mix of two different command styles: a) 'COMMAND <0-255>' and b) 'bts <0-255 […]
copy paste from drop bts connection.
reduced it to 8 bit
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/22538ed9_86518798
PS1, Line 1284: 65535
> Not sure if OML allows to address more than 256 BTS instances, but ok.
Done
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/6ccb7d11_217052dc
PS1, Line 1284: "allow-bts-configuration <0-65535>",
> bts-unblock-bringup-ramping? The "allow-bts-configuration" thing is not really descriptivie, it's to […]
Done
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/ac973332_d6299085
PS1, Line 2659: vty_out(vty, " bts ramp limit %d within %d seconds%s",
> description all way to generic. […]
I've changed it as fixeria suggested.
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/f3bc032f_146ed753
PS1, Line 3087: "bts ramp limit <0-999> within <0-999> seconds",
> We already have "access-control-class-ramping" set of commands in osmo-bsc and "power-ramp" set of c […]
I like to have this in one line as this feature doesn't have a complex configuration.
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/9aa22a11_f447663e
PS1, Line 3087: bts ramp limit
> I suggest to rework this command as follows: […]
Done
File src/osmo-bsc/nm_bts_fsm.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/733ba432_5f2feeff
PS1, Line 92: struct gsm_bts *bts,
> weird [mis]alignment
Done
File src/osmo-bsc/nm_bts_ramp.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/6bc83e15_4a865ef0
PS1, Line 63: if (llist_entry_empty(&bts->bts_ramp.list))
> did you think about initing the list during constructor time? then you wouldn't need this kind of st […]
I don't like to have this llist set to itself. (INIT_LLIST_HEAD)
We don't have a function to set it to POISON.
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/1cebe6b7_16ce86c7
PS1, Line 86: net->bts_ramp.count >= net->bts_ramp.max_bts)
> wrong indentation
Fixed.
Shouldn't we have a linter now which creates comments in the gerrit review? (Sorry I'm asking here, I would like to have a linter which shows me warnings. None of us should take care of indention while reviewing. I'll check some user space linters later.)
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/ea734258_89ec0a00
PS1, Line 113: void bts_ramp_deactivate(struct gsm_network *net)
> bts_ramp_disable.
Ack
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/897f0c67_88db968e
PS1, Line 121: bool bts_ramp_active(struct gsm_network *net)
> "active" would be count < max_bts. […]
will rename it to enabled.
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/f918b2db_c1397fc7
PS1, Line 143: OSMO_ASSERT(llist_entry_empty(&bts->bts_ramp.list));
> if you remove the BTS previously using bts_ramp_remove() then this will most probably assert.
Removed the assert. A warning would be okay, but I don't see a reason to assert here. It's not a big problem if the BTS just move forward.
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/bc81dc45_f4528db2
PS1, Line 172: if (!llist_entry_empty(&bts->bts_ramp.list))
> does this API check if the list is all zeroed?
it does.
File src/osmo-bsc/nm_bts_sm_fsm.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/29788/comment/f09779c7_2dc90b98
PS1, Line 162: case NM_EV_RAMP_GO:
> You should call configure_loop() here instead of copying the code again.
Yes. I forgot to drop it again. It's dead code.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/29788
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Id56dde6d58f3d0d20352f6c306598d2cccc6345d
Gerrit-Change-Number: 29788
Gerrit-PatchSet: 2
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 19 Oct 2022 03:12:35 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
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: lynxis lazus.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/29788
to look at the new patch set (#2).
Change subject: Add BTS ramping to prevent mass configuration of BTS at the same time
......................................................................
Add BTS ramping to prevent mass configuration of BTS at the same time
Prevent BSC overloading in the event of too many BTS try to connect.
E.g. a network outage between the BSC and BTS.
The BSC will accept incoming OML connection, but will delay sending
any BSC originated messages.
Change-Id: Id56dde6d58f3d0d20352f6c306598d2cccc6345d
---
M include/osmocom/bsc/bts.h
A include/osmocom/bsc/bts_setup_ramp.h
M include/osmocom/bsc/gsm_data.h
M include/osmocom/bsc/nm_common_fsm.h
M src/osmo-bsc/Makefile.am
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_ipaccess_nanobts.c
A src/osmo-bsc/bts_setup_ramp.c
M src/osmo-bsc/bts_vty.c
M src/osmo-bsc/net_init.c
M src/osmo-bsc/nm_bb_transc_fsm.c
M src/osmo-bsc/nm_bts_fsm.c
M src/osmo-bsc/nm_bts_sm_fsm.c
M src/osmo-bsc/nm_channel_fsm.c
M src/osmo-bsc/nm_gprs_cell_fsm.c
M src/osmo-bsc/nm_gprs_nse_fsm.c
M src/osmo-bsc/nm_gprs_nsvc_fsm.c
M src/osmo-bsc/nm_rcarrier_fsm.c
M src/osmo-bsc/osmo_bsc_main.c
20 files changed, 447 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/29788/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/29788
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Id56dde6d58f3d0d20352f6c306598d2cccc6345d
Gerrit-Change-Number: 29788
Gerrit-PatchSet: 2
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-MessageType: newpatchset
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/29796 )
Change subject: vty: Make use of new mgcp_client_pool_config_write() API
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
There seems to be some unidentified problem with the linter job here.
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/29796
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ic473fe05c55e8df3eddedf0260ec04b6fefc501f
Gerrit-Change-Number: 29796
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Tue, 18 Oct 2022 16:30:20 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: pespin, fixeria, daniel, dexter.
Hello osmith, Jenkins Builder, fixeria, daniel, dexter,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-msc/+/29782
to look at the new patch set (#8).
Change subject: Introduce support for libosmo-mgcp-client MGW pooling
......................................................................
Introduce support for libosmo-mgcp-client MGW pooling
Large RAN installations may benefit from distributing the RTP voice
stream load over multiple media gateways.
libosmo-mgcp-client supports MGW pooling since version 1.8.0 (more than
one year ago). OsmoBSC has already been making use of it since then (see
osmo-bsc.git 8d22e6870637ed6d392a8a77aeaebc51b23a8a50); lets use this
feature in osmo-msc too.
This commit is also part of a series of patches cleaning up
libosmo-mgcp-client and slowly getting rid of the old non-mgw-pooled VTY
configuration, in order to keep only 1 way to configure
libosmo-mgcp-client through VTY.
Related: SYS#5091
Related: SYS#5987
Change-Id: I7670ba56fe989706579224a364595fdd4b4708ff
---
M doc/examples/osmo-msc/osmo-msc.cfg
M doc/examples/osmo-msc/osmo-msc_custom-sccp.cfg
M doc/examples/osmo-msc/osmo-msc_multi-cs7.cfg
M doc/manuals/chapters/running.adoc
M include/osmocom/msc/gsm_data.h
M include/osmocom/msc/vty.h
M src/libmsc/call_leg.c
M src/libmsc/msc_vty.c
M src/osmo-msc/msc_main.c
M tests/msc_vlr/msc_vlr_tests.c
M tests/test_nodes.vty
11 files changed, 94 insertions(+), 28 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/82/29782/8
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/29782
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I7670ba56fe989706579224a364595fdd4b4708ff
Gerrit-Change-Number: 29782
Gerrit-PatchSet: 8
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/29795
to look at the new patch set (#3).
Change subject: mgcp-client: Introduce API mgcp_client_pool_config_write
......................................................................
mgcp-client: Introduce API mgcp_client_pool_config_write
It is not a good idea to use a personal write_config function for the
MGW node, since it's not meant to be a 1st level (top) node.
During write-config the node function will be called at an
implementation specific time (based on the order defined by the app in
the node type enum), so there's no real way to control that the output
of the MGW node will end up under the parent configured in
mgcp_client_pool_vty_init(). As mentioned the order can be tweaked based
on how the node enums are configured, installed, etc. but that's really
a nightmare, so let's better not rely on that.
Therefore, this patch introduces a new API which the users (apps such as
OsmoBSc and OsmoMSC) can use to write the config at the required time
(when writing its own parent node).
A hack is introduced internally to detect older versions of the users
which didn't call this function to still print stuff (up to to the app
if the order is correct).
Related: SYS#5987
Change-Id: I7a620cf47886d8ecab30ce369cf123d98ab842c5
---
M TODO-RELEASE
M include/osmocom/mgcp_client/mgcp_client_pool.h
M src/libosmo-mgcp-client/mgcp_client_vty.c
3 files changed, 47 insertions(+), 13 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/95/29795/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/29795
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I7a620cf47886d8ecab30ce369cf123d98ab842c5
Gerrit-Change-Number: 29795
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/29797 )
Change subject: vty: Make use of new mgcp_client_pool_config_write() API
......................................................................
vty: Make use of new mgcp_client_pool_config_write() API
Let's use the new API available in libosmo-mgcp-client to control more
consciously where the mgw pool config is printed.
Before this patch, the place where the node was printed was defined
based on implementation details on how the enum of nodes are defined and
installed.
Change-Id: Ib2f04d96ca846d2d61af0b0c0ea1924609004952
Related: SYS#5987
Depends: osmo-mgw.git Change-Id I7a620cf47886d8ecab30ce369cf123d98ab842c5
---
M TODO-RELEASE
M src/osmo-bsc/bsc_vty.c
2 files changed, 3 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/29797/1
diff --git a/TODO-RELEASE b/TODO-RELEASE
index d56a416..6dc738a 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -9,4 +9,4 @@
#library what description / commit summary line
libosmogsm >1.7.0 BTS_FEAT_OSMUX, RSL_IE_OSMO_OSMUX_CID
libosmocore >1.7.0 vty hexadecimal range support (location_area_code)
-libosmomgcp-client >1.10.0 mgcp_client_pool_member_...()
+libosmomgcp-client >1.10.0 mgcp_client_pool_member_...(), mgcp_client_pool_config_write()
\ No newline at end of file
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index d32baf8..11fcfad 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -406,6 +406,7 @@
}
neighbor_ident_vty_write_network(vty, " ");
+ mgcp_client_pool_config_write(vty, " ");
return CMD_SUCCESS;
}
@@ -3455,7 +3456,7 @@
install_element(GSMNET_NODE, &cfg_net_nri_null_del_cmd);
bts_vty_init();
- mgcp_client_pool_vty_init(GSMNET_NODE, MGW_NODE, " ", vty_global_gsm_network->mgw.mgw_pool);
+ mgcp_client_pool_vty_init(GSMNET_NODE, MGW_NODE, NULL, vty_global_gsm_network->mgw.mgw_pool);
install_element(ENABLE_NODE, &drop_bts_cmd);
install_element(ENABLE_NODE, &restart_bts_cmd);
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/29797
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ib2f04d96ca846d2d61af0b0c0ea1924609004952
Gerrit-Change-Number: 29797
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-mgw/+/29795
to look at the new patch set (#2).
Change subject: mgcp-client: Introduce API mgcp_client_pool_config_write
......................................................................
mgcp-client: Introduce API mgcp_client_pool_config_write
It is not a good idea to use a personal write_config function for the
MGW node, since it's not meant to be a 1st level (top) node.
During write-config the node function will be called at an
implementation specific time (based on the order defined by the app in
the node type enum), so there's no real way to control that the output
of the MGW node will end up under the parent configured in
mgcp_client_pool_vty_init(). As mentioned the order can be tweaked based
on how the node enums are configured, installed, etc. but that's really
a nightmare, so let's better not rely on that.
Therefore, this patch introduces a new API which the users (apps such as
OsmoBSc and OsmoMSC) can use to write the config at the required time
(when writing its own parent node).
A hack is introduced internally to detect older versions of the users
which didn't call this function to still print stuff (up to to the app
if the order is correct).
Related: SYS#5987
Change-Id: I7a620cf47886d8ecab30ce369cf123d98ab842c5
---
M TODO-RELEASE
M include/osmocom/mgcp_client/mgcp_client_pool.h
M src/libosmo-mgcp-client/mgcp_client_vty.c
3 files changed, 42 insertions(+), 13 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/95/29795/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/29795
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I7a620cf47886d8ecab30ce369cf123d98ab842c5
Gerrit-Change-Number: 29795
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset