libosmo-sigtran: src/ss7_instance.h File Reference

libosmo-sigtran 2.2.1.95-893c Osmocom SIGTRAN library

Data Structures | Macros | Enumerations | Functions | Variables
ss7_instance.h File Reference
`#include <stdint.h>`
`#include <stdbool.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/tdef.h>`
`#include <osmocom/core/timer.h>`
`#include <osmocom/core/timer_compat.h>`
`#include <osmocom/core/rate_ctr.h>`
`#include <osmocom/sigtran/protocol/mtp.h>`

Go to the source code of this file.

## Data Structures
struct | osmo_ss7_pc_fmt
struct | osmo_ss7_instance
struct | t8_inaccessible_sp_entry

## Macros
#define | SS7_INST_XUA_DEFAULT_T8_MSEC 1000
#define | SS7_INST_XUA_DEFAULT_T10_SEC 45
#define | _LOGSS7(inst, subsys, level, fmt, args ...) LOGP(subsys, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args)
#define | LOGSS7(inst, level, fmt, args ...) _LOGSS7(inst, DLSS7, level, fmt, ## args)

## Enumerations
enum | ss7_instance_xua_timer { SS7_INST_XUA_T8 = 1 , SS7_INST_XUA_T10 , SS7_INST_XUA_TIMERS_LEN }
enum | ss7_instance_ctr { SS7_INST_CTR_PKT_RX_TOTAL , SS7_INST_CTR_PKT_RX_UNKNOWN , SS7_INST_CTR_PKT_RX_NI_MISMATCH , SS7_INST_CTR_PKT_TX_TOTAL }

## Functions
struct osmo_ss7_instance * | ss7_instance_alloc (void *ctx, uint32_t id)
uint32_t | ss7_find_free_l_rk_id (struct osmo_ss7_instance *inst)
struct osmo_ss7_route * | ss7_instance_lookup_route (struct osmo_ss7_instance *inst, const struct osmo_ss7_route_label *rtlabel)
| Find a SS7 route for given destination point code in given SS7. More...
bool | ss7_instance_t8_inaccessible_sp_running (const struct osmo_ss7_instance *inst, uint32_t dpc)
void | ss7_instance_t8_inaccessible_sp_start (struct osmo_ss7_instance *inst, uint32_t dpc)

## Variables
const struct value_string | ss7_instance_xua_timer_names []
const struct osmo_tdef | ss7_instance_xua_timer_defaults [SS7_INST_XUA_TIMERS_LEN]

## Macro Definition Documentation

## ◆ _LOGSS7

#define _LOGSS7 | ( |  | inst,
|  |  | subsys,
|  |  | level,
|  |  | fmt,
|  |  | args ...
| ) |  | LOGP(subsys, level, "%u: " fmt, inst ? (inst)->cfg.id : 0, ## args)

## ◆ LOGSS7

#define LOGSS7 | ( |  | inst,
|  |  | level,
|  |  | fmt,
|  |  | args ...
| ) |  | _LOGSS7(inst, DLSS7, level, fmt, ## args)

## ◆ SS7_INST_XUA_DEFAULT_T10_SEC

#define SS7_INST_XUA_DEFAULT_T10_SEC 45

## ◆ SS7_INST_XUA_DEFAULT_T8_MSEC

#define SS7_INST_XUA_DEFAULT_T8_MSEC 1000

## Enumeration Type Documentation

## ◆ ss7_instance_ctr

enum ss7_instance_ctr

Enumerator
SS7_INST_CTR_PKT_RX_TOTAL |
SS7_INST_CTR_PKT_RX_UNKNOWN |
SS7_INST_CTR_PKT_RX_NI_MISMATCH |
SS7_INST_CTR_PKT_TX_TOTAL |

## ◆ ss7_instance_xua_timer

enum ss7_instance_xua_timer

Enumerator
SS7_INST_XUA_T8 |
SS7_INST_XUA_T10 |
SS7_INST_XUA_TIMERS_LEN |

## Function Documentation

## ◆ ss7_find_free_l_rk_id()

uint32_t ss7_find_free_l_rk_id | ( | struct osmo_ss7_instance * | inst | ) |

References next_l_rk_id, and osmo_ss7_as_find_by_l_rk_id().

Referenced by ss7_as_alloc().

## ◆ ss7_instance_alloc()

struct osmo_ss7_instance * ss7_instance_alloc | ( | void * | ctx,
|  | uint32_t | id
| ) |  |

References osmo_ss7_instance::as_list, osmo_ss7_instance::asp_list, osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, osmo_ss7_instance::ctrg, osmo_ss7_pc_fmt::delimiter, osmo_ss7_instance::id, osmo_ss7_instance::linksets, osmo_ss7_instance::list, LOGSS7, NULL, osmo_ss7_instances, OSMO_SS7_PC_INVALID, 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, osmo_ss7_instance::secondary_pc, ss7_inst_rcgd, ss7_instance_xua_timer_defaults, ss7_route_table_find_or_create(), osmo_ss7_instance::t8_inaccessible_sp, t8_inaccessible_sp_timer_cb(), osmo_ss7_instance::T_defs_xua, osmo_ss7_instance::timer, and osmo_ss7_instance::xua_servers.

Referenced by osmo_ss7_instance_find_or_create().

## ◆ ss7_instance_lookup_route()

struct osmo_ss7_route * ss7_instance_lookup_route | ( | struct osmo_ss7_instance * | inst,
|  | const struct osmo_ss7_route_label * | rtlabel
| ) |  |

Find a SS7 route for given destination point code in given SS7.

References osmo_ss7_instance::rtable_system, ss7_initialized, and ss7_route_table_lookup_route().

Referenced by DEFUN(), gen_mtp_transfer_req_xua(), mtp3_hmdt_rx_msg_for_local_unavailable_part(), mtp3_hmrt_message_for_routing(), mtp3_rtpc_rx_msg_for_inaccessible_sp(), and osmo_ss7_route_lookup().

## ◆ ss7_instance_t8_inaccessible_sp_running()

bool ss7_instance_t8_inaccessible_sp_running | ( | const struct osmo_ss7_instance * | inst,
|  | uint32_t | dpc
| ) |  |

References dpc, t8_inaccessible_sp_entry::dpc, t8_inaccessible_sp_entry::entry, osmo_ss7_instance::list, and osmo_ss7_instance::t8_inaccessible_sp.

Referenced by mtp3_rtpc_rx_msg_for_inaccessible_sp(), and ss7_instance_t8_inaccessible_sp_start().

## ◆ ss7_instance_t8_inaccessible_sp_start()

void ss7_instance_t8_inaccessible_sp_start | ( | struct osmo_ss7_instance * | inst,
|  | uint32_t | dpc
| ) |  |

References osmo_ss7_instance::cfg, dpc, t8_inaccessible_sp_entry::dpc, t8_inaccessible_sp_entry::entry, osmo_ss7_instance::list, LOGSS7, MAX_PC_STR_LEN, osmo_ss7_pointcode_print_buf(), SS7_INST_XUA_T8, ss7_instance_t8_inaccessible_sp_running(), osmo_ss7_instance::t8_inaccessible_sp, osmo_ss7_instance::T_defs_xua, osmo_ss7_instance::timer, and t8_inaccessible_sp_entry::ts_started.

Referenced by mtp3_rtpc_rx_msg_for_inaccessible_sp().

## Variable Documentation

## ◆ ss7_instance_xua_timer_defaults

const struct osmo_tdef ss7_instance_xua_timer_defaults[SS7_INST_XUA_TIMERS_LEN]
| extern

Referenced by gen_cs7_timer_xua_cmd_strs(), and ss7_instance_alloc().

## ◆ ss7_instance_xua_timer_names

const struct value_string ss7_instance_xua_timer_names[]
| extern

Referenced by DEFUN_ATTR(), gen_cs7_timer_xua_cmd_strs(), and write_cs7_timers_xua().