diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-04-10 22:34:20 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-04-11 23:27:05 +0200 |
commit | 47d05fae4f7ffa2b9a680b52a96bff15d1d16df0 (patch) | |
tree | c3158c748c6267f05e8e9aa7526ff99aa9ac2221 /include | |
parent | 282d1c2ffa7403d1238c308401d66dcd271f761f (diff) |
osmo_ss7: Allocate local routing key ID and use it as lookup key for AS
In M3UA RKM we need a "Local Routing Key ID" which uniquely identifies a
given routing key locally at the node. Allocate this value and store it
in each osmo_ss7_as, as well as add a lookup function for it.
Change-Id: I89a0abcf66228ce092126a497cc7971df3a6af71
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/sigtran/osmo_ss7.h | 3 | ||||
-rw-r--r-- | include/osmocom/sigtran/sigtran_sap.h | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index bb151d1..5becc0e 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -225,6 +225,7 @@ void osmo_ss7_route_destroy(struct osmo_ss7_route *rt); struct osmo_ss7_routing_key { uint32_t context; + uint32_t l_rk_id; uint32_t pc; uint8_t si; @@ -291,6 +292,8 @@ osmo_ss7_as_find_by_name(struct osmo_ss7_instance *inst, const char *name); struct osmo_ss7_as * osmo_ss7_as_find_by_rctx(struct osmo_ss7_instance *inst, uint32_t rctx); struct osmo_ss7_as * +osmo_ss7_as_find_by_l_rk_id(struct osmo_ss7_instance *inst, uint32_t l_rk_id); +struct osmo_ss7_as * osmo_ss7_as_find_or_create(struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto); int osmo_ss7_as_add_asp(struct osmo_ss7_as *as, const char *asp_name); diff --git a/include/osmocom/sigtran/sigtran_sap.h b/include/osmocom/sigtran/sigtran_sap.h index d18aa3d..80cfefc 100644 --- a/include/osmocom/sigtran/sigtran_sap.h +++ b/include/osmocom/sigtran/sigtran_sap.h @@ -1,5 +1,6 @@ #pragma once #include <osmocom/core/prim.h> +#include <osmocom/sigtran/osmo_ss7.h> enum osmo_sigtran_sap { @@ -46,6 +47,16 @@ struct osmo_xlm_prim_error { uint32_t code; }; +struct osmo_xlm_prim_rk_reg { + /* routing key */ + struct osmo_ss7_routing_key key; + enum osmo_ss7_as_traffic_mode traf_mode; +}; + +struct osmo_xlm_prim_rk_dereg { + uint32_t route_ctx; +}; + struct osmo_xlm_prim { struct osmo_prim_hdr oph; union { |