log reception of PCU_IF_MSG_PAG_REQ messages from osmo-pcu

osmo-pcu currently sends paging requests in PCU_IF_MSG_DATA_REQ
messages, rather than PCU_IF_MSG_PAG_REQ. Clarify a comment which
already alluded to this, and leave an explicit log entry if a
PCU_IF_MSG_PAG_REQ message is received.

Change-Id: I75fd8f051f943d876b5614fa088fff7e56b310ab
Related: OS#3018
This commit is contained in:
Stefan Sperling 2018-06-25 11:02:47 +02:00
parent 954e4d8321
commit 0257f52835
1 changed files with 22 additions and 8 deletions

View File

@ -481,13 +481,7 @@ static int pcu_rx_data_req(struct gsm_bts *bts, uint8_t msg_type,
switch (data_req->sapi) {
case PCU_IF_SAPI_PCH:
if (msg_type == PCU_IF_MSG_PAG_REQ) {
/* FIXME: Add function to schedule paging request.
* This might not be required, if PCU_IF_MSG_DATA_REQ
* is used instead. */
} else {
paging_add_imm_ass(bts->paging_state, data_req->data, data_req->len);
}
paging_add_imm_ass(bts->paging_state, data_req->data, data_req->len);
break;
case PCU_IF_SAPI_AGCH:
msg = msgb_alloc(data_req->len, "pcu_agch");
@ -543,6 +537,24 @@ static int pcu_rx_data_req(struct gsm_bts *bts, uint8_t msg_type,
return rc;
}
static int pcu_rx_pag_req(struct gsm_bts *bts, uint8_t msg_type,
struct gsm_pcu_if_pag_req *pag_req)
{
int rc = 0;
OSMO_ASSERT(msg_type == PCU_IF_MSG_PAG_REQ);
/* FIXME: Add function to schedule paging request.
* At present, osmo-pcu sends paging requests in PCU_IF_MSG_DATA_REQ
* messages which are processed by pcu_rx_data_req().
* This code path is not triggered in practice. */
LOGP(DPCU, LOGL_NOTICE, "Paging request received: chan_needed=%d length=%d "
"(dropping message because support for PCU_IF_MSG_PAG_REQ is not yet implemented)\n",
pag_req->chan_needed, pag_req->identity_lv[0]);
return rc;
}
int pcu_tx_si13(const struct gsm_bts *bts, bool enable)
{
/* the SI is per-BTS so it doesn't matter which TRX we use */
@ -631,9 +643,11 @@ static int pcu_rx(struct gsm_network *net, uint8_t msg_type,
switch (msg_type) {
case PCU_IF_MSG_DATA_REQ:
case PCU_IF_MSG_PAG_REQ:
rc = pcu_rx_data_req(bts, msg_type, &pcu_prim->u.data_req);
break;
case PCU_IF_MSG_PAG_REQ:
rc = pcu_rx_pag_req(bts, msg_type, &pcu_prim->u.pag_req);
break;
case PCU_IF_MSG_ACT_REQ:
rc = pcu_rx_act_req(bts, &pcu_prim->u.act_req);
break;