Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/6387 to look at the new patch set (#3). Generate the S_L_INP_TEI_UP signal earlier. The S_L_INP_TEI_UP signal was generated when the first message from a BTS arrives on the OML/RSL link, rather than when the OML/RSL link comes up. Instead, generate this signal when the link is brought up, so we intitialize state regardless of how a particular BTS behaves. Tested with osmo-bts-virtual and virtphy/mobile programs, and with a sysmobts. Change-Id: I3b76ae6b00043e706dddc78209311e00ace85bb7 Related: OS#2719 --- M src/libbsc/bts_ipaccess_nanobts.c 1 file changed, 12 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/6387/3 diff --git a/src/libbsc/bts_ipaccess_nanobts.c b/src/libbsc/bts_ipaccess_nanobts.c index cf85961..99e178d 100644 --- a/src/libbsc/bts_ipaccess_nanobts.c +++ b/src/libbsc/bts_ipaccess_nanobts.c @@ -438,6 +438,11 @@ bts->oml_tei, 0); rc = clock_gettime(CLOCK_MONOTONIC, &tp); bts->uptime = (rc < 0) ? 0 : tp.tv_sec; /* we don't need sub-second precision for uptime */ + if (!(sign_link->trx->bts->ip_access.flags & OML_UP)) { + e1inp_event(sign_link->ts, S_L_INP_TEI_UP, + sign_link->tei, sign_link->sapi); + sign_link->trx->bts->ip_access.flags |= OML_UP; + } break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -458,6 +463,13 @@ e1inp_sign_link_create(ts, E1INP_SIGN_RSL, trx, trx->rsl_tei, 0); trx->rsl_link->ts->sign.delay = 0; + if (!(sign_link->trx->bts->ip_access.flags & + (RSL_UP << sign_link->trx->nr))) { + e1inp_event(sign_link->ts, S_L_INP_TEI_UP, + sign_link->tei, sign_link->sapi); + sign_link->trx->bts->ip_access.flags |= + (RSL_UP << sign_link->trx->nr); + } break; } default: @@ -490,25 +502,12 @@ { int ret = 0; struct e1inp_sign_link *link = msg->dst; - struct e1inp_ts *e1i_ts = link->ts; switch (link->type) { case E1INP_SIGN_RSL: - if (!(link->trx->bts->ip_access.flags & - (RSL_UP << link->trx->nr))) { - e1inp_event(e1i_ts, S_L_INP_TEI_UP, - link->tei, link->sapi); - link->trx->bts->ip_access.flags |= - (RSL_UP << link->trx->nr); - } ret = abis_rsl_rcvmsg(msg); break; case E1INP_SIGN_OML: - if (!(link->trx->bts->ip_access.flags & OML_UP)) { - e1inp_event(e1i_ts, S_L_INP_TEI_UP, - link->tei, link->sapi); - link->trx->bts->ip_access.flags |= OML_UP; - } ret = abis_nm_rcvmsg(msg); break; default: -- To view, visit https://gerrit.osmocom.org/6387 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3b76ae6b00043e706dddc78209311e00ace85bb7 Gerrit-PatchSet: 3 Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Owner: Stefan Sperling <ssperl...@sysmocom.de> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Stefan Sperling <ssperl...@sysmocom.de>