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>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/40152?usp=email )
Change subject: rua: Change log err level ERROR->NOTICE regarding received unexpected RUA context
......................................................................
rua: Change log err level ERROR->NOTICE regarding received unexpected RUA context
This is not really an internal error but can actually happen if the HNB
or the HNBGW crashed and state is no longer the same in both.
Change-Id: Ib588bb71ccbe716a495afec27d38f48881e7e1bc
---
M src/osmo-hnbgw/hnbgw_rua.c
1 file changed, 2 insertions(+), 2 deletions(-)
Approvals:
lynxis lazus: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/src/osmo-hnbgw/hnbgw_rua.c b/src/osmo-hnbgw/hnbgw_rua.c
index 7cc1b27..7a51c8d 100644
--- a/src/osmo-hnbgw/hnbgw_rua.c
+++ b/src/osmo-hnbgw/hnbgw_rua.c
@@ -271,7 +271,7 @@
/* A Connect message can only be the first message for an unused RUA context */
if (map) {
/* Already established this RUA context. But then how can it be a Connect message. */
- LOGHNB(hnb, DRUA, LOGL_ERROR, "rx RUA %s for already active RUA context %u\n",
+ LOGHNB(hnb, DRUA, LOGL_NOTICE, "rx RUA %s for already active RUA context %u\n",
rua_procedure_code_name(rua_procedure), context_id);
return -EINVAL;
}
@@ -300,7 +300,7 @@
default:
/* Any message other than Connect must have a valid RUA context */
if (!map) {
- LOGHNB(hnb, DRUA, LOGL_ERROR, "rx RUA %s for unknown RUA context %u\n",
+ LOGHNB(hnb, DRUA, LOGL_NOTICE, "rx RUA %s for unknown RUA context %u\n",
rua_procedure_code_name(rua_procedure), context_id);
rua_tx_disc_conn_fail(hnb, is_ps, context_id);
return -EINVAL;
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/40152?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: Ib588bb71ccbe716a495afec27d38f48881e7e1bc
Gerrit-Change-Number: 40152
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/40160?usp=email )
Change subject: mgw_fsm: use LOG_MAP() to log error
......................................................................
mgw_fsm: use LOG_MAP() to log error
Change-Id: Ic543a3c17eddf4b1da51172223eccaa62a441fd3
---
M src/osmo-hnbgw/mgw_fsm.c
1 file changed, 6 insertions(+), 6 deletions(-)
Approvals:
lynxis lazus: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index d44a6e3..3d230c6 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -846,9 +846,9 @@
* into account under the assumption that voice calls typically require a single RAB only. Nevertheless, we
* will block all incoming RAB assignments that try to assign more (or less) than one RAB. */
if (ranap_rab_ass_req_ies_get_count(&message->msg.raB_AssignmentRequestIEs) != 1) {
- LOGP(DMGW, LOGL_ERROR,
- "%s() rua_ctx_id=%d, RAB-AssignmentRequest with more than one RAB assignment -- abort!\n",
- __func__, map->rua_ctx_id);
+ LOG_MAP(map, DMGW, LOGL_ERROR,
+ "%s() RAB-AssignmentRequest with more than one RAB assignment -- abort!\n",
+ __func__);
tx_release_req(map);
return -1;
}
@@ -886,9 +886,9 @@
/* NOTE: This situation is a corner-case. We may end up here when the co-located MGW caused a problem
* on the way between RANAP RAB Assignment Request and RANAP RAB Assignment Response. */
- LOGP(DMGW, LOGL_ERROR,
- "%s() rua_ctx_id=%d, no MGW fsm -- sending Iu-Release-Request!\n",
- __func__, map->rua_ctx_id);
+ LOG_MAP(map, DMGW, LOGL_ERROR,
+ "%s() no MGW fsm -- sending Iu-Release-Request!\n",
+ __func__);
/* Send a release request, to make sure that the MSC is aware of the problem. */
tx_release_req(map);
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/40160?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: Ic543a3c17eddf4b1da51172223eccaa62a441fd3
Gerrit-Change-Number: 40160
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>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/40158?usp=email )
Change subject: ranap: No need to set destructor function twice
......................................................................
ranap: No need to set destructor function twice
talloc destructor function is already being set in
hnbgw_decode_ranap_ran_co(), no need to do it twice. This is a leftover
from recent refactoring.
Fixes: 79c5600bb65e5e940dddfd4b3be50259caa1bd34
Change-Id: I9caaff3bd6435cde51006cd14837f3824c77c68b
---
M src/osmo-hnbgw/hnbgw_ranap.c
1 file changed, 0 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
lynxis lazus: Looks good to me, approved
diff --git a/src/osmo-hnbgw/hnbgw_ranap.c b/src/osmo-hnbgw/hnbgw_ranap.c
index f97f53f..692cf11 100644
--- a/src/osmo-hnbgw/hnbgw_ranap.c
+++ b/src/osmo-hnbgw/hnbgw_ranap.c
@@ -627,8 +627,6 @@
* information, for RTP mapping via MGW, or GTP mapping via UPF. */
ranap_message *message = hnbgw_decode_ranap_ran_co(ranap_msg);
if (message) {
- talloc_set_destructor(message, destruct_ranap_ran_rx_co_ies);
-
LOG_MAP(map, DCN, LOGL_DEBUG, "rx from SCCP: RANAP %s\n",
get_value_string(ranap_procedure_code_vals, message->procedureCode));
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/40158?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: I9caaff3bd6435cde51006cd14837f3824c77c68b
Gerrit-Change-Number: 40158
Gerrit-PatchSet: 1
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>