libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
ss7_route.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdint.h>
4#include <osmocom/core/linuxlist.h>
5
6/***********************************************************************
7 * SS7 Routes
8 ***********************************************************************/
9
12struct osmo_ss7_linkset;
13struct osmo_ss7_as;
14
15#define OSMO_SS7_ROUTE_PRIO_DEFAULT 5
16
19 struct llist_head list;
22
23 struct {
27 struct osmo_ss7_as *as;
29
30 struct {
31 /* FIXME: presence? */
32 uint32_t pc;
33 uint32_t mask;
37 uint32_t priority;
38 uint8_t qos_class;
39 } cfg;
40};
41
42struct osmo_ss7_route *
43ss7_route_alloc(struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask);
44struct osmo_ss7_route *
45ss7_route_create(struct osmo_ss7_route_table *rtbl, uint32_t dpc,
46 uint32_t mask, const char *linkset_name);
47void ss7_route_destroy(struct osmo_ss7_route *rt);
48
49struct osmo_ss7_route *
51struct osmo_ss7_route *
53 uint32_t mask);
54
55int ss7_route_set_linkset(struct osmo_ss7_route *rt, const char *linkset_name);
56int ss7_route_insert(struct osmo_ss7_route *rt);
uint32_t dpc
Definition: m3ua.h:1
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
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
struct osmo_ss7_route * ss7_route_find_dpc(struct osmo_ss7_route_table *rtbl, uint32_t dpc)
void ss7_route_destroy(struct osmo_ss7_route *rt)
Destroy a given SS7 route.
Definition: osmo_ss7_route.c:239
struct osmo_ss7_route * ss7_route_find_dpc_mask(struct osmo_ss7_route_table *rtbl, uint32_t dpc, uint32_t mask)
int ss7_route_insert(struct osmo_ss7_route *rt)
Insert route into its routing table.
Definition: osmo_ss7_route.c:170
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
Definition: ss7_as.h:31
Definition: ss7_instance.h:20
Definition: ss7_linkset.h:13
Definition: ss7_route_table.h:12
Definition: ss7_route.h:17
struct osmo_ss7_as * as
pointer to Application Server
Definition: ss7_route.h:27
uint8_t qos_class
Definition: ss7_route.h:38
uint32_t pc
Definition: ss7_route.h:32
uint32_t mask
Definition: ss7_route.h:33
struct osmo_ss7_route_table * rtable
osmo_ss7_route_table to which we belong
Definition: ss7_route.h:21
struct osmo_ss7_route::@29 dest
struct osmo_ss7_route::@30 cfg
struct llist_head list
member in osmo_ss7_route_table::routes
Definition: ss7_route.h:19
struct osmo_ss7_linkset * linkset
pointer to linkset (destination) of route
Definition: ss7_route.h:25
uint32_t priority
lower priority is higher
Definition: ss7_route.h:37
char * linkset_name
human-specified linkset name
Definition: ss7_route.h:35