libosmo-sigtran 2.1.0.194-89e3 Osmocom SIGTRAN library

Functions
ss7_hmrt.c File Reference
`#include <stdbool.h>`
`#include <string.h>`
`#include <errno.h>`
`#include <arpa/inet.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/logging.h>`
`#include <osmocom/sigtran/mtp_sap.h>`
`#include <osmocom/sigtran/osmo_ss7.h>`
`#include <osmocom/sigtran/protocol/m3ua.h>`
`#include "xua_internal.h"`
`#include "ss7_as.h"`
`#include "ss7_asp.h"`
`#include "ss7_linkset.h"`
`#include "ss7_route.h"`
`#include "ss7_route_table.h"`
`#include "ss7_internal.h"`
`#include "ss7_user.h"`

## Functions
static struct osmo_mtp_prim * | m3ua_to_xfer_ind (struct xua_msg *xua)
static int | deliver_to_mtp_user (const struct osmo_ss7_user *osu, struct xua_msg *xua)
static int | hmdt_message_for_distribution (struct osmo_ss7_instance *inst, struct xua_msg *xua)
static int | hmrt_message_for_routing (struct osmo_ss7_instance *inst, struct xua_msg *xua)
int | m3ua_hmdc_rx_from_l2 (struct osmo_ss7_instance *inst, struct xua_msg *xua)
int | hmrt_mtp_xfer_request_l4_to_l3 (struct osmo_ss7_instance *inst, const struct osmo_mtp_transfer_param *param, uint8_t *user_data, size_t user_data_len)

## Function Documentation

## ◆ deliver_to_mtp_user()

static int deliver_to_mtp_user | ( | const struct osmo_ss7_user * | osu,
|  | struct xua_msg * | xua
| ) |  |
| static

References m3ua_to_xfer_ind(), xua_msg::mtp, ss7_user_mtp_sap_prim_up(), osmo_mtp_prim::transfer, osmo_mtp_prim::u, and xua_msg_free().

Referenced by hmdt_message_for_distribution().

## ◆ hmdt_message_for_distribution()

static int hmdt_message_for_distribution | ( | struct osmo_ss7_instance * | inst,
|  | struct xua_msg * | xua
| ) |  |
| static

References data_hdr_from_m3ua(), deliver_to_mtp_user(), xua_msg::hdr, osmo_ss7_user::inst, LOGSS7, M3UA_MSGC_SNM, M3UA_MSGC_XFER, M3UA_XFER_DATA, xua_common_hdr::msg_class, xua_common_hdr::msg_type, osmo_ss7_user_find_by_si(), m3ua_data_hdr::si, and xua_msg_free().

Referenced by m3ua_hmdc_rx_from_l2().

## ◆ hmrt_message_for_routing()

static int hmrt_message_for_routing | ( | struct osmo_ss7_instance * | inst,
|  | struct xua_msg * | xua
| ) |  |
| static

References osmo_ss7_route::as, osmo_ss7_as::cfg, osmo_ss7_as::ctrg, osmo_ss7_route::dest, osmo_mtp_transfer_param::dpc, dpc, osmo_ss7_as::inst, ipa_tx_xua_as(), osmo_ss7_route::linkset, LOGSS7, m3ua_tx_xua_as(), xua_msg::mtp, osmo_mtp_transfer_param::opc, osmo_ss7_route_label::opc, OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, osmo_ss7_pointcode_print(), osmo_ss7_route_name(), osmo_ss7_as::proto, osmo_mtp_transfer_param::sls, SS7_AS_CTR_TX_MSU_SLS_0, SS7_AS_CTR_TX_MSU_TOTAL, ss7_instance_lookup_route(), and xua_msg_free().

Referenced by m3ua_hmdc_rx_from_l2().

## ◆ hmrt_mtp_xfer_request_l4_to_l3()

int hmrt_mtp_xfer_request_l4_to_l3 | ( | struct osmo_ss7_instance * | inst,
|  | const struct osmo_mtp_transfer_param * | param,
|  | uint8_t * | user_data,
|  | size_t | user_data_len
| ) |  |

References m3ua_hmdc_rx_from_l2(), m3ua_xfer_from_data(), xua_msg::mtp, and mtp_xfer_param_to_m3ua_dh().

Referenced by osmo_ss7_user_mtp_sap_prim_down().

## ◆ m3ua_hmdc_rx_from_l2()

int m3ua_hmdc_rx_from_l2 | ( | struct osmo_ss7_instance * | inst,
|  | struct xua_msg * | xua
| ) |  |

References osmo_mtp_transfer_param::dpc, dpc, hmdt_message_for_distribution(), hmrt_message_for_routing(), osmo_ss7_as::inst, LOGSS7, xua_msg::mtp, osmo_ss7_pc_is_local(), and osmo_ss7_pointcode_print().

Referenced by hmrt_mtp_xfer_request_l4_to_l3(), ipa_rx_msg_up(), and m3ua_rx_xfer().

## ◆ m3ua_to_xfer_ind()

static struct osmo_mtp_prim * m3ua_to_xfer_ind | ( | struct xua_msg * | xua | ) |
| static

References xua_msg_part::dat, xua_msg_part::len, m3ua_dh_to_xfer_param(), M3UA_IEI_PROT_DATA, mtp_prim_xfer_ind_alloc(), NULL, osmo_mtp_prim::transfer, osmo_mtp_prim::u, and xua_msg_find_tag().

Referenced by deliver_to_mtp_user().