From ef727410b28f1482a2a174cfbe943e6e98205bdb Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 26 Dec 2017 19:27:43 +0100 Subject: Add control interface * add libosmoctrl dependency * bind control interface Change-Id: I4637e88da00bac1ab0237c29ac73806d024863ba --- configure.ac | 1 + include/osmocom/iuh/hnbgw.h | 2 +- src/Makefile.am | 4 ++-- src/hnbgw.c | 12 +++++++++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 4c5f47f..2b8974f 100644 --- a/configure.ac +++ b/configure.ac @@ -36,6 +36,7 @@ PKG_PROG_PKG_CONFIG([0.20]) PKG_CHECK_MODULES(OSMOCORE, libosmocore >= 0.10.0) PKG_CHECK_MODULES(OSMOGSM, libosmogsm >= 0.10.0) PKG_CHECK_MODULES(OSMOVTY, libosmovty >= 0.10.0) +PKG_CHECK_MODULES(OSMOCTRL, libosmoctrl) PKG_CHECK_MODULES(OSMONETIF, libosmo-netif >= 0.1.0) PKG_CHECK_MODULES(OSMOSIGTRAN, libosmo-sigtran >= 0.8.0) PKG_CHECK_MODULES(ASN1C, libasn1c >= 0.9.28) diff --git a/include/osmocom/iuh/hnbgw.h b/include/osmocom/iuh/hnbgw.h index 58bdab4..971ede4 100644 --- a/include/osmocom/iuh/hnbgw.h +++ b/include/osmocom/iuh/hnbgw.h @@ -129,7 +129,7 @@ struct hnb_gw { struct llist_head ue_list; /* next availble UE Context ID */ uint32_t next_ue_ctx_id; - + struct ctrl_handle *ctrl; /* currently active CN links for CS and PS */ struct { struct osmo_sccp_instance *client; diff --git a/src/Makefile.am b/src/Makefile.am index 85bfad6..2e57a8e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -43,7 +43,7 @@ gen_ranap.stamp: $(ASN1_ROOT)/ranap/RANAP-PDU-Contents.asn $(ASN1TOSTRUCT) ranap_decoder.c ranap_encoder.c: gen_ranap.stamp AM_CFLAGS = -Wall -I$(top_srcdir)/include -I$(top_builddir)/include \ - $(OSMOCORE_CFLAGS) $(OSMOVTY_CFLAGS) $(OSMOGSM_CFLAGS) \ + $(OSMOCORE_CFLAGS) $(OSMOVTY_CFLAGS) $(OSMOCTRL_CFLAGS) $(OSMOGSM_CFLAGS) \ $(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS) # build the shared RANAP library @@ -67,7 +67,7 @@ osmo_hnbgw_SOURCES = hnbap_encoder.c hnbap_decoder.c hnbap_common.c \ hnbgw_vty.c \ context_map.c hnbgw_cn.c -osmo_hnbgw_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOVTY_LIBS) \ +osmo_hnbgw_LDADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOVTY_LIBS) $(OSMOCTRL_LIBS) \ $(ASN1C_LIBS) $(OSMOSIGTRAN_LIBS) \ $(OSMONETIF_LIBS) \ hnbap/libosmo-asn1-hnbap.a rua/libosmo-asn1-rua.a \ diff --git a/src/hnbgw.c b/src/hnbgw.c index 5f5c311..a66f14a 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -41,7 +41,10 @@ #include #include #include - +#include +#include +#include +#include #include #include #include @@ -477,6 +480,13 @@ int main(int argc, char **argv) exit(1); } + g_hnb_gw->ctrl = ctrl_interface_setup_dynip(NULL, ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_HNBGW, NULL); + if (!g_hnb_gw->ctrl) { + LOGP(DMAIN, LOGL_ERROR, "Failed to create CTRL interface on %s:%u\n", + ctrl_vty_get_bind_addr(), OSMO_CTRL_PORT_HNBGW); + exit(1); + } + ranap_set_log_area(DRANAP); rc = hnbgw_cnlink_init(g_hnb_gw, "127.0.0.1", M3UA_PORT, NULL); -- cgit v1.2.3