|
libosmo-sigtran 2.1.0.172-a2b0
Osmocom SIGTRAN library
|
#include <stdint.h>#include <osmocom/core/msgb.h>#include <osmocom/sigtran/osmo_ss7.h>#include <osmocom/sigtran/sccp_sap.h>#include "ss7_asp.h"#include "ss7_as.h"#include "tcap_transaction_tracking.h"Functions | |
| static void | entry_update_tstamp (struct tcap_trxn_track_entry *entry) |
| static uint64_t | gen_hash (uint32_t tid, uint8_t ssn, uint32_t pc) |
| static uint64_t | gen_hash_addr (uint32_t tid, const struct osmo_sccp_addr *addr) |
| static void | trxn_sccp_addr_cpy (struct osmo_sccp_addr *dst, const struct osmo_sccp_addr *src) |
| struct tcap_trxn_track_entry * | tcap_trxn_track_create_entry (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp, const struct osmo_sccp_addr *own_addr, const uint32_t *own_tid, const struct osmo_sccp_addr *peer_addr, const uint32_t *peer_tid) |
| void | tcap_trxn_track_free_entry (struct tcap_trxn_track_entry *entry) |
| struct tcap_trxn_track_entry * | tcap_trxn_track_find_entry (struct osmo_ss7_as *as, const struct osmo_sccp_addr *own_addr, const uint32_t *own_tid, const struct osmo_sccp_addr *peer_addr, const uint32_t *peer_tid) |
| struct tcap_trxn_track_entry * | tcap_trxn_track_begin (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp, const struct osmo_sccp_addr *own_addr, const uint32_t *own_tid, const struct osmo_sccp_addr *peer_addr, const uint32_t *peer_tid) |
| struct osmo_ss7_asp * | tcap_trxn_track_continue (struct osmo_ss7_as *as, const struct osmo_sccp_addr *own_addr, const uint32_t *own_tid, const struct osmo_sccp_addr *peer_addr, const uint32_t *peer_tid) |
| struct osmo_ss7_asp * | tcap_trxn_track_end (struct osmo_ss7_as *as, const struct osmo_sccp_addr *own_addr, const uint32_t *own_tid, const struct osmo_sccp_addr *peer_addr, const uint32_t *peer_tid) |
| int | tcap_trxn_track_garbage_collect (struct osmo_ss7_as *as) |
| static void | tcap_trxn_track_garbage_collect_cb (void *data) |
| void | tcap_trxn_track_garbage_collect_start (struct osmo_ss7_as *as) |
| void | tcap_trxn_track_garbage_collect_stop (struct osmo_ss7_as *as) |
| int | tcap_trxn_track_free_asp_entries (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp) |
| int | tcap_trxn_track_free_all_entries (struct osmo_ss7_as *as) |
|
inlinestatic |
References tcap_trxn_track_entry::tstamp.
Referenced by tcap_trxn_track_begin(), tcap_trxn_track_continue(), and tcap_trxn_track_create_entry().
|
inlinestatic |
Referenced by gen_hash_addr().
|
inlinestatic |
References gen_hash(), OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, osmo_sccp_addr::pc, pc, osmo_sccp_addr::presence, osmo_sccp_addr::ssn, and ssn.
Referenced by tcap_trxn_track_continue(), tcap_trxn_track_create_entry(), and tcap_trxn_track_find_entry().
| struct tcap_trxn_track_entry * tcap_trxn_track_begin | ( | struct osmo_ss7_as * | as, |
| struct osmo_ss7_asp * | asp, | ||
| const struct osmo_sccp_addr * | own_addr, | ||
| const uint32_t * | own_tid, | ||
| const struct osmo_sccp_addr * | peer_addr, | ||
| const uint32_t * | peer_tid | ||
| ) |
References tcap_trxn_track_entry::asp, entry_update_tstamp(), tcap_trxn_track_entry::own_addr, tcap_trxn_track_entry::own_tid, tcap_trxn_track_entry::peer_addr, tcap_trxn_track_entry::peer_tid, tcap_trxn_track_create_entry(), and tcap_trxn_track_find_entry().
Referenced by asp_loadshare_tcap_sccp().
| struct osmo_ss7_asp * tcap_trxn_track_continue | ( | struct osmo_ss7_as * | as, |
| const struct osmo_sccp_addr * | own_addr, | ||
| const uint32_t * | own_tid, | ||
| const struct osmo_sccp_addr * | peer_addr, | ||
| const uint32_t * | peer_tid | ||
| ) |
References tcap_trxn_track_entry::asp, entry_update_tstamp(), gen_hash_addr(), tcap_trxn_track_tid_entry::list, NULL, tcap_trxn_track_entry::own_addr, tcap_trxn_track_entry::own_tid, tcap_trxn_track_entry::peer_addr, tcap_trxn_track_entry::peer_tid, osmo_ss7_as::tcap, tcap_trxn_track_find_entry(), tcap_trxn_track_tid_entry::tid, and tcap_trxn_track_tid_entry::tid_valid.
Referenced by asp_loadshare_tcap_sccp(), and ss7_asp_tcap_rx_sccp().
| struct tcap_trxn_track_entry * tcap_trxn_track_create_entry | ( | struct osmo_ss7_as * | as, |
| struct osmo_ss7_asp * | asp, | ||
| const struct osmo_sccp_addr * | own_addr, | ||
| const uint32_t * | own_tid, | ||
| const struct osmo_sccp_addr * | peer_addr, | ||
| const uint32_t * | peer_tid | ||
| ) |
References tcap_trxn_track_entry::asp, entry_update_tstamp(), err, gen_hash_addr(), tcap_trxn_track_tid_entry::list, LOGPASP, NULL, tcap_trxn_track_entry::own_addr, tcap_trxn_track_entry::own_tid, osmo_sccp_addr::pc, tcap_trxn_track_entry::peer_addr, tcap_trxn_track_entry::peer_tid, osmo_sccp_addr::ssn, osmo_ss7_as::tcap, tcap_trxn_track_tid_entry::tid, tcap_trxn_track_tid_entry::tid_valid, and trxn_sccp_addr_cpy().
Referenced by ss7_asp_tcap_rx_sccp(), and tcap_trxn_track_begin().
| struct osmo_ss7_asp * tcap_trxn_track_end | ( | struct osmo_ss7_as * | as, |
| const struct osmo_sccp_addr * | own_addr, | ||
| const uint32_t * | own_tid, | ||
| const struct osmo_sccp_addr * | peer_addr, | ||
| const uint32_t * | peer_tid | ||
| ) |
References tcap_trxn_track_entry::asp, NULL, tcap_trxn_track_entry::own_addr, tcap_trxn_track_entry::own_tid, tcap_trxn_track_entry::peer_addr, tcap_trxn_track_entry::peer_tid, tcap_trxn_track_find_entry(), and tcap_trxn_track_free_entry().
Referenced by asp_loadshare_tcap_sccp(), and ss7_asp_tcap_rx_sccp().
| struct tcap_trxn_track_entry * tcap_trxn_track_find_entry | ( | struct osmo_ss7_as * | as, |
| const struct osmo_sccp_addr * | own_addr, | ||
| const uint32_t * | own_tid, | ||
| const struct osmo_sccp_addr * | peer_addr, | ||
| const uint32_t * | peer_tid | ||
| ) |
References gen_hash_addr(), tcap_trxn_track_tid_entry::list, NULL, osmo_sccp_addr_cmp(), OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, tcap_trxn_track_entry::own_addr, tcap_trxn_track_entry::own_tid, tcap_trxn_track_entry::peer_addr, tcap_trxn_track_entry::peer_tid, osmo_ss7_as::tcap, tcap_trxn_track_tid_entry::tid, and tcap_trxn_track_tid_entry::tid_valid.
Referenced by tcap_trxn_track_begin(), tcap_trxn_track_continue(), and tcap_trxn_track_end().
| int tcap_trxn_track_free_all_entries | ( | struct osmo_ss7_as * | as | ) |
| int tcap_trxn_track_free_asp_entries | ( | struct osmo_ss7_as * | as, |
| struct osmo_ss7_asp * | asp | ||
| ) |
| void tcap_trxn_track_free_entry | ( | struct tcap_trxn_track_entry * | entry | ) |
| int tcap_trxn_track_garbage_collect | ( | struct osmo_ss7_as * | as | ) |
References tcap_trxn_track_entry::asp, osmo_ss7_as::cfg, osmo_ss7_as::loadshare, LOGPASP, tcap_trxn_track_entry::own_tid, tcap_trxn_track_entry::peer_tid, osmo_ss7_as::tcap, tcap_trxn_track_free_entry(), tcap_trxn_track_tid_entry::tid, osmo_ss7_as::timeout_s, and tcap_trxn_track_entry::tstamp.
Referenced by tcap_trxn_track_garbage_collect_cb().
|
static |
References osmo_ss7_as::cfg, data, osmo_ss7_as::gc_timer, osmo_ss7_as::loadshare, LOGPAS, osmo_ss7_as::tcap, tcap_trxn_track_garbage_collect(), and osmo_ss7_as::timeout_s.
Referenced by tcap_trxn_track_garbage_collect_start().
| void tcap_trxn_track_garbage_collect_start | ( | struct osmo_ss7_as * | as | ) |
References osmo_ss7_as::gc_timer, osmo_ss7_as::tcap, and tcap_trxn_track_garbage_collect_cb().
Referenced by tcap_enable().
| void tcap_trxn_track_garbage_collect_stop | ( | struct osmo_ss7_as * | as | ) |
References osmo_ss7_as::gc_timer, and osmo_ss7_as::tcap.
Referenced by tcap_disable().
|
static |
References OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, osmo_sccp_addr::pc, osmo_sccp_addr::presence, and osmo_sccp_addr::ssn.
Referenced by tcap_trxn_track_create_entry().