libosmo-sigtran 2.1.0.194-89e3 Osmocom SIGTRAN library

Data Structures | Macros | Typedefs | Functions
ss7_combined_linkset.h File Reference
`#include <stdint.h>`
`#include <osmocom/core/linuxlist.h>`

Go to the source code of this file.

## Data Structures
struct | osmo_ss7_esls_entry
struct | osmo_ss7_combined_linkset

## Macros
#define | NUM_EXT_SLS 128
#define | LOGPCLSET(clset, subsys, level, fmt, args ...)

## Typedefs
typedef uint8_t | ext_sls_t

## Functions
struct osmo_ss7_combined_linkset * | ss7_combined_linkset_alloc (struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask, uint32_t prio)
void | ss7_combined_linkset_free (struct osmo_ss7_combined_linkset *clset)
struct osmo_ss7_linkset * | ss7_combined_linkset_find_or_create (struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask, uint32_t prio)
void | ss7_combined_linkset_add_route (struct osmo_ss7_combined_linkset *clset, struct osmo_ss7_route *rt)
void | ss7_combined_linkset_del_route (struct osmo_ss7_route *rt)
struct osmo_ss7_route * | ss7_combined_linkset_lookup_route (struct osmo_ss7_combined_linkset *clset, const struct osmo_ss7_route_label *rtlabel)
bool | ss7_combined_linkset_is_available (const struct osmo_ss7_combined_linkset *clset)

## Macro Definition Documentation

## ◆ LOGPCLSET

#define LOGPCLSET | ( |  | clset,
|  |  | subsys,
|  |  | level,
|  |  | fmt,
|  |  | args ...
| ) |  |

Value:
do { \
char _pc_str[MAX_PC_STR_LEN]; \
char _mask_str[MAX_PC_STR_LEN]; \
_LOGSS7((clset)->rtable->inst, subsys, level, \
"CombinedLinkset(dpc=%u=%s,mask=0x%x=%s,prio=%u) " fmt, \
(clset)->cfg.pc, osmo_ss7_pointcode_print_buf(_pc_str, MAX_PC_STR_LEN, (clset)->rtable->inst, (clset)->cfg.pc), \
(clset)->cfg.mask, osmo_ss7_pointcode_print_buf(_mask_str, MAX_PC_STR_LEN, (clset)->rtable->inst, (clset)->cfg.mask), \
(clset)->cfg.priority, ## args); \
} while (0)
osmo_ss7_pointcode_print_buf
const char * osmo_ss7_pointcode_print_buf(char *buf, size_t buf_len, const struct osmo_ss7_instance *inst, uint32_t pc)
Definition: ss7_instance.c:585
MAX_PC_STR_LEN
#define MAX_PC_STR_LEN
Definition: ss7_internal.h:12

## ◆ NUM_EXT_SLS

#define NUM_EXT_SLS 128

## Typedef Documentation

## ◆ ext_sls_t

typedef uint8_t ext_sls_t

## Function Documentation

## ◆ ss7_combined_linkset_add_route()

void ss7_combined_linkset_add_route | ( | struct osmo_ss7_combined_linkset * | clset,
|  | struct osmo_ss7_route * | rt
| ) |  |

References osmo_ss7_route::clset, osmo_ss7_route::list, osmo_ss7_combined_linkset::num_routes, and osmo_ss7_combined_linkset::routes.

Referenced by ss7_route_insert().

## ◆ ss7_combined_linkset_alloc()

struct osmo_ss7_combined_linkset * ss7_combined_linkset_alloc | ( | struct osmo_ss7_route_table * | rtbl,
|  | uint32_t | pc,
|  | uint32_t | mask,
|  | uint32_t | prio
| ) |  |

References osmo_ss7_combined_linkset::cfg, osmo_ss7_instance::cfg, osmo_ss7_route_table::inst, osmo_ss7_combined_linkset::mask, NULL, osmo_ss7_pc_normalize(), osmo_ss7_combined_linkset::pc, osmo_ss7_instance::pc_fmt, osmo_ss7_combined_linkset::priority, osmo_ss7_combined_linkset::routes, osmo_ss7_combined_linkset::rtable, and ss7_combined_linkset_insert().

Referenced by ss7_route_insert(), and ss7_route_table_find_or_create_combined_linkset().

## ◆ ss7_combined_linkset_del_route()

void ss7_combined_linkset_del_route | ( | struct osmo_ss7_route * | rt | ) |

References osmo_ss7_esls_entry::alt_rt, osmo_ss7_route::clset, osmo_ss7_combined_linkset::esls_table, osmo_ss7_combined_linkset::last_route_roundrobin_ass, osmo_ss7_combined_linkset::last_route_roundrobin_tx, osmo_ss7_combined_linkset::list, osmo_ss7_route::list, osmo_ss7_esls_entry::normal_rt, NULL, osmo_ss7_combined_linkset::num_routes, osmo_ss7_combined_linkset::routes, ss7_combined_linkset_free(), and ss7_llist_round_robin.

Referenced by ss7_route_destroy().

## ◆ ss7_combined_linkset_find_or_create()

struct osmo_ss7_linkset * ss7_combined_linkset_find_or_create | ( | struct osmo_ss7_route_table * | rtbl,
|  | uint32_t | pc,
|  | uint32_t | mask,
|  | uint32_t | prio
| ) |  |

## ◆ ss7_combined_linkset_free()

void ss7_combined_linkset_free | ( | struct osmo_ss7_combined_linkset * | clset | ) |

References osmo_ss7_combined_linkset::list.

Referenced by ss7_combined_linkset_del_route().

## ◆ ss7_combined_linkset_is_available()

bool ss7_combined_linkset_is_available | ( | const struct osmo_ss7_combined_linkset * | clset | ) |

References osmo_ss7_route::clset, osmo_ss7_route::list, osmo_ss7_combined_linkset::routes, and ss7_route_is_available().

Referenced by ss7_route_table_dpc_is_accessible(), and vty_dump_rtable().

## ◆ ss7_combined_linkset_lookup_route()

struct osmo_ss7_route * ss7_combined_linkset_lookup_route | ( | struct osmo_ss7_combined_linkset * | clset,
|  | const struct osmo_ss7_route_label * | rtlabel
| ) |  |

References osmo_ss7_esls_entry::alt_rt, osmo_ss7_route::as, osmo_ss7_as::cfg, current_rt(), osmo_ss7_route::dest, osmo_ss7_combined_linkset::esls_table, osmo_ss7_route_table::inst, LOGPCLSET, osmo_ss7_as::name, osmo_ss7_esls_entry::normal_rt, NULL, osmo_ss7_instance_calc_itu_ext_sls(), osmo_ss7_combined_linkset::rtable, ss7_combined_linkset_assign_route_roundrobin(), ss7_combined_linkset_select_route_roundrobin(), ss7_route_is_available(), and ss7_route_label_to_str().

Referenced by ss7_route_table_lookup_route().