Add pcu-socket vty config
osmo-bts already supports configuring a different path for the bts<->pcu socket by using the 'pcu-socket' config field. Change-Id: I9b3e1171da467519750b201849ec892a1e318129
This commit is contained in:
parent
0cd8e4eade
commit
c4178e55ea
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
#include <osmocom/gsm/l1sap.h>
|
#include <osmocom/gsm/l1sap.h>
|
||||||
|
|
||||||
|
#define PCU_SOCK_DEFAULT "/tmp/pcu_bts"
|
||||||
|
|
||||||
#define PCU_IF_VERSION 0x07
|
#define PCU_IF_VERSION 0x07
|
||||||
#define TXT_MAX_LEN 128
|
#define TXT_MAX_LEN 128
|
||||||
|
|
||||||
|
|
|
@ -233,6 +233,9 @@ struct gprs_rlcmac_bts {
|
||||||
* period.
|
* period.
|
||||||
*/
|
*/
|
||||||
struct BTS *bts;
|
struct BTS *bts;
|
||||||
|
|
||||||
|
/* Path to be used for the pcu-bts socket */
|
||||||
|
char *pcu_sock_path;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -223,6 +223,7 @@ int pcu_l1if_open(void)
|
||||||
struct sockaddr_un local;
|
struct sockaddr_un local;
|
||||||
unsigned int namelen;
|
unsigned int namelen;
|
||||||
int rc;
|
int rc;
|
||||||
|
struct gprs_rlcmac_bts *bts = bts_main_data();
|
||||||
|
|
||||||
LOGP(DL1IF, LOGL_INFO, "Opening OsmoPCU L1 interface to OsmoBTS\n");
|
LOGP(DL1IF, LOGL_INFO, "Opening OsmoPCU L1 interface to OsmoBTS\n");
|
||||||
|
|
||||||
|
@ -244,7 +245,7 @@ int pcu_l1if_open(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
local.sun_family = AF_UNIX;
|
local.sun_family = AF_UNIX;
|
||||||
strncpy(local.sun_path, "/tmp/pcu_bts", sizeof(local.sun_path));
|
strncpy(local.sun_path, bts->pcu_sock_path, sizeof(local.sun_path));
|
||||||
local.sun_path[sizeof(local.sun_path) - 1] = '\0';
|
local.sun_path[sizeof(local.sun_path) - 1] = '\0';
|
||||||
|
|
||||||
/* we use the same magic that X11 uses in Xtranssock.c for
|
/* we use the same magic that X11 uses in Xtranssock.c for
|
||||||
|
|
|
@ -216,6 +216,8 @@ int main(int argc, char *argv[])
|
||||||
*/
|
*/
|
||||||
bts->dl_arq_type = EGPRS_ARQ1;
|
bts->dl_arq_type = EGPRS_ARQ1;
|
||||||
|
|
||||||
|
bts->pcu_sock_path = talloc_strdup(tall_pcu_ctx, PCU_SOCK_DEFAULT);
|
||||||
|
|
||||||
msgb_talloc_ctx_init(tall_pcu_ctx, 0);
|
msgb_talloc_ctx_init(tall_pcu_ctx, 0);
|
||||||
|
|
||||||
osmo_init_logging(&gprs_log_info);
|
osmo_init_logging(&gprs_log_info);
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <osmocom/vty/misc.h>
|
#include <osmocom/vty/misc.h>
|
||||||
#include <osmocom/core/linuxlist.h>
|
#include <osmocom/core/linuxlist.h>
|
||||||
#include <osmocom/core/rate_ctr.h>
|
#include <osmocom/core/rate_ctr.h>
|
||||||
|
#include <osmocom/pcu/pcuif_proto.h>
|
||||||
#include "pcu_vty.h"
|
#include "pcu_vty.h"
|
||||||
#include "gprs_rlcmac.h"
|
#include "gprs_rlcmac.h"
|
||||||
#include "bts.h"
|
#include "bts.h"
|
||||||
|
@ -233,6 +234,8 @@ static int config_write_pcu(struct vty *vty)
|
||||||
if (bts->dl_tbf_idle_msec)
|
if (bts->dl_tbf_idle_msec)
|
||||||
vty_out(vty, " dl-tbf-idle-time %d%s", bts->dl_tbf_idle_msec,
|
vty_out(vty, " dl-tbf-idle-time %d%s", bts->dl_tbf_idle_msec,
|
||||||
VTY_NEWLINE);
|
VTY_NEWLINE);
|
||||||
|
if (strcmp(bts->pcu_sock_path, PCU_SOCK_DEFAULT))
|
||||||
|
vty_out(vty, " pcu-socket %s%s", bts->pcu_sock_path, VTY_NEWLINE);
|
||||||
|
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
unsigned int cs = (1 << i);
|
unsigned int cs = (1 << i);
|
||||||
|
@ -966,6 +969,23 @@ DEFUN(cfg_pcu_cs_lqual_ranges,
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFUN(cfg_pcu_sock,
|
||||||
|
cfg_pcu_sock_cmd,
|
||||||
|
"pcu-socket PATH",
|
||||||
|
"Configure the osmo-bts PCU socket file/path name\n"
|
||||||
|
"Path of the socket to connect to\n")
|
||||||
|
{
|
||||||
|
struct gprs_rlcmac_bts *bts = bts_main_data();
|
||||||
|
|
||||||
|
if (bts->pcu_sock_path) {
|
||||||
|
/* FIXME: close the interface? */
|
||||||
|
talloc_free(bts->pcu_sock_path);
|
||||||
|
}
|
||||||
|
bts->pcu_sock_path = talloc_strdup(tall_pcu_ctx, argv[0]);
|
||||||
|
/* FIXME: re-open the interface? */
|
||||||
|
|
||||||
|
return CMD_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
DEFUN(show_tbf,
|
DEFUN(show_tbf,
|
||||||
show_tbf_cmd,
|
show_tbf_cmd,
|
||||||
|
@ -1096,6 +1116,7 @@ int pcu_vty_init(const struct log_info *cat)
|
||||||
install_element(PCU_NODE, &cfg_pcu_no_ms_idle_time_cmd);
|
install_element(PCU_NODE, &cfg_pcu_no_ms_idle_time_cmd);
|
||||||
install_element(PCU_NODE, &cfg_pcu_gsmtap_categ_cmd);
|
install_element(PCU_NODE, &cfg_pcu_gsmtap_categ_cmd);
|
||||||
install_element(PCU_NODE, &cfg_pcu_no_gsmtap_categ_cmd);
|
install_element(PCU_NODE, &cfg_pcu_no_gsmtap_categ_cmd);
|
||||||
|
install_element(PCU_NODE, &cfg_pcu_sock_cmd);
|
||||||
|
|
||||||
install_element_ve(&show_bts_stats_cmd);
|
install_element_ve(&show_bts_stats_cmd);
|
||||||
install_element_ve(&show_tbf_cmd);
|
install_element_ve(&show_tbf_cmd);
|
||||||
|
|
Loading…
Reference in New Issue