neels has submitted this change. (
https://gerrit.osmocom.org/c/osmo-hnbgw/+/31427 )
Change subject: various comment tweaks
......................................................................
various comment tweaks
Change-Id: Ie40aa672948062282c566c90300f6e96963e05ec
---
M include/osmocom/hnbgw/context_map.h
M src/osmo-hnbgw/context_map.c
M src/osmo-hnbgw/mgw_fsm.c
M src/osmo-hnbgw/ps_rab_ass_fsm.c
4 files changed, 26 insertions(+), 11 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
pespin: Looks good to me, approved
diff --git a/include/osmocom/hnbgw/context_map.h b/include/osmocom/hnbgw/context_map.h
index 1342da5..3a145b6 100644
--- a/include/osmocom/hnbgw/context_map.h
+++ b/include/osmocom/hnbgw/context_map.h
@@ -47,17 +47,22 @@
enum hnbgw_context_map_state state;
- /* FSM instance for the MGW */
+ /* FSM instance for the MGW, handles the async MGCP communication necessary to intercept
CS RAB Assignment and
+ * redirect the RTP via the MGW. */
struct osmo_fsm_inst *mgw_fi;
- /* FSMs handling RANAP RAB assignments for PS. list of struct ps_rab_ass. For PS RAB
Assignment, each Request
- * and gets one ps_rab_ass FSM and each Response gets one ps_rab_ass FSM. The reason is
that theoretically, each
- * such message can contain any number and any combination of RAB IDs, and Request and
Response don't
- * necessarily match the RAB IDs contained. In practice I only ever see a single RAB
matching in Request and
- * Response, but we cannot rely on that to always be true. The state of each RAB's
PFCP negotiation is kept
- * separately in the list hnbgw_context_map.ps_rabs, and as soon as all RABs appearing
in a PS RAB Assignment
- * message have completed their PFCP setup, we can replace the GTP info for the RAB IDs
and forward the RAB
- * Assignment Request to HNB / the RAB Assignment Response to CN. */
+ /* FSMs handling RANAP RAB assignments for PS, list of struct ps_rab_ass. They handle
the async PFCP
+ * communication necessary to intercept PS RAB Assignment and redirect the GTP via the
UPF.
+ *
+ * For PS RAB Assignment, each Request gets one ps_rab_ass FSM and each Response gets
one ps_rab_ass FSM.
+ * The reason is that theoretically, each such message can contain any number and any
combination of RAB IDs,
+ * and Request and Response don't necessarily match the RAB IDs contained. In
practice I only ever see a single
+ * RAB matching in Request and Response, but we cannot rely on that to always be true.
+ *
+ * The state of each RAB's PFCP negotiation is kept separately in the list ps_rabs,
and as soon as all RABs
+ * appearing in a PS RAB Assignment message have completed their PFCP setup, we can
replace the GTP info for the
+ * RAB IDs and forward the RAB Assignment Request to HNB / the RAB Assignment Response
to CN.
+ */
struct llist_head ps_rab_ass;
/* All PS RABs and their GTP tunnel mappings. list of struct ps_rab. Each ps_rab FSM
handles the PFCP
diff --git a/src/osmo-hnbgw/context_map.c b/src/osmo-hnbgw/context_map.c
index 39b9b50..96365fb 100644
--- a/src/osmo-hnbgw/context_map.c
+++ b/src/osmo-hnbgw/context_map.c
@@ -111,7 +111,7 @@
LOGHNB(hnb, DMAIN, LOGL_INFO, "Creating new Mapping RUA CTX %p/%u <-> SCU
Conn ID %p/%u\n",
hnb, rua_ctx_id, cn_if_new, new_scu_conn_id);
- /* alloate a new map entry */
+ /* allocate a new map entry. */
map = talloc_zero(hnb, struct hnbgw_context_map);
map->state = MAP_S_NULL;
map->cn_link = cn_if_new;
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index 764e9a7..fe1e227 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -780,7 +780,7 @@
}
/*! Release the FSM and clear its associated RTP streams.
- * \ptmap[in] map hanbgw context map that is responsible for this call.
+ * \ptmap[in] map hnbgw context map that is responsible for this call.
* \returns 0 on success; negative on error. */
int mgw_fsm_release(struct hnbgw_context_map *map)
{
diff --git a/src/osmo-hnbgw/ps_rab_ass_fsm.c b/src/osmo-hnbgw/ps_rab_ass_fsm.c
index e676c2c..e232de8 100644
--- a/src/osmo-hnbgw/ps_rab_ass_fsm.c
+++ b/src/osmo-hnbgw/ps_rab_ass_fsm.c
@@ -620,6 +620,7 @@
rab->resp_fi = NULL;
}
+ /* remove from map->ps_rab_ass */
llist_del(&rab_ass->entry);
}
--
To view, visit
https://gerrit.osmocom.org/c/osmo-hnbgw/+/31427
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Ie40aa672948062282c566c90300f6e96963e05ec
Gerrit-Change-Number: 31427
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged