summaryrefslogtreecommitdiffstats
path: root/src/ctrl
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-02-24 00:09:40 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-02-25 11:02:35 +0100
commit4934309dab3dcd785e75f3ba227e51b19fe714fb (patch)
tree0dd8fe3db47cd193d9990046750fed184d6421d0 /src/ctrl
parent96172f01002a64359bbe643c4a0d3cfa9a929b56 (diff)
add ctrl_interface_setup_dynip() for bind address
Make the ctrl interface bind address configurable, so that it may be made available on other addresses than 127.0.0.1. The specific aim is to allow running multiple osmo-nitbs alongside each other (commits in openbsc follow).
Diffstat (limited to 'src/ctrl')
-rw-r--r--src/ctrl/control_if.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c
index 18e695d9..bde245d1 100644
--- a/src/ctrl/control_if.c
+++ b/src/ctrl/control_if.c
@@ -673,6 +673,14 @@ static int verify_counter(struct ctrl_cmd *cmd, const char *value, void *data)
struct ctrl_handle *ctrl_interface_setup(void *data, uint16_t port,
ctrl_cmd_lookup lookup)
{
+ return ctrl_interface_setup_dynip(data, "127.0.0.1", port, lookup);
+}
+
+struct ctrl_handle *ctrl_interface_setup_dynip(void *data,
+ const char *bind_addr,
+ uint16_t port,
+ ctrl_cmd_lookup lookup)
+{
int ret;
struct ctrl_handle *ctrl;
@@ -693,7 +701,7 @@ struct ctrl_handle *ctrl_interface_setup(void *data, uint16_t port,
ctrl->listen_fd.cb = listen_fd_cb;
ctrl->listen_fd.data = ctrl;
ret = osmo_sock_init_ofd(&ctrl->listen_fd, AF_INET, SOCK_STREAM, IPPROTO_TCP,
- "127.0.0.1", port, OSMO_SOCK_F_BIND);
+ bind_addr, port, OSMO_SOCK_F_BIND);
if (ret < 0)
goto err_vec;