aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-07-29 13:42:27 +0200
committerHarald Welte <laforge@gnumonks.org>2017-07-29 13:43:30 +0200
commitbc219d5450fc022afaec8f4a37d929c815685b89 (patch)
tree7829f30bbc8a71958adf50ab2bda82171c6f724e /src
parentcd34dd3b2bd98c3d7d29adaaa08b48b76cc4f0ef (diff)
GSMTAP: Ad PTCCH as separate gsmtap category
This allows us to send GSMTAP for PTCCH only if requested by user/vty Change-Id: Id720f4bebdce7f6152fbddddbe05036638c5866e
Diffstat (limited to 'src')
-rw-r--r--src/bts.h1
-rw-r--r--src/pcu_l1_if.cpp3
-rw-r--r--src/pcu_vty.c2
3 files changed, 5 insertions, 1 deletions
diff --git a/src/bts.h b/src/bts.h
index 66875f1f..25193f97 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -51,6 +51,7 @@ enum pcu_gsmtap_category {
PCU_GSMTAP_C_DL_CTRL = 2, /* downlink control blocks */
PCU_GSMTAP_C_DL_DATA_GPRS = 3, /* downlink GPRS data blocks */
PCU_GSMTAP_C_DL_DATA_EGPRS = 4, /* downlink EGPRS data blocks */
+ PCU_GSMTAP_C_DL_PTCCH = 5, /* downlink PTCCH blocks */
PCU_GSMTAP_C_UL_UNKNOWN = 15, /* unknown or undecodable uplink blocks */
PCU_GSMTAP_C_UL_DUMMY = 16, /* uplink dummy blocks */
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 42164e43..8ea2ad55 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -183,7 +183,8 @@ void pcu_l1if_tx_ptcch(msgb *msg, uint8_t trx, uint8_t ts, uint16_t arfcn,
{
struct gprs_rlcmac_bts *bts = bts_main_data();
- gsmtap_send(bts->gsmtap, arfcn, ts, GSMTAP_CHANNEL_PTCCH, 0, fn, 0, 0, msg->data, msg->len);
+ if (bts->gsmtap_categ_mask & PCU_GSMTAP_C_DL_PTCCH)
+ gsmtap_send(bts->gsmtap, arfcn, ts, GSMTAP_CHANNEL_PTCCH, 0, fn, 0, 0, msg->data, msg->len);
#ifdef ENABLE_DIRECT_PHY
if (bts->trx[trx].fl1h) {
l1if_pdch_req(bts->trx[trx].fl1h, ts, 1, fn, arfcn, block_nr,
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index fc57a5f4..cd22e38c 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -24,6 +24,7 @@ static const struct value_string pcu_gsmtap_categ_names[] = {
{ PCU_GSMTAP_C_DL_CTRL, "dl-ctrl" },
{ PCU_GSMTAP_C_DL_DATA_GPRS, "dl-data-gprs" },
{ PCU_GSMTAP_C_DL_DATA_EGPRS, "dl-data-egprs" },
+ { PCU_GSMTAP_C_DL_PTCCH, "dl-ptcch" },
{ PCU_GSMTAP_C_UL_UNKNOWN, "ul-unknown" },
{ PCU_GSMTAP_C_UL_DUMMY, "ul-dummy" },
@@ -40,6 +41,7 @@ static const struct value_string pcu_gsmtap_categ_help[] = {
{ PCU_GSMTAP_C_DL_CTRL, "Downlink Control Blocks" },
{ PCU_GSMTAP_C_DL_DATA_GPRS, "Downlink Data Blocks (GPRS)" },
{ PCU_GSMTAP_C_DL_DATA_EGPRS, "Downlink Data Blocks (EGPRS)" },
+ { PCU_GSMTAP_C_DL_PTCCH, "Downlink PTCCH Blocks" },
{ PCU_GSMTAP_C_UL_UNKNOWN, "Unknown / Unparseable / Erroneous Downlink Blocks" },
{ PCU_GSMTAP_C_UL_DUMMY, "Uplink Dummy Blocks" },