laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/34359?usp=email )

 (

6 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted 
one.
 )Change subject: abis_nm: send Get Attributes to Rado Carrier MO(s)
......................................................................

abis_nm: send Get Attributes to Rado Carrier MO(s)

Change-Id: If7b75689c12a253377f2747babd4d7ebd1db5f87
Related: OS#4505
---
M src/osmo-bsc/nm_rcarrier_fsm.c
1 file changed, 41 insertions(+), 0 deletions(-)

Approvals:
  pespin: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/src/osmo-bsc/nm_rcarrier_fsm.c b/src/osmo-bsc/nm_rcarrier_fsm.c
index 9f8f5f3..7ba7ea5 100644
--- a/src/osmo-bsc/nm_rcarrier_fsm.c
+++ b/src/osmo-bsc/nm_rcarrier_fsm.c
@@ -59,6 +59,8 @@
        struct gsm_bts_trx *trx = (struct gsm_bts_trx *)fi->priv;

        trx->mo.sw_act_rep_received = false;
+       trx->mo.get_attr_sent = false;
+       trx->mo.get_attr_rep_received = false;
        trx->mo.set_attr_sent = false;
        trx->mo.set_attr_ack_received = false;
        trx->mo.adm_unlock_sent = false;
@@ -113,6 +115,23 @@
        if (is_nanobts(trx->bts) && !trx->mo.sw_act_rep_received)
                return;

+       if (!trx->mo.get_attr_sent && !trx->mo.get_attr_rep_received) {
+               uint8_t attr_buf[2]; /* enlarge if needed */
+               uint8_t *ptr = &attr_buf[0];
+
+               *(ptr++) = NM_ATT_SW_CONFIG;
+               if (is_ipa_abisip_bts(trx->bts))
+                       *(ptr++) = NM_ATT_IPACC_SUPP_FEATURES;
+
+               OSMO_ASSERT((ptr - attr_buf) <= sizeof(attr_buf));
+               abis_nm_get_attr(trx->bts, NM_OC_RADIO_CARRIER,
+                                trx->bts->bts_nr, trx->nr, 0xff,
+                                &attr_buf[0], (ptr - attr_buf));
+               trx->mo.get_attr_sent = true;
+       }
+
+       /* OS#6172: old osmo-bts versions do NACK Get Attributes for Radio 
Carrier,
+        * so we do not check if trx->mo.get_attr_rep_received is set here. */
        if (!trx->mo.set_attr_sent && !trx->mo.set_attr_ack_received) {
                trx->mo.set_attr_sent = true;
                msgb = nanobts_gen_set_radio_attr(trx->bts, trx);
@@ -164,6 +183,11 @@
                trx->mo.sw_act_rep_received = true;
                configure_loop(trx, &trx->mo.nm_state, false);
                break;
+       case NM_EV_GET_ATTR_REP:
+               trx->mo.get_attr_rep_received = true;
+               trx->mo.get_attr_sent = false;
+               configure_loop(trx, &trx->mo.nm_state, false);
+               return;
        case NM_EV_SET_ATTR_ACK:
                trx->mo.set_attr_ack_received = true;
                trx->mo.set_attr_sent = false;
@@ -218,6 +242,11 @@
                trx->mo.sw_act_rep_received = true;
                configure_loop(trx, &trx->mo.nm_state, true);
                break;
+       case NM_EV_GET_ATTR_REP:
+               trx->mo.get_attr_rep_received = true;
+               trx->mo.get_attr_sent = false;
+               configure_loop(trx, &trx->mo.nm_state, true);
+               return;
        case NM_EV_SET_ATTR_ACK:
                trx->mo.set_attr_ack_received = true;
                trx->mo.set_attr_sent = false;
@@ -367,6 +396,7 @@
                .in_event_mask =
                        X(NM_EV_SW_ACT_REP) |
                        X(NM_EV_STATE_CHG_REP) |
+                       X(NM_EV_GET_ATTR_REP) |
                        X(NM_EV_SET_ATTR_ACK) |
                        X(NM_EV_SETUP_RAMP_READY),
                .out_state_mask =
@@ -381,6 +411,7 @@
                .in_event_mask =
                        X(NM_EV_SW_ACT_REP) |
                        X(NM_EV_STATE_CHG_REP) |
+                       X(NM_EV_GET_ATTR_REP) |
                        X(NM_EV_SET_ATTR_ACK) |
                        X(NM_EV_SETUP_RAMP_READY),
                .out_state_mask =

--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/34359?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: If7b75689c12a253377f2747babd4d7ebd1db5f87
Gerrit-Change-Number: 34359
Gerrit-PatchSet: 7
Gerrit-Owner: fixeria <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to