summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-10-11 17:58:07 +0200
committerlaforge <laforge@osmocom.org>2019-10-22 19:38:53 +0000
commit80b135581909fef595d48436ab04dbcb147e3895 (patch)
treef0fb8f514f36aeb68a299ecdf08630d4db99571a /include
parent38ae954da5239a372cf40459f830c88913c08012 (diff)
ss7: Support multiple addresses in SCTP connections
After this patch, Several "local-ip" and "remote-ip" lines are accepted under "listen" and "asp" VTY nodes, allowing to configure an SCTP connection with multiple connections, hence allowing control of SCTP multi-homing features. libosmo-sccp clients such as osmo-bsc and osmo-msc also gain support for this feature with this commit. Related: OS#3608 Depends: libosmocore.git Ic8681d9e093216c99c6bca4be81c31ef83688ed1 Depends: libosmo-netif.git I0fe62f518e195db4e34f3b0ad1762bb57ba9d92a Change-Id: Ibd15de7a4e00dbec78ff2e2dd6a686b0f3af22de
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/sigtran/osmo_ss7.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h
index 9e8f2b3..12aeea4 100644
--- a/include/osmocom/sigtran/osmo_ss7.h
+++ b/include/osmocom/sigtran/osmo_ss7.h
@@ -8,6 +8,7 @@
#include <osmocom/core/fsm.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/prim.h>
+#include <osmocom/core/socket.h>
extern struct llist_head osmo_ss7_instances;
@@ -348,7 +349,8 @@ void osmo_ss7_asp_disconnect(struct osmo_ss7_asp *asp);
***********************************************************************/
struct osmo_ss7_asp_peer {
- char *host;
+ char *host[OSMO_SOCK_MAX_ADDRS];
+ size_t host_cnt;
uint16_t port;
};
@@ -409,6 +411,8 @@ struct osmo_ss7_asp {
} cfg;
};
+int osmo_ss7_asp_peer_snprintf(char* buf, size_t buf_len, struct osmo_ss7_asp_peer *peer);
+
struct osmo_ss7_asp *
osmo_ss7_asp_find_by_name(struct osmo_ss7_instance *inst, const char *name);
struct osmo_ss7_asp
@@ -480,7 +484,9 @@ osmo_ss7_xua_server_bind(struct osmo_xua_server *xs);
int
osmo_ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host);
-
+int
+osmo_ss7_xua_server_set_local_hosts(struct osmo_xua_server *xs, const char **local_hosts, size_t local_host_cnt);
+int osmo_ss7_xua_server_add_local_host(struct osmo_xua_server *xs, const char *local_host);
void osmo_ss7_xua_server_destroy(struct osmo_xua_server *xs);
struct osmo_sccp_instance *