Change in osmo-bsc[master]: abis_nm: Split handling of Attribute Response Info into its own func

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Thu Nov 8 16:05:10 UTC 2018


Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/11692


Change subject: abis_nm: Split handling of Attribute Response Info into its own func
......................................................................

abis_nm: Split handling of Attribute Response Info into its own func

In future commits, nanoBTS support will be added, which implements its
own format not exactly equal to specs Attribute Response Info.

Related: OS#3624
Change-Id: I346dacc58faac70e6d224ca49484f9211cb8a046
---
M src/osmo-bsc/abis_nm.c
1 file changed, 21 insertions(+), 11 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/11692/1

diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c
index ef61f9e..aec4a58 100644
--- a/src/osmo-bsc/abis_nm.c
+++ b/src/osmo-bsc/abis_nm.c
@@ -528,29 +528,21 @@
 }
 
 /* Handle 3GPP TS 52.021 §9.4.64 Get Attribute Response Info */
-static int abis_nm_rx_get_attr_resp(struct msgb *mb, const struct gsm_bts_trx *trx)
+static int parse_attr_resp_info(struct gsm_bts *bts, const struct gsm_bts_trx *trx, struct abis_om_fom_hdr *foh, struct tlv_parsed *tp)
 {
-	struct abis_om_hdr *oh = msgb_l2(mb);
-	struct abis_om_fom_hdr *foh = msgb_l3(mb);
-	struct e1inp_sign_link *sign_link = mb->dst;
-	struct gsm_bts *bts = trx ? trx->bts : sign_link->trx->bts;
-	struct tlv_parsed tp;
 	const uint8_t *data;
 	int i;
 	uint16_t data_len;
 	int rc;
 	struct abis_nm_sw_desc sw_descr[MAX_BTS_ATTR];
 
-	DEBUGPFOH(DNM, foh, "Get Attributes Response for BTS%u\n", bts->nr);
-
-	abis_nm_tlv_parse(&tp, bts, foh->data, oh->length-sizeof(*foh));
-	if (!TLVP_PRES_LEN(&tp, NM_ATT_GET_ARI, 1)) {
+	if (!TLVP_PRES_LEN(tp, NM_ATT_GET_ARI, 1)) {
 		LOGPFOH(DNM, LOGL_ERROR, foh, "BTS%u: Get Attr Response without Response Info?!\n",
 			bts->nr);
 		return -EINVAL;
 	}
 
-	data = parse_attr_resp_info_unreported(bts->nr, TLVP_VAL(&tp, NM_ATT_GET_ARI), TLVP_LEN(&tp, NM_ATT_GET_ARI),
+	data = parse_attr_resp_info_unreported(bts->nr, TLVP_VAL(tp, NM_ATT_GET_ARI), TLVP_LEN(tp, NM_ATT_GET_ARI),
 					       &data_len);
 
 	data = parse_attr_resp_info_manuf_state(trx, data, &data_len);
@@ -570,6 +562,24 @@
 		LOGPFOH(DNM, LOGL_ERROR, foh, "BTS%u: failed to parse SW-Config part of "
 			"Get Attribute Response Info: %s\n", bts->nr, strerror(-rc));
 	}
+	return 0;
+}
+
+/* Handle 3GPP TS 52.021 §8.11.3 Get Attribute Response */
+static int abis_nm_rx_get_attr_resp(struct msgb *mb, const struct gsm_bts_trx *trx)
+{
+	struct abis_om_hdr *oh = msgb_l2(mb);
+	struct abis_om_fom_hdr *foh = msgb_l3(mb);
+	struct e1inp_sign_link *sign_link = mb->dst;
+	struct gsm_bts *bts = trx ? trx->bts : sign_link->trx->bts;
+	struct tlv_parsed tp;
+
+	DEBUGPFOH(DNM, foh, "Get Attributes Response for BTS%u\n", bts->nr);
+
+	abis_nm_tlv_parse(&tp, bts, foh->data, oh->length-sizeof(*foh));
+
+	parse_attr_resp_info(bts, trx, foh, &tp);
+
 
 	return 0;
 }

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I346dacc58faac70e6d224ca49484f9211cb8a046
Gerrit-Change-Number: 11692
Gerrit-PatchSet: 1
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181108/19fa8020/attachment.htm>


More information about the gerrit-log mailing list