Project

General

Profile

Actions

Bug #5992

closed

osmo-bts: Handle Opstart result from within nm_*_fsm

Added by pespin about 1 year ago. Updated about 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
04/03/2023
Due date:
% Done:

100%

Spec Reference:

Description

Right now, when BSC transmits an OPSTART message to osmo-bts, it is handled by common OML code in oml_rx_opstart(), which then calls BTS specific code bts_model_opstart().
This bts_mode_opstart() (hence each BTS type-specific implementation) dispatches an event to the related NM object depending on whether it went well or not: NM_EV_OPSTART_ACK or NM_EV_OPSTART_NACK

This means the FSM has not saying in whether an OPSTART should be ACKED or not, even before calling BTS low level specific implementation.
As a result, there's no easy way to for instance NACK an OPSTART if no attributes were yet applied for that NM object, or if the object is administratively locked, etc.

In order to do so, we should add a new FSM event NM_EV_RX_OML_OPSTART or alike. Each NM object should, when in proper state (DisabledOffline), call bts_mode_opstart() and if it returns an error, then send NM_EV_OPSTART_NACK.

Tip: according to TS 12.21, BTS is expected to answer with OPSTART ACK/NACK rather quickly, not necessarily after having went all the way Enabled. It's more only about signalling that it got the message and that it started the transition to Enabled state.


Related issues

Related to OsmoBTS - Bug #5961: BTS accepts OPSTART without prior SET ATTRIBUTESResolvedpespin03/26/2023

Actions
Actions #1

Updated by pespin about 1 year ago

  • Related to Bug #5961: BTS accepts OPSTART without prior SET ATTRIBUTES added
Actions #2

Updated by pespin about 1 year ago

Same applies for SetAttr:

    NM_EV_SETATTR_ACK, /* data: struct nm_fsm_ev_setattr_data */
    NM_EV_SETATTR_NACK, /* data: struct nm_fsm_ev_setattr_data */

Actions #3

Updated by pespin about 1 year ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 90

remote: https://gerrit.osmocom.org/c/osmo-bts/+/32211 nm: Apply OPSTART through NM FSMs [NEW]
remote: https://gerrit.osmocom.org/c/osmo-bts/+/32212 NM: NACK received OML OPSTART if no attributes were set beforehand [NEW]

Can be closed when these patches are merged.

Actions #4

Updated by pespin about 1 year ago

  • Subject changed from osmo-bts: Handle Opstart result from withing nm_*_fsm to osmo-bts: Handle Opstart result from within nm_*_fsm
Actions #5

Updated by pespin about 1 year ago

  • Status changed from Feedback to Resolved
  • % Done changed from 90 to 100

Merged, closing.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)