Loading...
Searching...
No Matches
ss7_route.h
Go to the documentation of this file.
#pragma once
#include <stdint.h>
#include <osmocom/core/linuxlist.h>
/***********************************************************************
* SS7 Routes
***********************************************************************/
struct osmo_ss7_instance;
struct osmo_ss7_route_table;
struct osmo_ss7_linkset;
struct osmo_ss7_as;
#define OSMO_SS7_ROUTE_PRIO_DEFAULT 5
struct osmo_ss7_route {
struct llist_head list;
struct osmo_ss7_route_table *rtable;
struct {
struct osmo_ss7_linkset *linkset;
struct osmo_ss7_as *as;
} dest;
struct {
/* FIXME: presence? */
uint32_t pc;
uint32_t mask;
char *linkset_name;
uint32_t priority;
uint8_t qos_class;
} cfg;
};
struct osmo_ss7_route *
ss7_route_alloc(struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask);
struct osmo_ss7_route *
ss7_route_create(struct osmo_ss7_route_table *rtbl, uint32_t dpc,
uint32_t mask, const char *linkset_name);
void ss7_route_destroy(struct osmo_ss7_route *rt);
struct osmo_ss7_route *
ss7_route_find_dpc(struct osmo_ss7_route_table *rtbl, uint32_t dpc);
struct osmo_ss7_route *
ss7_route_find_dpc_mask(struct osmo_ss7_route_table *rtbl, uint32_t dpc,
uint32_t mask);
int ss7_route_set_linkset(struct osmo_ss7_route *rt, const char *linkset_name);
int ss7_route_insert(struct osmo_ss7_route *rt);
dpc
uint32_t dpc
Definition m3ua.h:1
ss7_route_create
struct osmo_ss7_route * ss7_route_create(struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask, const char *linkset_name)
Create a new route in the given routing table.
Definition osmo_ss7_route.c:213
ss7_route_set_linkset
int ss7_route_set_linkset(struct osmo_ss7_route *rt, const char *linkset_name)
Set linkset on route entry.
Definition osmo_ss7_route.c:96
ss7_route_find_dpc
struct osmo_ss7_route * ss7_route_find_dpc(struct osmo_ss7_route_table *rtbl, uint32_t dpc)
ss7_route_destroy
void ss7_route_destroy(struct osmo_ss7_route *rt)
Destroy a given SS7 route.
Definition osmo_ss7_route.c:239
ss7_route_find_dpc_mask
struct osmo_ss7_route * ss7_route_find_dpc_mask(struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask)
ss7_route_insert
int ss7_route_insert(struct osmo_ss7_route *rt)
Insert route into its routing table.
Definition osmo_ss7_route.c:170
ss7_route_alloc
struct osmo_ss7_route * ss7_route_alloc(struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask)
Allocate a route entry.
Definition osmo_ss7_route.c:61
osmo_ss7_as
Definition ss7_as.h:31
osmo_ss7_instance
Definition ss7_instance.h:20
osmo_ss7_linkset
Definition ss7_linkset.h:13
osmo_ss7_route_table
Definition ss7_route_table.h:12
osmo_ss7_route
Definition ss7_route.h:17
osmo_ss7_route::as
struct osmo_ss7_as * as
pointer to Application Server
Definition ss7_route.h:27
osmo_ss7_route::qos_class
uint8_t qos_class
Definition ss7_route.h:38
osmo_ss7_route::pc
uint32_t pc
Definition ss7_route.h:32
osmo_ss7_route::mask
uint32_t mask
Definition ss7_route.h:33
osmo_ss7_route::rtable
struct osmo_ss7_route_table * rtable
osmo_ss7_route_table to which we belong
Definition ss7_route.h:21
osmo_ss7_route::cfg
struct osmo_ss7_route::@077352163240043175122265135152340037232244277140 cfg
osmo_ss7_route::list
struct llist_head list
member in osmo_ss7_route_table::routes
Definition ss7_route.h:19
osmo_ss7_route::dest
struct osmo_ss7_route::@214006141366367001366045235347134032044261273171 dest
osmo_ss7_route::linkset
struct osmo_ss7_linkset * linkset
pointer to linkset (destination) of route
Definition ss7_route.h:25
osmo_ss7_route::priority
uint32_t priority
lower priority is higher
Definition ss7_route.h:37
osmo_ss7_route::linkset_name
char * linkset_name
human-specified linkset name
Definition ss7_route.h:35