Attention is currently required from: osmith, neels, laforge. pespin 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 4:
(8 comments)
Commit Message:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/b76cff2b_0f44ed7c PS4, Line 9: * Drop hardcoded features for osmo-bts and nanobts Be careful here, nanobts may support some features it doesn't report, since there may be feature enums which we added ourselves? So it's possibel that for nanobts we may need some? Or we can simply check bts_is_nanobts() or alike?
File include/osmocom/bsc/bts.h:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/c891f570_fae480ca PS4, Line 302: /* BTS reports features on start up. When false, BTS model features get "on start up" -> "during OML bring up".
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/55713f26_8387244c PS4, Line 303: * copied to BTS features. */ "features during object initialization". Actually, for the case of nanobts we may use both things: set up some during _init(), and some during OML bring up.
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/e8a424e5_b6c5044a PS4, Line 347: bool features_set; I'd rather call it "features_present" or "feature_available" or "features_known", features_set may drive to cofusion, like it's a set of features.
File src/osmo-bsc/bts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/10ce9564_82187e7c PS4, Line 507: if (bts->features_set) { Let's move bts global checks before the trx/ts specific checks in the llist_for_each_entry above.
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/6bcb5925_94fb34b8 PS4, Line 630: memset(bts->_features_data, 0, sizeof(bts->_features_data)); You still may want to copy them in case of nanobts.
File src/osmo-bsc/bts_ipaccess_nanobts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/c02d8b63_8871d2be PS4, Line 498: bts_model_nanobts.features_get_reported = true; I'm pretty sure this can be set when defining bts_model_nanobts directly in global scope, not here.
File src/osmo-bsc/bts_osmobts.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/27923/comment/f743f1f0_2e05ece1 PS4, Line 204: model_osmobts.features_get_reported = true; same, can be set in bts_model_nanobts directly.