diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-04-05 22:32:13 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-04-09 18:50:24 +0200 |
commit | 84c32863e5f33bf21763028414df7f35042f297b (patch) | |
tree | 3715094bb540bf092619b40e62b8c1cca87ac835 | |
parent | 24ba61c0b2e648dc0bb2365f69fe452d796a66db (diff) |
add converter functions between osmo_ss7 and m3ua traffic mode types
Change-Id: I6cc9530d7d2812cbc8feb6e9db51902865ebfe83
-rw-r--r-- | include/osmocom/sigtran/osmo_ss7.h | 3 | ||||
-rw-r--r-- | include/osmocom/sigtran/protocol/m3ua.h | 6 | ||||
-rw-r--r-- | src/osmo_ss7.c | 27 |
3 files changed, 36 insertions, 0 deletions
diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 7918a51..d765ae0 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -406,3 +406,6 @@ osmo_sccp_simple_server_add_clnt(struct osmo_sccp_instance *inst, const char *name, uint32_t pc, int local_port, int remote_port, const char *remote_ip); + +enum osmo_ss7_as_traffic_mode osmo_ss7_tmode_from_xua(uint32_t in); +int osmo_ss7_tmode_to_xua(enum osmo_ss7_as_traffic_mode tmod); diff --git a/include/osmocom/sigtran/protocol/m3ua.h b/include/osmocom/sigtran/protocol/m3ua.h index d4dc1fe..c10808c 100644 --- a/include/osmocom/sigtran/protocol/m3ua.h +++ b/include/osmocom/sigtran/protocol/m3ua.h @@ -145,3 +145,9 @@ enum m3ua_error_code { M3UA_ERR_INVAL_ROUT_CTX = 0x19, M3UA_ERR_NO_CONFGD_AS_FOR_ASP = 0x1a, }; + +enum m3ua_traffic_mode { + M3UA_TMOD_OVERRIDE = 1, + M3UA_TMOD_LOADSHARE = 2, + M3UA_TMOD_BCAST = 3, +}; diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index ab0636c..2dbb94d 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1494,3 +1494,30 @@ int osmo_ss7_init(void) ss7_initialized = true; return 0; } + +int osmo_ss7_tmode_to_xua(enum osmo_ss7_as_traffic_mode tmod) +{ + switch (tmod) { + case OSMO_SS7_AS_TMOD_OVERRIDE: + return M3UA_TMOD_OVERRIDE; + case OSMO_SS7_AS_TMOD_LOADSHARE: + return M3UA_TMOD_LOADSHARE; + case OSMO_SS7_AS_TMOD_BCAST: + return M3UA_TMOD_BCAST; + default: + return -1; + } +} + +enum osmo_ss7_as_traffic_mode osmo_ss7_tmode_from_xua(uint32_t in) +{ + switch (in) { + case M3UA_TMOD_OVERRIDE: + default: + return OSMO_SS7_AS_TMOD_OVERRIDE; + case M3UA_TMOD_LOADSHARE: + return OSMO_SS7_AS_TMOD_LOADSHARE; + case M3UA_TMOD_BCAST: + return OSMO_SS7_AS_TMOD_BCAST; + } +} |