dexter has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-pcu/+/34647?usp=email )

Change subject: pcu_l1_if: signal BTS model via PCUIF
......................................................................

pcu_l1_if: signal BTS model via PCUIF

At the moment the PCU has no way of knowing with which BTS model it is
used with. However, some BTS models may require slightly different
behaviour by the PCU, depending on which BTS model is used. So, lets add
an additional bts_model field to struct gsm_pcu_if_info_ind in order to
convey the exact BTS model to the PCU and store this information in
struct gprs_rlcmac_bts

Related: OS#6191
Change-Id: I48eb75f65ab54fdec41ef913e24c1f18cd4a4047
---
M include/osmocom/pcu/pcuif_proto.h
M src/bts.h
M src/pcu_l1_if.cpp
3 files changed, 47 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved




diff --git a/include/osmocom/pcu/pcuif_proto.h 
b/include/osmocom/pcu/pcuif_proto.h
index 1133ca6..33036c3 100644
--- a/include/osmocom/pcu/pcuif_proto.h
+++ b/include/osmocom/pcu/pcuif_proto.h
@@ -8,7 +8,7 @@

 #define PCU_SOCK_DEFAULT       "/tmp/pcu_bts"

-#define PCU_IF_VERSION         0x0b
+#define PCU_IF_VERSION         0x0c
 #define TXT_MAX_LEN    128

 /* msg_type */
@@ -63,6 +63,17 @@
 #define PCU_IF_ADDR_TYPE_IPV4  0x04    /* IPv4 address */
 #define PCU_IF_ADDR_TYPE_IPV6  0x29    /* IPv6 address */

+/* BTS model */
+enum gsm_pcuif_bts_model {
+       PCU_IF_BTS_MODEL_UNSPEC,
+       PCU_IF_BTS_MODEL_LC15,
+       PCU_IF_BTS_MODEL_OC2G,
+       PCU_IF_BTS_MODEL_OCTPHY,
+       PCU_IF_BTS_MODEL_SYSMO,
+       PCU_IF_BTS_MODEL_TRX,
+       PCU_IF_BTS_MODEL_RBS,
+};
+
 #define PCU_IF_NUM_NSVC 2
 #define PCU_IF_NUM_TRX 8

@@ -176,6 +187,7 @@
                struct in_addr v4;
                struct in6_addr v6;
        } remote_ip[PCU_IF_NUM_NSVC];
+       uint8_t         bts_model; /* enum gsm_pcuif_bts_model */
 } __attribute__ ((packed));

 /* E1 CCU connection parameters */
diff --git a/src/bts.h b/src/bts.h
index 3fe4503..1d88cb5 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -275,6 +275,9 @@
        struct llist_head pch_timer;

        struct osmo_time_cc all_allocated_pdch;
+
+       /* BTS hardware model, see pcuif_proto.h */
+       uint8_t bts_model;
 };

 struct paging_req_cs {
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 9557f66..e391829 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -724,6 +724,17 @@
        return gprs_ns_update_config(bts, info_ind->nsei, local, remote, nsvci, 
valid);
 }

+const struct value_string gsm_pcuif_bts_model_names[] = {
+       { PCU_IF_BTS_MODEL_UNSPEC,              "(unspecified)" },
+       { PCU_IF_BTS_MODEL_LC15,                "osmo-bts-lc15" },
+       { PCU_IF_BTS_MODEL_OC2G,                "osmo-bts-oc2g" },
+       { PCU_IF_BTS_MODEL_OCTPHY,              "osmo-bts-octphy" },
+       { PCU_IF_BTS_MODEL_SYSMO,               "osmo-bts-sysmo" },
+       { PCU_IF_BTS_MODEL_TRX,                 "osmo-bts-trx" },
+       { PCU_IF_BTS_MODEL_RBS,                 "ericsson-rbs" },
+       { 0, NULL }
+};
+
 static int pcu_rx_info_ind(struct gprs_rlcmac_bts *bts, const struct 
gsm_pcu_if_info_ind *info_ind)
 {
        struct gprs_bssgp_pcu *pcu;
@@ -933,6 +944,9 @@
                }
        }

+       LOGP(DL1IF, LOGL_INFO, "BTS model: %s\n", 
get_value_string(gsm_pcuif_bts_model_names, info_ind->bts_model));
+       bts->bts_model = info_ind->bts_model;
+
        bts->active = true;
        return rc;
 }

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

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I48eb75f65ab54fdec41ef913e24c1f18cd4a4047
Gerrit-Change-Number: 34647
Gerrit-PatchSet: 7
Gerrit-Owner: dexter <pma...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pma...@sysmocom.de>
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to