Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/33223 )
Change subject: l1gprs: implement TBF starting time support
......................................................................
Patch Set 10:
(1 comment)
Patchset:
PS10:
@fixeria see fix patch v9->v10. Unfortunately, now that the changes are scheduled on time (and not before the expected time), new problems show up:
At TBF_START_TIME=N, in l1gprs_handle_dl_block_ind() we activate a pending TBF in l1gprs_check_pending_tbfs(), and then send primitive L1CTL_GPRS_DL_BLOCK_IND to upper layers. Further up, in modem app, handle_pdch_block_ind() uses the L1CTL_GPRS_DL_BLOCK_IND primitive to generate an RTS.ind for next_block(N).
As a result, if we configure a TBF for TBF_START_TIME=N, we receive the first RTS.ind for N+4 or N+5..... this is completely unexpected and wrong imho.
I think we should move the RTS.ind down to the l1gprs, and activate TBFs before triggering RTS.ind there.
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/33223
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I174e3c43d2f4c828a528710b284e62c9bb794122
Gerrit-Change-Number: 33223
Gerrit-PatchSet: 10
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <axilirator(a)gmail.com>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: fixeria <axilirator(a)gmail.com>
Gerrit-Comment-Date: Mon, 21 Aug 2023 16:40:55 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
pespin has uploaded a new patch set (#10) to the change originally created by fixeria. ( https://gerrit.osmocom.org/c/osmocom-bb/+/33223 )
Change subject: l1gprs: implement TBF starting time support
......................................................................
l1gprs: implement TBF starting time support
Change-Id: I174e3c43d2f4c828a528710b284e62c9bb794122
Related: OS#5500
---
M include/l1gprs.h
M src/shared/l1gprs.c
2 files changed, 256 insertions(+), 20 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/23/33223/10
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/33223
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I174e3c43d2f4c828a528710b284e62c9bb794122
Gerrit-Change-Number: 33223
Gerrit-PatchSet: 10
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith, fixeria.
Hello osmith, Jenkins Builder, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/34044
to look at the new patch set (#6).
Change subject: rlcmac: Fix Starting Time rfn->fn calculation
......................................................................
rlcmac: Fix Starting Time rfn->fn calculation
The Starting time contains a "frame number, FN modulo 42432", aka RFN.
The translation to absolute FN was missing.
Depends: libosmocore.git Change-Id Ib71e8da976f6cc84c3a4ab17b0a8c2101492e243
Change-Id: I00741289333853a8db472950ee2ac38dc2c74fd3
---
M TODO-RELEASE
M src/rlcmac/rlcmac_dec.c
M tests/rlcmac/Makefile.am
A tests/rlcmac/rlcmac_types_test.c
A tests/rlcmac/rlcmac_types_test.err
A tests/rlcmac/rlcmac_types_test.ok
M tests/testsuite.at
7 files changed, 154 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/44/34044/6
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/34044
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I00741289333853a8db472950ee2ac38dc2c74fd3
Gerrit-Change-Number: 34044
Gerrit-PatchSet: 6
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: osmith, fixeria.
Hello osmith, Jenkins Builder, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/34044
to look at the new patch set (#5).
Change subject: rlcmac: Fix Starting Time rfn->fn calculation
......................................................................
rlcmac: Fix Starting Time rfn->fn calculation
The Starting time contains a "frame number, FN modulo 42432", aka RFN.
The translation to absolute FN was missing.
Depends: libosmocore.git Change-Id Ib71e8da976f6cc84c3a4ab17b0a8c2101492e243
Change-Id: I00741289333853a8db472950ee2ac38dc2c74fd3
---
M TODO-RELEASE
M src/rlcmac/rlcmac_dec.c
M tests/rlcmac/Makefile.am
A tests/rlcmac/rlcmac_types_test.c
A tests/rlcmac/rlcmac_types_test.err
A tests/rlcmac/rlcmac_types_test.ok
M tests/testsuite.at
7 files changed, 154 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/44/34044/5
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/34044
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I00741289333853a8db472950ee2ac38dc2c74fd3
Gerrit-Change-Number: 34044
Gerrit-PatchSet: 5
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/34043 )
Change subject: Tear down call if local IuUP MGW address changed during MDCX
......................................................................
Tear down call if local IuUP MGW address changed during MDCX
Due to ip probing used at MGW and specific/complex routing in place
between RAN and CN, it may happen that, on the RAN-side endpoint connection,
the MGW first selects a local IP address.
Then, after the HNBGW signalling it to the HNB with the patched RabAssReq
and receiving the HNB local IP address through RabAssResp, then applying
it to MGW through MDCX, it can happen that the MDCX ACK contains a changed
local IP address at the MGW, due to IP probing after learning the remote
address.
This change is so far not announced to the HNB in anyway, ending up in the
HNB sending IuUP packets to the wrong IP/port, which is rejected with ICMP
due to osmo-mgw having no socket open there anymore.
We should at least, in osmo-hnbgw, if detecting the local MGW IP address
changed during MDCX, tear down the call setup. This patch does precisely
that.
Related: OS#6127
Change-Id: I32c4a7f838ceb5077bec7945e7976ce455d6b025
---
M src/osmo-hnbgw/mgw_fsm.c
1 file changed, 62 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
osmith: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/osmo-hnbgw/mgw_fsm.c b/src/osmo-hnbgw/mgw_fsm.c
index f6f1089..ddab0b5 100644
--- a/src/osmo-hnbgw/mgw_fsm.c
+++ b/src/osmo-hnbgw/mgw_fsm.c
@@ -113,6 +113,7 @@
struct osmo_mgcpc_ep *mgcpc_ep;
struct osmo_mgcpc_ep_ci *mgcpc_ep_ci_hnb;
struct osmo_mgcpc_ep_ci *mgcpc_ep_ci_msc;
+ struct osmo_sockaddr ci_hnb_crcx_ack_addr;
char msc_rtp_addr[INET6_ADDRSTRLEN];
uint16_t msc_rtp_port;
};
@@ -187,8 +188,8 @@
{
struct mgw_fsm_priv *mgw_fsm_priv = fi->priv;
const struct mgcp_conn_peer *mgw_info;
- struct osmo_sockaddr addr;
struct osmo_sockaddr_str addr_str;
+ struct osmo_sockaddr *addr = &mgw_fsm_priv->ci_hnb_crcx_ack_addr;
RANAP_RAB_AssignmentRequestIEs_t *ies;
int rc;
@@ -207,7 +208,7 @@
addr_str.af = AF_INET6;
addr_str.port = mgw_info->port;
osmo_strlcpy(addr_str.ip, mgw_info->addr, sizeof(addr_str.ip));
- rc = osmo_sockaddr_str_to_sockaddr(&addr_str, &addr.u.sas);
+ rc = osmo_sockaddr_str_to_sockaddr(&addr_str, &addr->u.sas);
if (rc < 0) {
LOGPFSML(fi, LOGL_ERROR,
"Failed to convert RTP IP-address (%s) and Port (%u) to its binary representation\n",
@@ -217,7 +218,7 @@
}
ies = &mgw_fsm_priv->ranap_rab_ass_req_message->msg.raB_AssignmentRequestIEs;
- rc = ranap_rab_ass_req_ies_replace_inet_addr(ies, &addr, mgw_fsm_priv->rab_id);
+ rc = ranap_rab_ass_req_ies_replace_inet_addr(ies, addr, mgw_fsm_priv->rab_id);
if (rc < 0) {
LOGPFSML(fi, LOGL_ERROR,
"Failed to replace RTP IP-address (%s) and Port (%u) in RAB-AssignmentRequest\n",
@@ -341,6 +342,9 @@
{
struct mgw_fsm_priv *mgw_fsm_priv = fi->priv;
const struct mgcp_conn_peer *mgw_info;
+ struct osmo_sockaddr_str addr_str;
+ struct osmo_sockaddr addr;
+ int rc;
switch (event) {
case MGW_EV_MGCP_OK:
@@ -350,6 +354,33 @@
osmo_fsm_inst_state_chg(fi, MGW_ST_FAILURE, 0, 0);
return;
}
+
+ if (strchr(mgw_info->addr, '.'))
+ addr_str.af = AF_INET;
+ else
+ addr_str.af = AF_INET6;
+ addr_str.port = mgw_info->port;
+ osmo_strlcpy(addr_str.ip, mgw_info->addr, sizeof(addr_str.ip));
+ rc = osmo_sockaddr_str_to_sockaddr(&addr_str, &addr.u.sas);
+ if (rc < 0) {
+ LOGPFSML(fi, LOGL_ERROR,
+ "Failed to convert RTP IP-address (%s) and Port (%u) to its binary representation\n",
+ mgw_info->addr, mgw_info->port);
+ osmo_fsm_inst_state_chg(fi, MGW_ST_FAILURE, 0, 0);
+ return;
+ }
+
+ if (osmo_sockaddr_cmp(&mgw_fsm_priv->ci_hnb_crcx_ack_addr, &addr) != 0) {
+ /* FIXME: Send RAB Modify Req to HNB. See OS#6127 */
+ char addr_buf[INET6_ADDRSTRLEN + 8];
+ LOGPFSML(fi, LOGL_ERROR, "Local MGW IuUP IP address %s changed to %s during MDCX."
+ " This is so far unsupported, adapt your osmo-mgw config!\n",
+ osmo_sockaddr_to_str(&mgw_fsm_priv->ci_hnb_crcx_ack_addr),
+ osmo_sockaddr_to_str_buf(addr_buf, sizeof(addr_buf), &addr));
+ osmo_fsm_inst_state_chg(fi, MGW_ST_FAILURE, 0, 0);
+ return;
+ }
+
mgw_fsm_state_chg(fi, MGW_ST_CRCX_MSC);
return;
default:
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/34043
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I32c4a7f838ceb5077bec7945e7976ce455d6b025
Gerrit-Change-Number: 34043
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged