libosmo-sigtran 2.0.0.50-b59d
Osmocom SIGTRAN library
|
#include <stdbool.h>
#include <stdint.h>
#include <osmocom/netif/stream.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include "ss7_instance.h"
Go to the source code of this file.
Macros | |
#define | MAX_PC_STR_LEN 32 |
Functions | |
bool | ss7_ipv6_sctp_supported (const char *host, bool bind) |
struct osmo_ss7_as * | ss7_as_alloc (struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto) |
Allocate an Application Server. More... | |
struct osmo_ss7_asp * | ss7_asp_find_by_socket_addr (int fd, int trans_proto) |
Find an ASP definition matching the local+remote IP/PORT of given fd. More... | |
bool | ss7_asp_protocol_check_trans_proto (enum osmo_ss7_asp_protocol proto, int trans_proto) |
int | ss7_default_trans_proto_for_asp_proto (enum osmo_ss7_asp_protocol proto) |
int | ss7_asp_ipa_srv_conn_rx_cb (struct osmo_stream_srv *conn, int res, struct msgb *msg) |
int | ss7_asp_xua_srv_conn_rx_cb (struct osmo_stream_srv *conn, int res, struct msgb *msg) |
int | ss7_asp_m3ua_tcp_srv_conn_rx_cb (struct osmo_stream_srv *conn, int res, struct msgb *msg) |
int | ss7_asp_xua_srv_conn_closed_cb (struct osmo_stream_srv *srv) |
int | xua_tcp_segmentation_cb (struct msgb *msg) |
Variables | |
bool | ss7_initialized |
#define MAX_PC_STR_LEN 32 |
struct osmo_ss7_as * ss7_as_alloc | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
Allocate an 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::ctrg, osmo_ss7_as::fi, g_ss7_as_rcg_idx, osmo_ss7_as::inst, osmo_ss7_routing_key::l_rk_id, osmo_ss7_as::list, osmo_ss7_as::mode, osmo_ss7_as::name, OSMO_SS7_AS_TMOD_OVERRIDE, osmo_ss7_as::proto, osmo_ss7_as::recovery_timeout_msec, osmo_ss7_as::routing_key, ss7_as_rcgd, ss7_find_free_l_rk_id(), and xua_as_fsm_start().
Referenced by osmo_ss7_as_find_or_create().
struct osmo_ss7_asp * ss7_asp_find_by_socket_addr | ( | int | fd, |
int | trans_proto | ||
) |
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, chop_v4_mapped_on_v6_prefix(), get_in_port(), osmo_ss7_asp_peer::host_cnt, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp::local, osmo_ss7_instances, osmo_ss7_asp_peer::port, osmo_ss7_asp::remote, ss7_asp_peer_match_host(), ss7_initialized, and osmo_ss7_asp::trans_proto.
Referenced by xua_accept_cb().
int ss7_asp_ipa_srv_conn_rx_cb | ( | struct osmo_stream_srv * | conn, |
int | res, | ||
struct msgb * | msg | ||
) |
References osmo_ss7_asp::asp_id, osmo_ss7_asp::ctrg, ipa_rx_msg(), and SS7_ASP_CTR_PKT_RX_TOTAL.
Referenced by xua_accept_cb().
int ss7_asp_m3ua_tcp_srv_conn_rx_cb | ( | struct osmo_stream_srv * | conn, |
int | res, | ||
struct msgb * | msg | ||
) |
References osmo_ss7_asp::ctrg, xua_common_hdr::data, M3UA_MSGC_XFER, m3ua_rx_msg(), xua_common_hdr::msg_class, and SS7_ASP_CTR_PKT_RX_TOTAL.
Referenced by xua_accept_cb().
bool ss7_asp_protocol_check_trans_proto | ( | enum osmo_ss7_asp_protocol | proto, |
int | trans_proto | ||
) |
References OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_NONE, and OSMO_SS7_ASP_PROT_SUA.
Referenced by ss7_asp_alloc(), and ss7_xua_server_create2().
int ss7_asp_xua_srv_conn_closed_cb | ( | struct osmo_stream_srv * | srv | ) |
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().
int ss7_asp_xua_srv_conn_rx_cb | ( | struct osmo_stream_srv * | conn, |
int | res, | ||
struct msgb * | msg | ||
) |
References asp_handle_sctp_notif_monitor_primary_address(), osmo_ss7_asp::cfg, osmo_ss7_asp::ctrg, log_sctp_notification(), LOGPASP, 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_CTR_PKT_RX_TOTAL, ss7_asp_rx_unknown(), SUA_PPID, sua_rx_msg(), and xua_asp_send_xlm_prim_simple().
Referenced by xua_accept_cb().
int ss7_default_trans_proto_for_asp_proto | ( | enum osmo_ss7_asp_protocol | proto | ) |
References OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, and OSMO_SS7_ASP_PROT_SUA.
Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_sccp_simple_server_on_ss7_id(), osmo_ss7_asp_find(), osmo_ss7_asp_find_or_create(), ss7_xua_server_create(), ss7_xua_server_find(), write_one_asp(), and write_one_xua().
bool ss7_ipv6_sctp_supported | ( | const char * | host, |
bool | bind | ||
) |
Referenced by ss7_asp_set_default_peer_hosts(), and ss7_xua_server_set_default_local_hosts().
int xua_tcp_segmentation_cb | ( | struct msgb * | msg | ) |
References xua_common_hdr::data, msg_length, and xua_common_hdr::msg_length.
Referenced by osmo_ss7_asp_restart(), and xua_accept_cb().
|
extern |
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_find2(), osmo_ss7_asp_find_by_name(), osmo_ss7_asp_find_or_create2(), osmo_ss7_asp_restart(), osmo_ss7_asp_send(), osmo_ss7_init(), osmo_ss7_instance_destroy(), osmo_ss7_instance_find(), osmo_ss7_instance_find_or_create(), osmo_ss7_pc_is_local(), osmo_ss7_route_lookup(), ss7_asp_find_by_socket_addr(), ss7_link_destroy(), ss7_link_find_or_create(), ss7_linkset_destroy(), ss7_linkset_find_by_name(), ss7_linkset_find_or_create(), ss7_route_alloc(), ss7_route_destroy(), ss7_route_table_find(), ss7_route_table_find_or_create(), ss7_route_table_find_route_by_dpc(), ss7_route_table_find_route_by_dpc_mask(), ss7_xua_server_create2(), ss7_xua_server_find2(), and ss7_xua_server_set_local_hosts().