libosmo-sigtran 2.1.0.172-a2b0
Osmocom SIGTRAN library
Loading...
Searching...
No Matches
tcap_transaction_tracking.c File Reference
#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_entrytcap_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_entrytcap_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_entrytcap_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_asptcap_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_asptcap_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)
 

Function Documentation

◆ entry_update_tstamp()

static void entry_update_tstamp ( struct tcap_trxn_track_entry entry)
inlinestatic

◆ gen_hash()

static uint64_t gen_hash ( uint32_t  tid,
uint8_t  ssn,
uint32_t  pc 
)
inlinestatic

References pc, and ssn.

Referenced by gen_hash_addr().

◆ gen_hash_addr()

static uint64_t gen_hash_addr ( uint32_t  tid,
const struct osmo_sccp_addr addr 
)
inlinestatic

◆ tcap_trxn_track_begin()

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 
)

◆ tcap_trxn_track_continue()

◆ tcap_trxn_track_create_entry()

◆ tcap_trxn_track_end()

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 
)

◆ tcap_trxn_track_find_entry()

◆ tcap_trxn_track_free_all_entries()

◆ tcap_trxn_track_free_asp_entries()

◆ tcap_trxn_track_free_entry()

◆ tcap_trxn_track_garbage_collect()

◆ tcap_trxn_track_garbage_collect_cb()

◆ tcap_trxn_track_garbage_collect_start()

void tcap_trxn_track_garbage_collect_start ( struct osmo_ss7_as as)

◆ tcap_trxn_track_garbage_collect_stop()

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().

◆ trxn_sccp_addr_cpy()

static void trxn_sccp_addr_cpy ( struct osmo_sccp_addr dst,
const struct osmo_sccp_addr src 
)
static