libosmo-sigtran
0.10.0
Osmocom SIGTRAN library
|
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/sctp.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/sigtran/mtp_sap.h>
#include <osmocom/sigtran/protocol/mtp.h>
#include <osmocom/sigtran/protocol/sua.h>
#include <osmocom/sigtran/protocol/m3ua.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/select.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/socket.h>
#include <osmocom/netif/stream.h>
#include <osmocom/netif/ipa.h>
#include "sccp_internal.h"
#include "xua_internal.h"
#include "xua_asp_fsm.h"
#include "xua_as_fsm.h"
Macros | |
#define | MAX_PC_STR_LEN 32 |
#define | LOGSS7(inst, level, fmt, args ...) LOGP(DLSS7, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args) |
Functions | |
LLIST_HEAD (osmo_ss7_instances) | |
static int | asp_proto_to_ip_proto (enum osmo_ss7_asp_protocol proto) |
int | osmo_ss7_find_free_rctx (struct osmo_ss7_instance *inst) |
static uint32_t | find_free_l_rk_id (struct osmo_ss7_instance *inst) |
static int | strnappendchar (char *str, char c, size_t n) |
static const char * | gen_pc_fmtstr (const struct osmo_ss7_pc_fmt *pc_fmt, unsigned int *num_comp_exp) |
static unsigned int | num_pc_comp_exp (const struct osmo_ss7_pc_fmt *pc_fmt) |
static unsigned int | get_pc_width (const struct osmo_ss7_pc_fmt *pc_fmt) |
static unsigned int | get_pc_comp_shift (const struct osmo_ss7_pc_fmt *pc_fmt, unsigned int comp_num) |
static uint32_t | pc_comp_shift_and_mask (const struct osmo_ss7_pc_fmt *pc_fmt, unsigned int comp_num, uint32_t pc) |
int | osmo_ss7_pointcode_parse (struct osmo_ss7_instance *inst, const char *str) |
const char * | _osmo_ss7_pointcode_print (char *buf, size_t len, const struct osmo_ss7_instance *inst, uint32_t pc) |
const char * | osmo_ss7_pointcode_print (const struct osmo_ss7_instance *inst, uint32_t pc) |
const char * | osmo_ss7_pointcode_print2 (const struct osmo_ss7_instance *inst, uint32_t pc) |
int | osmo_ss7_pointcode_parse_mask_or_len (struct osmo_ss7_instance *inst, const char *in) |
int | osmo_ss7_asp_protocol_port (enum osmo_ss7_asp_protocol prot) |
struct osmo_ss7_instance * | osmo_ss7_instance_find (uint32_t id) |
Find a SS7 Instance with given ID. More... | |
struct osmo_ss7_instance * | osmo_ss7_instance_find_or_create (void *ctx, uint32_t id) |
Find or create a SS7 Instance. More... | |
void | osmo_ss7_instance_destroy (struct osmo_ss7_instance *inst) |
Destroy a SS7 Instance. More... | |
int | osmo_ss7_instance_set_pc_fmt (struct osmo_ss7_instance *inst, uint8_t c0, uint8_t c1, uint8_t c2) |
Set the point code format used in given SS7 instance. More... | |
int | osmo_ss7_instance_bind (struct osmo_ss7_instance *inst) |
bind all xUA servers belonging to an SS7 Instance More... | |
int | osmo_ss7_bind_all_instances () |
bind all xUA servers on each of the stored SS7 instances More... | |
int | osmo_ss7_user_register (struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user) |
Register a MTP user for a given service indicator. More... | |
int | osmo_ss7_user_unregister (struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user) |
Unregister a MTP user for a given service indicator. More... | |
int | osmo_ss7_mtp_to_user (struct osmo_ss7_instance *inst, struct osmo_mtp_prim *omp) |
void | osmo_ss7_linkset_destroy (struct osmo_ss7_linkset *lset) |
Destroy a SS7 Linkset. More... | |
struct osmo_ss7_linkset * | osmo_ss7_linkset_find_by_name (struct osmo_ss7_instance *inst, const char *name) |
Find SS7 Linkset by given name. More... | |
struct osmo_ss7_linkset * | osmo_ss7_linkset_find_or_create (struct osmo_ss7_instance *inst, const char *name, uint32_t pc) |
Find or allocate SS7 Linkset. More... | |
void | osmo_ss7_link_destroy (struct osmo_ss7_link *link) |
Destryo SS7 Link. More... | |
struct osmo_ss7_link * | osmo_ss7_link_find_or_create (struct osmo_ss7_linkset *lset, uint32_t id) |
Find or create SS7 Link with given ID in given Linkset. More... | |
struct osmo_ss7_route_table * | osmo_ss7_route_table_find (struct osmo_ss7_instance *inst, const char *name) |
struct osmo_ss7_route_table * | osmo_ss7_route_table_find_or_create (struct osmo_ss7_instance *inst, const char *name) |
void | osmo_ss7_route_table_destroy (struct osmo_ss7_route_table *rtbl) |
struct osmo_ss7_route * | osmo_ss7_route_find_dpc (struct osmo_ss7_route_table *rtbl, uint32_t dpc) |
Find a SS7 route for given destination point code in given table. More... | |
struct osmo_ss7_route * | osmo_ss7_route_find_dpc_mask (struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask) |
Find a SS7 route for given destination point code + mask in given table. More... | |
struct osmo_ss7_route * | osmo_ss7_route_lookup (struct osmo_ss7_instance *inst, uint32_t dpc) |
Find a SS7 route for given destination point code in given SS7. More... | |
static void | route_insert_sorted (struct osmo_ss7_route_table *rtbl, struct osmo_ss7_route *cmp) |
struct osmo_ss7_route * | osmo_ss7_route_create (struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask, const char *linkset_name) |
Create a new route in the given routing table. More... | |
void | osmo_ss7_route_destroy (struct osmo_ss7_route *rt) |
Destroy a given SS7 route. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_by_name (struct osmo_ss7_instance *inst, const char *name) |
Find Application Server by given name. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_by_rctx (struct osmo_ss7_instance *inst, uint32_t rctx) |
Find Application Server by given routing context. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_by_l_rk_id (struct osmo_ss7_instance *inst, uint32_t l_rk_id) |
Find Application Server by given local routing key ID. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_by_proto (struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto) |
Find Application Server (AS) by given protocol. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_or_create (struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto) |
Find or Create Application Server. More... | |
int | osmo_ss7_as_add_asp (struct osmo_ss7_as *as, const char *asp_name) |
Add given ASP to given AS. More... | |
int | osmo_ss7_as_del_asp (struct osmo_ss7_as *as, const char *asp_name) |
Delete given ASP from given AS. More... | |
void | osmo_ss7_as_destroy (struct osmo_ss7_as *as) |
Destroy given Application Server. More... | |
bool | osmo_ss7_as_has_asp (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp) |
Determine if given AS contains ASP. More... | |
struct osmo_ss7_asp * | osmo_ss7_asp_find_by_name (struct osmo_ss7_instance *inst, const char *name) |
static uint16_t | get_in_port (struct sockaddr *sa) |
static struct osmo_ss7_asp * | osmo_ss7_asp_find_by_socket_addr (int fd) |
Find an ASP definition matching the local+remote IP/PORT of given fd. More... | |
struct osmo_ss7_asp * | osmo_ss7_asp_find_by_proto (struct osmo_ss7_as *as, enum osmo_ss7_asp_protocol proto) |
Find an ASP that matches the given protocol. More... | |
struct osmo_ss7_asp * | osmo_ss7_asp_find_or_create (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, enum osmo_ss7_asp_protocol proto) |
void | osmo_ss7_asp_destroy (struct osmo_ss7_asp *asp) |
static int | xua_cli_read_cb (struct osmo_stream_cli *conn) |
static int | ipa_cli_read_cb (struct osmo_stream_cli *conn) |
static int | xua_cli_connect_cb (struct osmo_stream_cli *cli) |
int | osmo_ss7_asp_restart (struct osmo_ss7_asp *asp) |
static int | get_logevel_by_sn_type (int sn_type) |
static void | log_sctp_notification (struct osmo_ss7_asp *asp, const char *pfx, union sctp_notification *notif) |
static int | ipa_srv_conn_cb (struct osmo_stream_srv *conn) |
static int | xua_srv_conn_cb (struct osmo_stream_srv *conn) |
static void | xua_cli_close (struct osmo_stream_cli *cli) |
static void | xua_cli_close_and_reconnect (struct osmo_stream_cli *cli) |
static int | xua_srv_conn_closed_cb (struct osmo_stream_srv *srv) |
static int | xua_accept_cb (struct osmo_stream_srv_link *link, int fd) |
int | osmo_ss7_asp_send (struct osmo_ss7_asp *asp, struct msgb *msg) |
send a fully encoded msgb via a given ASP More... | |
void | osmo_ss7_asp_disconnect (struct osmo_ss7_asp *asp) |
struct osmo_xua_server * | osmo_ss7_xua_server_find (struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto, uint16_t local_port) |
struct osmo_xua_server * | osmo_ss7_xua_server_create (struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto, uint16_t local_port, const char *local_host) |
create a new xUA server configured with given ip/port More... | |
int | osmo_ss7_xua_server_bind (struct osmo_xua_server *xs) |
Set the xUA server to bind/listen to the currently configured ip/port. More... | |
int | osmo_ss7_xua_server_set_local_host (struct osmo_xua_server *xs, const char *local_host) |
void | osmo_ss7_xua_server_destroy (struct osmo_xua_server *xs) |
bool | osmo_ss7_pc_is_local (struct osmo_ss7_instance *inst, uint32_t pc) |
int | osmo_ss7_init (void) |
int | osmo_ss7_tmode_to_xua (enum osmo_ss7_as_traffic_mode tmod) |
enum osmo_ss7_as_traffic_mode | osmo_ss7_tmode_from_xua (uint32_t in) |
int | ss7_asp_rx_unknown (struct osmo_ss7_asp *asp, int ppid_mux, struct msgb *msg) |
void | osmo_ss7_register_rx_unknown_cb (osmo_ss7_asp_rx_unknown_cb *cb) |
Register a call-back function for unknown SCTP PPID / IPA Stream ID. More... | |
Variables | |
static bool | ss7_initialized = false |
static int32_t | next_rctx = 1 |
static int32_t | next_l_rk_id = 1 |
struct value_string | osmo_ss7_as_traffic_mode_vals [] |
struct value_string | osmo_ss7_asp_protocol_vals [] |
static const struct osmo_ss7_pc_fmt | default_pc_fmt |
static const uint16_t | prot2port [] |
static const struct value_string | sctp_assoc_chg_vals [] |
static const struct value_string | sctp_sn_type_vals [] |
static osmo_ss7_asp_rx_unknown_cb * | g_osmo_ss7_asp_rx_unknown_cb |
#define LOGSS7 | ( | inst, | |
level, | |||
fmt, | |||
args ... | |||
) | LOGP(DLSS7, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args) |
Referenced by osmo_ss7_as_add_asp(), osmo_ss7_as_del_asp(), osmo_ss7_as_destroy(), osmo_ss7_as_find_or_create(), osmo_ss7_asp_destroy(), osmo_ss7_asp_restart(), osmo_ss7_bind_all_instances(), osmo_ss7_instance_bind(), osmo_ss7_instance_destroy(), osmo_ss7_instance_find_or_create(), osmo_ss7_instance_set_pc_fmt(), osmo_ss7_link_destroy(), osmo_ss7_link_find_or_create(), osmo_ss7_linkset_destroy(), osmo_ss7_linkset_find_or_create(), osmo_ss7_pointcode_parse(), osmo_ss7_route_create(), and osmo_ss7_route_table_find_or_create().
#define MAX_PC_STR_LEN 32 |
Referenced by gen_pc_fmtstr(), osmo_ss7_pointcode_print(), and osmo_ss7_pointcode_print2().
const char* _osmo_ss7_pointcode_print | ( | char * | buf, |
size_t | len, | ||
const struct osmo_ss7_instance * | inst, | ||
uint32_t | pc | ||
) |
References osmo_ss7_instance::cfg, default_pc_fmt, gen_pc_fmtstr(), num_pc_comp_exp(), osmo_ss7_pc_is_valid(), pc_comp_shift_and_mask(), and osmo_ss7_instance::pc_fmt.
Referenced by osmo_ss7_pointcode_print(), and osmo_ss7_pointcode_print2().
|
static |
References OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, and OSMO_SS7_ASP_PROT_SUA.
Referenced by osmo_ss7_asp_restart(), and osmo_ss7_xua_server_create().
|
static |
References next_l_rk_id, and osmo_ss7_as_find_by_l_rk_id().
Referenced by osmo_ss7_as_find_or_create().
|
static |
References osmo_ss7_pc_fmt::component_len, osmo_ss7_pc_fmt::delimiter, MAX_PC_STR_LEN, and strnappendchar().
Referenced by _osmo_ss7_pointcode_print(), and osmo_ss7_pointcode_parse().
|
static |
Referenced by osmo_ss7_asp_find_by_socket_addr().
|
static |
Referenced by log_sctp_notification().
|
static |
References osmo_ss7_pc_fmt::component_len, and get_pc_width().
Referenced by osmo_ss7_pointcode_parse(), and pc_comp_shift_and_mask().
|
static |
References osmo_ss7_pc_fmt::component_len.
Referenced by get_pc_comp_shift(), and osmo_ss7_pointcode_parse_mask_or_len().
|
static |
References ipa_rx_msg(), LOGPASP, osmo_ss7_asp::pending_msg, and xua_cli_close_and_reconnect().
Referenced by osmo_ss7_asp_destroy(), and osmo_ss7_asp_restart().
|
static |
References ipa_rx_msg(), LOGPASP, and osmo_ss7_asp::pending_msg.
Referenced by xua_accept_cb().
LLIST_HEAD | ( | osmo_ss7_instances | ) |
|
static |
References get_logevel_by_sn_type(), LOGPASP, sctp_assoc_chg_vals, and sctp_sn_type_vals.
Referenced by xua_cli_read_cb(), and xua_srv_conn_cb().
|
static |
References osmo_ss7_pc_fmt::component_len.
Referenced by _osmo_ss7_pointcode_print(), and osmo_ss7_pointcode_parse().
int osmo_ss7_as_add_asp | ( | struct osmo_ss7_as * | as, |
const char * | asp_name | ||
) |
Add given ASP to given AS.
[in] | as | Application Server to which asp is added |
[in] | asp | Application Server Process to be added to as |
References osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_as::inst, LOGSS7, osmo_ss7_as::name, osmo_ss7_asp::name, osmo_ss7_as_has_asp(), osmo_ss7_asp_find_by_name(), and ss7_initialized.
Referenced by DEFUN(), handle_rkey_reg(), ipa_asp_fsm_wait_id_resp(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_add_clnt().
int osmo_ss7_as_del_asp | ( | struct osmo_ss7_as * | as, |
const char * | asp_name | ||
) |
Delete given ASP from given AS.
[in] | as | Application Server from which asp is deleted |
[in] | asp | Application Server Process to delete from as |
References osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_as::inst, LOGSS7, osmo_ss7_as::name, osmo_ss7_asp::name, osmo_ss7_asp_find_by_name(), and ss7_initialized.
Referenced by DEFUN(), and handle_rkey_dereg().
void osmo_ss7_as_destroy | ( | struct osmo_ss7_as * | as | ) |
Destroy given Application Server.
[in] | as | Application Server to destroy |
References osmo_ss7_route::as, osmo_ss7_as::cfg, osmo_ss7_route::dest, osmo_ss7_as::fi, osmo_ss7_as::inst, osmo_ss7_route::list, osmo_ss7_as::list, LOGSS7, osmo_ss7_as::name, osmo_ss7_route_destroy(), osmo_ss7_route_table::routes, osmo_ss7_instance::rtable_system, and ss7_initialized.
Referenced by DEFUN(), handle_rkey_dereg(), handle_rkey_reg(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_instance_destroy(), and xua_rkm_cleanup_dyn_as_for_asp().
struct osmo_ss7_as* osmo_ss7_as_find_by_l_rk_id | ( | struct osmo_ss7_instance * | inst, |
uint32_t | l_rk_id | ||
) |
Find Application Server by given local routing key ID.
[in] | inst | SS7 Instance on which we operate |
[in] | l_rk_id | Local Routing Key ID |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_routing_key::l_rk_id, osmo_ss7_as::list, osmo_ss7_as::routing_key, and ss7_initialized.
Referenced by find_free_l_rk_id(), and handle_reg_conf().
struct osmo_ss7_as* osmo_ss7_as_find_by_name | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
Find Application Server by given name.
[in] | inst | SS7 Instance on which we operate |
[in] | name | Name of AS |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::list, osmo_ss7_as::name, and ss7_initialized.
Referenced by DEFUN(), ipa_asp_fsm_wait_id_resp(), osmo_ss7_as_find_or_create(), and osmo_ss7_route_create().
struct osmo_ss7_as* osmo_ss7_as_find_by_proto | ( | struct osmo_ss7_instance * | inst, |
enum osmo_ss7_asp_protocol | proto | ||
) |
Find Application Server (AS) by given protocol.
[in] | inst | SS7 Instance on which we operate |
[in] | proto | Protocol identifier that must match |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::list, osmo_ss7_asp_find_by_proto(), osmo_ss7_as::proto, and ss7_initialized.
Referenced by osmo_sccp_simple_client_on_ss7_id().
struct osmo_ss7_as* osmo_ss7_as_find_by_rctx | ( | struct osmo_ss7_instance * | inst, |
uint32_t | rctx | ||
) |
Find Application Server by given routing context.
[in] | inst | SS7 Instance on which we operate |
[in] | rctx | Routing Context |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_routing_key::context, osmo_ss7_as::list, osmo_ss7_as::routing_key, and ss7_initialized.
Referenced by handle_rkey_dereg(), handle_rkey_reg(), ipa_asp_fsm_cleanup(), ipa_asp_fsm_wait_id_ack2(), m3ua_rx_xfer(), osmo_ss7_find_free_rctx(), and xua_asp_fsm_inactive().
struct osmo_ss7_as* osmo_ss7_as_find_or_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
Find or Create Application Server.
[in] | inst | SS7 Instance on which we operate |
[in] | name | Name of Application Server |
[in] | proto | Protocol of Application Server |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::fi, find_free_l_rk_id(), osmo_ss7_as::inst, osmo_ss7_routing_key::l_rk_id, osmo_ss7_as::list, LOGSS7, osmo_ss7_as::mode, osmo_ss7_as::name, osmo_ss7_as_find_by_name(), OSMO_SS7_AS_TMOD_LOADSHARE, osmo_ss7_as::proto, osmo_ss7_as::recovery_timeout_msec, osmo_ss7_as::routing_key, ss7_initialized, and xua_as_fsm_start().
Referenced by DEFUN(), handle_rkey_reg(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_add_clnt().
bool osmo_ss7_as_has_asp | ( | struct osmo_ss7_as * | as, |
struct osmo_ss7_asp * | asp | ||
) |
Determine if given AS contains ASP.
[in] | as | Application Server in which to look for asp |
[in] | asp | Application Server Process to look for in as |
References osmo_ss7_as::asps, osmo_ss7_as::cfg, and ss7_initialized.
Referenced by dispatch_to_all_as(), find_as_for_asp(), handle_rkey_dereg(), m3ua_rx_xfer(), osmo_ss7_as_add_asp(), and xua_rkm_cleanup_dyn_as_for_asp().
void osmo_ss7_asp_destroy | ( | struct osmo_ss7_asp * | asp | ) |
References osmo_ss7_instance::as_list, osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_asp::client, osmo_ss7_asp::fi, osmo_ss7_asp::inst, ipa_cli_read_cb(), osmo_ss7_as::list, osmo_ss7_asp::list, LOGSS7, osmo_ss7_asp::name, osmo_ss7_asp::server, osmo_ss7_asp::siblings, ss7_initialized, xua_cli_connect_cb(), xua_cli_read_cb(), and osmo_ss7_asp::xua_server.
Referenced by DEFUN(), osmo_sccp_simple_client_on_ss7_id(), osmo_ss7_instance_destroy(), osmo_ss7_xua_server_destroy(), and xua_srv_conn_closed_cb().
void osmo_ss7_asp_disconnect | ( | struct osmo_ss7_asp * | asp | ) |
References osmo_ss7_asp::client, osmo_ss7_asp::server, and xua_cli_close_and_reconnect().
Referenced by ipa_asp_fsm_timer_cb(), ipa_asp_fsm_wait_id_resp(), and ipa_pong_timer_cb().
struct osmo_ss7_asp* osmo_ss7_asp_find_by_name | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, osmo_ss7_asp::list, osmo_ss7_asp::name, and ss7_initialized.
Referenced by DEFUN(), osmo_sccp_simple_client_on_ss7_id(), osmo_ss7_as_add_asp(), osmo_ss7_as_del_asp(), and osmo_ss7_asp_find_or_create().
struct osmo_ss7_asp* osmo_ss7_asp_find_by_proto | ( | struct osmo_ss7_as * | as, |
enum osmo_ss7_asp_protocol | proto | ||
) |
Find an ASP that matches the given protocol.
[in] | as | Application Server in which to look for asp |
References osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, and osmo_ss7_asp::proto.
Referenced by osmo_sccp_simple_client_on_ss7_id(), and osmo_ss7_as_find_by_proto().
|
static |
Find an ASP definition matching the local+remote IP/PORT of given fd.
[in] | fd | socket descriptor of given socket |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, get_in_port(), osmo_ss7_asp_peer::host, osmo_ss7_asp::list, osmo_ss7_asp::local, osmo_ss7_instances, osmo_ss7_asp_peer::port, osmo_ss7_asp::remote, and ss7_initialized.
Referenced by xua_accept_cb().
struct osmo_ss7_asp* osmo_ss7_asp_find_or_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
uint16_t | remote_port, | ||
uint16_t | local_port, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp::local, osmo_ss7_asp::name, osmo_sccp_instance_create(), osmo_ss7_asp_find_by_name(), OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp_peer::port, osmo_ss7_asp::proto, osmo_ss7_asp::remote, osmo_ss7_instance::sccp, and ss7_initialized.
Referenced by DEFUN(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), and xua_accept_cb().
int osmo_ss7_asp_protocol_port | ( | enum osmo_ss7_asp_protocol | prot | ) |
References prot2port.
Referenced by osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_sccp_simple_server_on_ss7_id(), and osmo_ss7_asp_protocol_name().
int osmo_ss7_asp_restart | ( | struct osmo_ss7_asp * | asp | ) |
References asp_proto_to_ip_proto(), osmo_ss7_asp::cfg, osmo_ss7_asp::client, osmo_ss7_asp::fi, osmo_ss7_asp_peer::host, osmo_ss7_asp::inst, ipa_cli_read_cb(), osmo_ss7_asp::is_server, osmo_ss7_asp::local, LOGSS7, osmo_ss7_asp::name, OSMO_SS7_ASP_PROT_IPA, osmo_ss7_asp_peer::port, osmo_ss7_asp::proto, osmo_ss7_asp::remote, osmo_ss7_asp::server, ss7_initialized, xua_asp_fsm_start(), XUA_ASPFSM_ROLE_ASP, XUA_ASPFSM_ROLE_SG, xua_cli_connect_cb(), and xua_cli_read_cb().
Referenced by osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_vty_go_parent(), restart_asp(), and xua_accept_cb().
int osmo_ss7_asp_send | ( | struct osmo_ss7_asp * | asp, |
struct msgb * | msg | ||
) |
send a fully encoded msgb via a given ASP
[in] | asp | Application Server Process through which to send |
[in] | msg | message buffer to transmit. Ownership transferred. |
References osmo_ss7_asp::cfg, osmo_ss7_asp::client, osmo_ss7_asp::is_server, LOGPASP, M3UA_PPID, OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp::proto, osmo_ss7_asp::server, ss7_initialized, and SUA_PPID.
Referenced by asp_notify_all_as(), ipa_asp_fsm_wait_id_get(), m3ua_rx_rkm_dereg_req(), m3ua_rx_rkm_reg_req(), m3ua_tx_xua_asp(), peer_send(), peer_send_error(), sua_tx_xua_asp(), xua_as_transmit_msg(), xua_rkm_send_dereg_req(), and xua_rkm_send_reg_req().
int osmo_ss7_bind_all_instances | ( | ) |
bind all xUA servers on each of the stored SS7 instances
References osmo_ss7_instance::list, LOGSS7, osmo_ss7_instance_bind(), osmo_ss7_instances, and ss7_initialized.
int osmo_ss7_find_free_rctx | ( | struct osmo_ss7_instance * | inst | ) |
References next_rctx, and osmo_ss7_as_find_by_rctx().
Referenced by handle_rkey_reg().
int osmo_ss7_init | ( | void | ) |
References ipa_asp_fsm, sccp_scoc_fsm, ss7_initialized, xua_as_fsm, xua_asp_fsm, and xua_default_lm_fsm.
int osmo_ss7_instance_bind | ( | struct osmo_ss7_instance * | inst | ) |
bind all xUA servers belonging to an SS7 Instance
[in] | inst | SS7 Instance to apply the socket binding (and start listening) |
References osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_xua_server::list, osmo_xua_server::local, LOGSS7, osmo_ss7_xua_server_bind(), osmo_ss7_asp_peer::port, and osmo_ss7_instance::xua_servers.
Referenced by osmo_ss7_bind_all_instances().
void osmo_ss7_instance_destroy | ( | struct osmo_ss7_instance * | inst | ) |
Destroy a SS7 Instance.
[in] | inst | SS7 Instance to be destroyed |
References osmo_ss7_instance::as_list, osmo_ss7_instance::asp_list, osmo_ss7_instance::linksets, osmo_ss7_instance::list, osmo_ss7_asp::list, LOGSS7, osmo_ss7_as_destroy(), osmo_ss7_asp_destroy(), osmo_ss7_linkset_destroy(), and ss7_initialized.
Referenced by osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_on_ss7_id().
struct osmo_ss7_instance* osmo_ss7_instance_find | ( | uint32_t | id | ) |
Find a SS7 Instance with given ID.
[in] | id | ID for which to search |
References osmo_ss7_instance::cfg, osmo_ss7_instance::id, osmo_ss7_instance::list, osmo_ss7_instances, and ss7_initialized.
Referenced by DEFUN(), osmo_sccp_simple_client_on_ss7_id(), and osmo_ss7_instance_find_or_create().
struct osmo_ss7_instance* osmo_ss7_instance_find_or_create | ( | void * | ctx, |
uint32_t | id | ||
) |
Find or create a SS7 Instance.
[in] | ctx | talloc allocation context to use for allocations |
[in] | id | ID of SS7 Instance |
References osmo_ss7_instance::as_list, osmo_ss7_instance::asp_list, osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, osmo_ss7_pc_fmt::delimiter, osmo_ss7_instance::id, osmo_ss7_instance::linksets, osmo_ss7_instance::list, LOGSS7, osmo_ss7_instance_find(), osmo_ss7_instances, OSMO_SS7_PC_INVALID, osmo_ss7_route_table_find_or_create(), osmo_ss7_instance::pc_fmt, osmo_ss7_instance::primary_pc, osmo_ss7_instance::rtable_list, osmo_ss7_instance::rtable_system, osmo_ss7_instance::sccp_address_book, ss7_initialized, and osmo_ss7_instance::xua_servers.
Referenced by DEFUN(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_on_ss7_id().
int osmo_ss7_instance_set_pc_fmt | ( | struct osmo_ss7_instance * | inst, |
uint8_t | c0, | ||
uint8_t | c1, | ||
uint8_t | c2 | ||
) |
Set the point code format used in given SS7 instance.
References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, LOGSS7, and osmo_ss7_instance::pc_fmt.
void osmo_ss7_link_destroy | ( | struct osmo_ss7_link * | link | ) |
Destryo SS7 Link.
[in] | link | SS7 Link to be destroyed |
References osmo_ss7_link::cfg, osmo_ss7_linkset::cfg, osmo_ss7_link::id, osmo_ss7_linkset::inst, osmo_ss7_linkset::links, osmo_ss7_link::linkset, LOGSS7, osmo_ss7_linkset::name, and ss7_initialized.
Referenced by osmo_ss7_linkset_destroy().
struct osmo_ss7_link* osmo_ss7_link_find_or_create | ( | struct osmo_ss7_linkset * | lset, |
uint32_t | id | ||
) |
Find or create SS7 Link with given ID in given Linkset.
[in] | lset | SS7 Linkset on which we operate |
[in] | id | Link number within Linkset |
References osmo_ss7_link::cfg, osmo_ss7_linkset::cfg, osmo_ss7_link::id, osmo_ss7_linkset::inst, osmo_ss7_linkset::links, osmo_ss7_link::linkset, LOGSS7, osmo_ss7_linkset::name, and ss7_initialized.
void osmo_ss7_linkset_destroy | ( | struct osmo_ss7_linkset * | lset | ) |
Destroy a SS7 Linkset.
[in] | lset | Linkset to be destroyed |
References osmo_ss7_linkset::cfg, osmo_ss7_route::dest, osmo_ss7_linkset::inst, osmo_ss7_linkset::links, osmo_ss7_route::linkset, osmo_ss7_linkset::list, osmo_ss7_route::list, LOGSS7, osmo_ss7_linkset::name, osmo_ss7_link_destroy(), osmo_ss7_route_destroy(), osmo_ss7_route_table::routes, osmo_ss7_instance::rtable_system, and ss7_initialized.
Referenced by osmo_ss7_instance_destroy().
struct osmo_ss7_linkset* osmo_ss7_linkset_find_by_name | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
Find SS7 Linkset by given name.
[in] | inst | SS7 Instance in which to look |
[in] | name | Name of SS7 Linkset |
References osmo_ss7_linkset::cfg, osmo_ss7_instance::linksets, osmo_ss7_linkset::list, osmo_ss7_linkset::name, and ss7_initialized.
Referenced by osmo_ss7_linkset_find_or_create(), and osmo_ss7_route_create().
struct osmo_ss7_linkset* osmo_ss7_linkset_find_or_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
uint32_t | pc | ||
) |
Find or allocate SS7 Linkset.
[in] | inst | SS7 Instance in which we operate |
[in] | name | Name of SS7 Linkset |
[in] | pc | Adjacent Pointcode |
References osmo_ss7_linkset::adjacent_pc, osmo_ss7_linkset::cfg, osmo_ss7_linkset::inst, osmo_ss7_instance::linksets, osmo_ss7_linkset::list, LOGSS7, osmo_ss7_linkset::name, osmo_ss7_linkset_find_by_name(), and ss7_initialized.
int osmo_ss7_mtp_to_user | ( | struct osmo_ss7_instance * | inst, |
struct osmo_mtp_prim * | omp | ||
) |
bool osmo_ss7_pc_is_local | ( | struct osmo_ss7_instance * | inst, |
uint32_t | pc | ||
) |
References osmo_ss7_instance::cfg, osmo_ss7_pc_is_valid(), osmo_ss7_instance::primary_pc, and ss7_initialized.
Referenced by m3ua_hmdc_rx_from_l2(), sccp_sclc_rx_scrc_rout_fail(), scrc_local_out_common(), and scrc_translate_node_9().
int osmo_ss7_pointcode_parse | ( | struct osmo_ss7_instance * | inst, |
const char * | str | ||
) |
References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, default_pc_fmt, gen_pc_fmtstr(), get_pc_comp_shift(), LOGSS7, num_pc_comp_exp(), and osmo_ss7_instance::pc_fmt.
Referenced by _rout_key(), DEFUN(), and osmo_ss7_pointcode_parse_mask_or_len().
int osmo_ss7_pointcode_parse_mask_or_len | ( | struct osmo_ss7_instance * | inst, |
const char * | in | ||
) |
References osmo_ss7_instance::cfg, get_pc_width(), osmo_ss7_pointcode_parse(), and osmo_ss7_instance::pc_fmt.
Referenced by DEFUN().
const char* osmo_ss7_pointcode_print | ( | const struct osmo_ss7_instance * | inst, |
uint32_t | pc | ||
) |
References _osmo_ss7_pointcode_print(), and MAX_PC_STR_LEN.
Referenced by DEFUN(), handle_rkey_dereg(), handle_rkey_reg(), hmrt_message_for_routing(), m3ua_hmdc_rx_from_l2(), m3ua_rx_xfer(), osmo_sccp_addr_name(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_user_unbind(), osmo_ss7_route_create(), osmo_ss7_route_name(), sccp_scoc_rx_inval_opc(), sccp_user_bind_pc(), show_user(), vty_dump_rtable(), vty_show_connection(), write_one_as(), write_one_cs7(), write_one_rtable(), and write_sccp_addressbook().
const char* osmo_ss7_pointcode_print2 | ( | const struct osmo_ss7_instance * | inst, |
uint32_t | pc | ||
) |
References _osmo_ss7_pointcode_print(), and MAX_PC_STR_LEN.
Referenced by m3ua_rx_xfer(), osmo_ss7_route_name(), and sccp_scoc_rx_inval_opc().
void osmo_ss7_register_rx_unknown_cb | ( | osmo_ss7_asp_rx_unknown_cb * | cb | ) |
Register a call-back function for unknown SCTP PPID / IPA Stream ID.
References g_osmo_ss7_asp_rx_unknown_cb.
struct osmo_ss7_route* osmo_ss7_route_create | ( | struct osmo_ss7_route_table * | rtbl, |
uint32_t | pc, | ||
uint32_t | mask, | ||
const char * | linkset_name | ||
) |
Create a new route in the given routing table.
[in] | rtbl | Routing Table in which the route is to be created |
[in] | pc | Point Code of the destination of the route |
[in] | mask | Mask of the destination Point Code pc |
[in] | linkset_name | string name of the linkset to be used |
References osmo_ss7_route::as, osmo_ss7_linkset::cfg, osmo_ss7_route::cfg, osmo_ss7_as::cfg, osmo_ss7_route::dest, osmo_ss7_route_table::inst, osmo_ss7_route::linkset, osmo_ss7_route::linkset_name, LOGSS7, osmo_ss7_route::mask, osmo_ss7_linkset::name, osmo_ss7_as::name, osmo_ss7_as_find_by_name(), osmo_ss7_linkset_find_by_name(), osmo_ss7_pointcode_print(), osmo_ss7_route::pc, route_insert_sorted(), osmo_ss7_route::rtable, and ss7_initialized.
Referenced by DEFUN(), handle_rkey_reg(), ipa_asp_fsm_wait_id_ack2(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_add_clnt().
void osmo_ss7_route_destroy | ( | struct osmo_ss7_route * | rt | ) |
Destroy a given SS7 route.
References osmo_ss7_route::list, and ss7_initialized.
Referenced by DEFUN(), handle_rkey_dereg(), handle_rkey_reg(), ipa_asp_fsm_cleanup(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_as_destroy(), and osmo_ss7_linkset_destroy().
struct osmo_ss7_route* osmo_ss7_route_find_dpc | ( | struct osmo_ss7_route_table * | rtbl, |
uint32_t | dpc | ||
) |
Find a SS7 route for given destination point code in given table.
References osmo_ss7_route::cfg, osmo_ss7_route::list, osmo_ss7_route::mask, osmo_ss7_route::pc, osmo_ss7_route_table::routes, and ss7_initialized.
Referenced by handle_rkey_dereg(), and osmo_ss7_route_lookup().
struct osmo_ss7_route* osmo_ss7_route_find_dpc_mask | ( | struct osmo_ss7_route_table * | rtbl, |
uint32_t | dpc, | ||
uint32_t | mask | ||
) |
Find a SS7 route for given destination point code + mask in given table.
References osmo_ss7_route::cfg, osmo_ss7_route::list, osmo_ss7_route::mask, osmo_ss7_route::pc, osmo_ss7_route_table::routes, and ss7_initialized.
Referenced by DEFUN(), ipa_asp_fsm_cleanup(), and osmo_sccp_simple_client_on_ss7_id().
struct osmo_ss7_route* osmo_ss7_route_lookup | ( | struct osmo_ss7_instance * | inst, |
uint32_t | dpc | ||
) |
Find a SS7 route for given destination point code in given SS7.
References osmo_ss7_route_find_dpc(), osmo_ss7_instance::rtable_system, and ss7_initialized.
Referenced by gen_mtp_transfer_req_xua(), and hmrt_message_for_routing().
void osmo_ss7_route_table_destroy | ( | struct osmo_ss7_route_table * | rtbl | ) |
References osmo_ss7_route_table::list.
struct osmo_ss7_route_table* osmo_ss7_route_table_find | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
References osmo_ss7_route_table::cfg, osmo_ss7_route_table::list, osmo_ss7_route_table::name, osmo_ss7_instance::rtable_list, and ss7_initialized.
Referenced by osmo_ss7_route_table_find_or_create().
struct osmo_ss7_route_table* osmo_ss7_route_table_find_or_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
enum osmo_ss7_as_traffic_mode osmo_ss7_tmode_from_xua | ( | uint32_t | in | ) |
References M3UA_TMOD_BCAST, M3UA_TMOD_LOADSHARE, M3UA_TMOD_OVERRIDE, OSMO_SS7_AS_TMOD_BCAST, OSMO_SS7_AS_TMOD_LOADSHARE, and OSMO_SS7_AS_TMOD_OVERRIDE.
Referenced by handle_rkey_reg().
int osmo_ss7_tmode_to_xua | ( | enum osmo_ss7_as_traffic_mode | tmod | ) |
References M3UA_TMOD_BCAST, M3UA_TMOD_LOADSHARE, M3UA_TMOD_OVERRIDE, OSMO_SS7_AS_TMOD_BCAST, OSMO_SS7_AS_TMOD_LOADSHARE, and OSMO_SS7_AS_TMOD_OVERRIDE.
Referenced by xua_rkm_send_reg_req().
int osmo_ss7_user_register | ( | struct osmo_ss7_instance * | inst, |
uint8_t | service_ind, | ||
struct osmo_ss7_user * | user | ||
) |
Register a MTP user for a given service indicator.
[in] | inst | SS7 instance for which we register the user |
[in] | service_ind | Service (ISUP, SCCP, ...) |
[in] | user | SS7 user (including primitive call-back) |
References osmo_ss7_user::inst, osmo_ss7_user::name, osmo_ss7_user::priv, and osmo_ss7_instance::user.
Referenced by osmo_sccp_instance_create().
int osmo_ss7_user_unregister | ( | struct osmo_ss7_instance * | inst, |
uint8_t | service_ind, | ||
struct osmo_ss7_user * | user | ||
) |
Unregister a MTP user for a given service indicator.
[in] | inst | SS7 instance for which we register the user |
[in] | service_ind | Service (ISUP, SCCP, ...) |
[in] | user | (optional) SS7 user. If present, we will not unregister other users |
References osmo_ss7_user::inst, and osmo_ss7_instance::user.
Referenced by osmo_sccp_instance_destroy().
int osmo_ss7_xua_server_bind | ( | struct osmo_xua_server * | xs | ) |
Set the xUA server to bind/listen to the currently configured ip/port.
[in] | xs | xUA server to operate |
References osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_xua_server::local, osmo_ss7_asp_protocol_vals, osmo_ss7_asp_peer::port, osmo_xua_server::proto, and osmo_xua_server::server.
Referenced by DEFUN(), osmo_sccp_simple_server_on_ss7_id(), and osmo_ss7_instance_bind().
struct osmo_xua_server* osmo_ss7_xua_server_create | ( | struct osmo_ss7_instance * | inst, |
enum osmo_ss7_asp_protocol | proto, | ||
uint16_t | local_port, | ||
const char * | local_host | ||
) |
create a new xUA server configured with given ip/port
[in] | ctx | talloc allocation context |
[in] | proto | protocol (xUA variant) to use |
[in] | local_port | local SCTP port to bind/listen to |
[in] | local_host | local IP address to bind/listen to (optional) |
References osmo_xua_server::asp_list, asp_proto_to_ip_proto(), osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_xua_server::inst, osmo_xua_server::list, osmo_xua_server::local, osmo_sccp_instance_create(), OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp_protocol_vals, osmo_ss7_asp_peer::port, osmo_xua_server::proto, osmo_ss7_instance::sccp, osmo_xua_server::server, ss7_initialized, xua_accept_cb(), and osmo_ss7_instance::xua_servers.
Referenced by DEFUN(), and osmo_sccp_simple_server_on_ss7_id().
void osmo_ss7_xua_server_destroy | ( | struct osmo_xua_server * | xs | ) |
References osmo_xua_server::asp_list, osmo_xua_server::list, osmo_ss7_asp_destroy(), osmo_xua_server::server, and osmo_ss7_asp::siblings.
Referenced by DEFUN(), and osmo_sccp_simple_server_on_ss7_id().
struct osmo_xua_server* osmo_ss7_xua_server_find | ( | struct osmo_ss7_instance * | inst, |
enum osmo_ss7_asp_protocol | proto, | ||
uint16_t | local_port | ||
) |
References osmo_xua_server::cfg, osmo_xua_server::list, osmo_xua_server::local, osmo_ss7_asp_peer::port, osmo_xua_server::proto, ss7_initialized, and osmo_ss7_instance::xua_servers.
Referenced by DEFUN().
int osmo_ss7_xua_server_set_local_host | ( | struct osmo_xua_server * | xs, |
const char * | local_host | ||
) |
References osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_xua_server::local, osmo_xua_server::server, and ss7_initialized.
Referenced by DEFUN().
|
static |
References osmo_ss7_pc_fmt::component_len, and get_pc_comp_shift().
Referenced by _osmo_ss7_pointcode_print().
|
static |
References osmo_ss7_route::cfg, osmo_ss7_route::list, osmo_ss7_route::mask, and osmo_ss7_route_table::routes.
Referenced by osmo_ss7_route_create().
int ss7_asp_rx_unknown | ( | struct osmo_ss7_asp * | asp, |
int | ppid_mux, | ||
struct msgb * | msg | ||
) |
References osmo_ss7_asp::cfg, g_osmo_ss7_asp_rx_unknown_cb, LOGPASP, OSMO_SS7_ASP_PROT_IPA, and osmo_ss7_asp::proto.
Referenced by ipa_rx_msg(), xua_cli_read_cb(), and xua_srv_conn_cb().
|
static |
Referenced by gen_pc_fmtstr().
|
static |
References osmo_xua_server::accept_dyn_reg, osmo_xua_server::asp_list, osmo_ss7_asp::cfg, osmo_xua_server::cfg, osmo_ss7_asp::dyn_allocated, osmo_ss7_asp::fi, osmo_xua_server::inst, ipa_srv_conn_cb(), osmo_ss7_asp::is_server, osmo_ss7_asp::name, osmo_ss7_asp_find_by_socket_addr(), osmo_ss7_asp_find_or_create(), OSMO_SS7_ASP_PROT_IPA, osmo_ss7_asp_protocol_vals, osmo_ss7_asp_restart(), OSMO_XLM_PRIM_M_SCTP_ESTABLISH, osmo_xua_server::proto, osmo_ss7_asp::server, osmo_ss7_asp::siblings, osmo_ss7_asp::sock_name, XUA_ASP_E_SCTP_EST_IND, xua_asp_send_xlm_prim_simple(), osmo_ss7_asp::xua_server, xua_srv_conn_cb(), and xua_srv_conn_closed_cb().
Referenced by osmo_ss7_xua_server_create().
|
static |
References osmo_ss7_asp::fi, OSMO_XLM_PRIM_M_SCTP_RELEASE, XUA_ASP_E_SCTP_COMM_DOWN_IND, and xua_asp_send_xlm_prim_simple().
Referenced by xua_cli_close_and_reconnect().
|
static |
References xua_cli_close().
Referenced by ipa_cli_read_cb(), osmo_ss7_asp_disconnect(), and xua_cli_read_cb().
|
static |
|
static |
References osmo_ss7_asp::cfg, log_sctp_notification(), LOGPASP, m3ua_msgb_alloc(), M3UA_PPID, m3ua_rx_msg(), OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, OSMO_XLM_PRIM_M_SCTP_RESTART, osmo_ss7_asp::proto, ss7_asp_rx_unknown(), SUA_PPID, sua_rx_msg(), xua_asp_send_xlm_prim_simple(), and xua_cli_close_and_reconnect().
Referenced by osmo_ss7_asp_destroy(), and osmo_ss7_asp_restart().
|
static |
References osmo_ss7_asp::cfg, log_sctp_notification(), LOGPASP, m3ua_msgb_alloc(), M3UA_PPID, m3ua_rx_msg(), OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, OSMO_XLM_PRIM_M_SCTP_RESTART, osmo_ss7_asp::proto, ss7_asp_rx_unknown(), SUA_PPID, sua_rx_msg(), and xua_asp_send_xlm_prim_simple().
Referenced by xua_accept_cb().
|
static |
References osmo_ss7_asp::cfg, osmo_ss7_asp::dyn_allocated, osmo_ss7_asp::fi, osmo_ss7_asp::name, osmo_ss7_asp_destroy(), OSMO_XLM_PRIM_M_SCTP_RELEASE, osmo_ss7_asp::server, XUA_ASP_E_SCTP_COMM_DOWN_IND, xua_asp_send_xlm_prim_simple(), and xua_rkm_cleanup_dyn_as_for_asp().
Referenced by xua_accept_cb().
|
static |
Referenced by _osmo_ss7_pointcode_print(), and osmo_ss7_pointcode_parse().
|
static |
Referenced by osmo_ss7_register_rx_unknown_cb(), and ss7_asp_rx_unknown().
|
static |
Referenced by find_free_l_rk_id().
|
static |
Referenced by osmo_ss7_find_free_rctx().
struct value_string osmo_ss7_as_traffic_mode_vals[] |
Referenced by DEFUN(), and osmo_ss7_as_traffic_mode_name().
struct value_string osmo_ss7_asp_protocol_vals[] |
Referenced by DEFUN(), osmo_ss7_asp_protocol_name(), osmo_ss7_xua_server_bind(), osmo_ss7_xua_server_create(), parse_asp_proto(), vty_dump_xua_server(), write_one_xua(), and xua_accept_cb().
|
static |
Referenced by osmo_ss7_asp_protocol_port().
|
static |
Referenced by log_sctp_notification().
|
static |
Referenced by log_sctp_notification().
|
static |
Referenced by osmo_ss7_as_add_asp(), osmo_ss7_as_del_asp(), osmo_ss7_as_destroy(), osmo_ss7_as_find_by_l_rk_id(), osmo_ss7_as_find_by_name(), osmo_ss7_as_find_by_proto(), osmo_ss7_as_find_by_rctx(), osmo_ss7_as_find_or_create(), osmo_ss7_as_has_asp(), osmo_ss7_asp_destroy(), osmo_ss7_asp_find_by_name(), osmo_ss7_asp_find_by_socket_addr(), osmo_ss7_asp_find_or_create(), osmo_ss7_asp_restart(), osmo_ss7_asp_send(), osmo_ss7_bind_all_instances(), osmo_ss7_init(), osmo_ss7_instance_destroy(), osmo_ss7_instance_find(), osmo_ss7_instance_find_or_create(), osmo_ss7_link_destroy(), osmo_ss7_link_find_or_create(), osmo_ss7_linkset_destroy(), osmo_ss7_linkset_find_by_name(), osmo_ss7_linkset_find_or_create(), osmo_ss7_pc_is_local(), osmo_ss7_route_create(), osmo_ss7_route_destroy(), osmo_ss7_route_find_dpc(), osmo_ss7_route_find_dpc_mask(), osmo_ss7_route_lookup(), osmo_ss7_route_table_find(), osmo_ss7_route_table_find_or_create(), osmo_ss7_xua_server_create(), osmo_ss7_xua_server_find(), and osmo_ss7_xua_server_set_local_host().