pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/40161?usp=email )
Change subject: cosmetic: Improve ranap_msg passing ownership documentation
......................................................................
cosmetic: Improve ranap_msg passing ownership documentation
In general ranap_msg is made owned by OTC_SELECT, and under RAB
Assignment where PFCP or MGCP is involved the msg ownership is
temporarily stolen to the related FSM instance.
Change-Id: I556e01b26a71b43432c623adb7ea5af2114981e3
---
M include/osmocom/hnbgw/context_map.h
M src/osmo-hnbgw/hnbgw_cn.c
M src/osmo-hnbgw/hnbgw_ranap.c
3 files changed, 18 insertions(+), 11 deletions(-)
Approvals:
Jenkins Builder: Verified
lynxis lazus: Looks good to me, approved
diff --git a/include/osmocom/hnbgw/context_map.h b/include/osmocom/hnbgw/context_map.h
index f9bd251..41b312d 100644
--- a/include/osmocom/hnbgw/context_map.h
+++ b/include/osmocom/hnbgw/context_map.h
@@ -29,13 +29,17 @@
* - The RANAP message shall be at msgb_l2().
*/
enum map_rua_fsm_event {
- /* Receiving a RUA Connect from HNB. */
+ /* Receiving a RUA Connect from HNB.
+ * Parameter: struct msgb *ranap_msg */
MAP_RUA_EV_RX_CONNECT,
- /* Receiving some data from HNB via RUA, to forward via SCCP to CN. */
+ /* Receiving some data from HNB via RUA, to forward via SCCP to CN.
+ * Parameter: struct msgb *ranap_msg */
MAP_RUA_EV_RX_DIRECT_TRANSFER,
- /* Receiving a RUA Disconnect from HNB. */
+ /* Receiving a RUA Disconnect from HNB.
+ * Parameter: struct msgb *ranap_msg (can be NULL) */
MAP_RUA_EV_RX_DISCONNECT,
- /* SCCP has received some data from CN to forward via RUA to HNB. */
+ /* SCCP has received some data from CN to forward via RUA to HNB.
+ * Parameter: struct msgb *ranap_msg */
MAP_RUA_EV_TX_DIRECT_TRANSFER,
/* The CN side is disconnected (e.g. received an SCCP Released), that means we are going
gracefully disconnect
* RUA, too. */
@@ -52,9 +56,11 @@
enum map_sccp_fsm_event {
/* Receiving an SCCP CC from CN. */
MAP_SCCP_EV_RX_CONNECTION_CONFIRM,
- /* Receiving some data from CN via SCCP, to forward via RUA to HNB. */
+ /* Receiving some data from CN via SCCP, to forward via RUA to HNB.
+ * Parameter: struct msgb *ranap_msg */
MAP_SCCP_EV_RX_DATA_INDICATION,
- /* RUA has received some data from HNB to forward via SCCP to CN. */
+ /* RUA has received some data from HNB to forward via SCCP to CN.
+ * Parameter: struct msgb *ranap_msg */
MAP_SCCP_EV_TX_DATA_REQUEST,
/* 3GPP TS 25.468 9.1.5: The RAN side received a RUA Disconnect.
* - Under normal conditions (cause=Normal) the RUA Disconnect contains a RANAP
Iu-ReleaseComplete.
diff --git a/src/osmo-hnbgw/hnbgw_cn.c b/src/osmo-hnbgw/hnbgw_cn.c
index 3659b36..686a0e5 100644
--- a/src/osmo-hnbgw/hnbgw_cn.c
+++ b/src/osmo-hnbgw/hnbgw_cn.c
@@ -258,7 +258,8 @@
}
}
-/* Entry point for primitives coming up from SCCP User SAP */
+/* Entry point for primitives coming up from SCCP User SAP.
+ * Ownership of oph->msg is transferred to us. */
static int sccp_sap_up(struct osmo_prim_hdr *oph, void *ctx)
{
struct osmo_sccp_user *scu = ctx;
diff --git a/src/osmo-hnbgw/hnbgw_ranap.c b/src/osmo-hnbgw/hnbgw_ranap.c
index 692cf11..6dc1f06 100644
--- a/src/osmo-hnbgw/hnbgw_ranap.c
+++ b/src/osmo-hnbgw/hnbgw_ranap.c
@@ -252,7 +252,7 @@
}
/* Process a received RANAP PDU through SCCP DATA.ind coming from CN (MSC/SGSN)
- * Takes ownership of ranap_msg? */
+ * ranap_msg is owned by OTC_SELECT. */
int hnbgw_ranap_rx_data_ul(struct hnbgw_context_map *map, struct msgb *ranap_msg)
{
OSMO_ASSERT(map);
@@ -270,7 +270,7 @@
* information, for RTP mapping via MGW, or GTP mapping via UPF. */
switch (message->procedureCode) {
case RANAP_ProcedureCode_id_RAB_Assignment:
- /* mgw_fsm_handle_rab_ass_resp() takes ownership of prim->oph and (ranap) message
*/
+ /* mgw_fsm_handle_rab_ass_resp() may take ownership of "ranap_msg"
(prim->oph) and "message" */
return mgw_fsm_handle_cs_rab_ass_resp(map, ranap_msg, message);
}
} else {
@@ -279,7 +279,7 @@
/* map->is_ps == true and PFCP is enabled in osmo-hnbgw.cfg */
switch (message->procedureCode) {
case RANAP_ProcedureCode_id_RAB_Assignment:
- /* ps_rab_ass_fsm takes ownership of prim->oph and RANAP message */
+ /* ps_rab_ass_fsm() may take ownership of "ranap_msg" (prim->oph) and
"message" */
return hnbgw_gtpmap_rx_rab_ass_resp(map, ranap_msg, message);
}
}
@@ -617,7 +617,7 @@
}
/* Process a received RANAP PDU through SCCP DATA.ind coming from CN (MSC/SGSN)
- * Takes ownership of ranap_msg? */
+ * ranap_msg is owned by OTC_SELECT. */
int hnbgw_ranap_rx_data_dl(struct hnbgw_context_map *map, struct msgb *ranap_msg)
{
OSMO_ASSERT(map);
--
To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/40161?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I556e01b26a71b43432c623adb7ea5af2114981e3
Gerrit-Change-Number: 40161
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>