aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-11-09 17:11:33 +0900
committerHarald Welte <laforge@gnumonks.org>2017-11-09 17:14:48 +0900
commit0bd848c11229fad572b478d0515ea36dc0a18e48 (patch)
treeb4a420b579bb1f4b4a17118bb1663536f03145ee /src
parent9f7a517eb6ca799b06af3f35c4f4fdaba6227877 (diff)
ipa: Fix setting of OPC/DPC based on routing-context + override
As IPA is a transport layer underneath SCCP, and we don't have MTP-level OPC and DPC fields in it, we are using the "point-code override dpc" feature for setting the pseudo-M3UA DPC on incoming Rx packets, and we use the PC from the routing context as pseudo-M3UA OPC. However, we were so far only storing this in the M3UA data header, and not in the xua->mtp.{opc,dpc} members, which are consulted during the routing decisions. Change-Id: I5e2244620cd48f848382eb595ce59c6212069788
Diffstat (limited to 'src')
-rw-r--r--src/ipa.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/ipa.c b/src/ipa.c
index a7060db..11ff422 100644
--- a/src/ipa.c
+++ b/src/ipa.c
@@ -179,6 +179,8 @@ static int ipa_rx_msg_sccp(struct osmo_ss7_asp *asp, struct msgb *msg)
data_hdr.dpc = as->cfg.routing_key.pc;
}
xua = m3ua_xfer_from_data(&data_hdr, msgb_l2(msg), msgb_l2len(msg));
+ xua->mtp.opc = data_hdr.opc;
+ xua->mtp.dpc = data_hdr.dpc;
return m3ua_hmdc_rx_from_l2(asp->inst, xua);
}