aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pcu_l1_if.cpp3
-rw-r--r--src/pcu_main.cpp6
-rw-r--r--src/sysmo_l1_if.c4
3 files changed, 10 insertions, 3 deletions
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 9d7dbee..8d79bfd 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -436,7 +436,8 @@ bssgp_failed:
if (!bts->trx[trx].fl1h)
bts->trx[trx].fl1h = l1if_open_pdch(
(void *)trx,
- info_ind->trx[trx].hlayer1);
+ info_ind->trx[trx].hlayer1,
+ gsmtapaddr);
if (!bts->trx[trx].fl1h) {
LOGP(DL1IF, LOGL_FATAL, "Failed to open direct "
"DSP access for PDCH.\n");
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index a9f9df1..53fa2d7 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -44,6 +44,7 @@ void *tall_pcu_ctx;
extern void *bv_tall_ctx;
static int quit = 0;
static int rt_prio = -1;
+static char *gsmtap_ip = 0;
static void print_help()
{
@@ -57,6 +58,7 @@ static void print_help()
"provided by BTS\n"
" -r --realtime PRIO Use SCHED_RR with the specified "
"priority\n"
+ " -i --gsmtap-ip The destination IP used for GSMTAP.\n"
);
}
@@ -73,6 +75,7 @@ static void handle_options(int argc, char **argv)
{ "version", 0, 0, 'V' },
{ "realtime", 1, 0, 'r' },
{ "exit", 0, 0, 'e' },
+ { "gsmtap-ip", 1, 0, 'i' },
{ 0, 0, 0, 0 }
};
@@ -101,6 +104,9 @@ static void handle_options(int argc, char **argv)
print_version(1);
exit(0);
break;
+ case 'i':
+ gsmtap_ip = optarg;
+ break;
case 'r':
rt_prio = atoi(optarg);
break;
diff --git a/src/sysmo_l1_if.c b/src/sysmo_l1_if.c
index 8572786..f9d08eb 100644
--- a/src/sysmo_l1_if.c
+++ b/src/sysmo_l1_if.c
@@ -357,7 +357,7 @@ int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
return 0;
}
-void *l1if_open_pdch(void *priv, uint32_t hlayer1)
+void *l1if_open_pdch(void *priv, uint32_t hlayer1, const char *gsmtapaddr)
{
struct femtol1_hdl *fl1h;
int rc;
@@ -378,7 +378,7 @@ void *l1if_open_pdch(void *priv, uint32_t hlayer1)
return NULL;
}
- fl1h->gsmtap = gsmtap_source_init("localhost", GSMTAP_UDP_PORT, 1);
+ fl1h->gsmtap = gsmtap_source_init(gsmtapaddr, GSMTAP_UDP_PORT, 1);
if (fl1h->gsmtap)
gsmtap_source_add_sink(fl1h->gsmtap);