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
This commit is contained in:
Harald Welte 2017-11-09 17:11:33 +09:00
parent 9f7a517eb6
commit 0bd848c112
1 changed files with 2 additions and 0 deletions

View File

@ -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);
}