Harald Welte has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/12893 )

Change subject: OML: Store merged attributes of IPA OML Managed Objects
......................................................................

OML: Store merged attributes of IPA OML Managed Objects

For the TS 12.21 standard OML attributes, we store a copy of the
most-recently set value for each attribute in "mo->nm_attr".  This
somehow was missed when adding support for the IPA specific MOs like
those relevant for GPRS.

Change-Id: I75ebda46da9c1fcecc484311bf3833f31c536ee1
---
M src/common/oml.c
1 file changed, 10 insertions(+), 2 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/common/oml.c b/src/common/oml.c
index e544b57..b04caf6 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -1308,8 +1308,8 @@
 static int oml_ipa_set_attr(struct gsm_bts *bts, struct msgb *msg)
 {
        struct abis_om_fom_hdr *foh = msgb_l3(msg);
-       const struct gsm_abis_mo *mo;
-       struct tlv_parsed tp;
+       struct gsm_abis_mo *mo;
+       struct tlv_parsed tp, *tp_merged;
        void *obj;
        int rc;

@@ -1334,6 +1334,14 @@
                return oml_fom_ack_nack(msg, NM_NACK_OBJINST_UNKN);

        rc = oml_ipa_mo_set_attr(bts, mo, obj, &tp);
+       if (rc == 0) {
+               /* Success: replace old MO attributes with new */
+               /* merge existing MO attributes with new attributes */
+               tp_merged = osmo_tlvp_copy(mo->nm_attr, bts);
+               osmo_tlvp_merge(tp_merged, &tp);
+               talloc_free(mo->nm_attr);
+               mo->nm_attr = tp_merged;
+       }

        return oml_fom_ack_nack(msg, rc);
 }

--
To view, visit https://gerrit.osmocom.org/12893
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I75ebda46da9c1fcecc484311bf3833f31c536ee1
Gerrit-Change-Number: 12893
Gerrit-PatchSet: 2
Gerrit-Owner: Harald Welte <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Pau Espin Pedrol <[email protected]>
Gerrit-Reviewer: daniel <[email protected]>
Gerrit-CC: Max <[email protected]>

Reply via email to