diff options
-rw-r--r-- | include/osmocom/bsc/pcuif_proto.h | 14 | ||||
-rw-r--r-- | src/osmo-bsc/pcu_sock.c | 8 |
2 files changed, 21 insertions, 1 deletions
diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index 1133ca61b..33036c330 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/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 gsm_pcu_if_info_ind { 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/osmo-bsc/pcu_sock.c b/src/osmo-bsc/pcu_sock.c index 24f3c1c30..d5fa5b942 100644 --- a/src/osmo-bsc/pcu_sock.c +++ b/src/osmo-bsc/pcu_sock.c @@ -300,6 +300,14 @@ static int pcu_tx_info_ind(struct gsm_bts *bts) info_ind_fill_trx(&info_ind->trx[trx->nr], trx); } + switch (bts->type) { + case GSM_BTS_TYPE_RBS2000: + info_ind->bts_model = PCU_IF_BTS_MODEL_RBS; + break; + default: + info_ind->bts_model = PCU_IF_BTS_MODEL_UNSPEC; + } + return pcu_sock_send(bts->network, msg); } |