Attention is currently required from: msuraev.
keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/29676 )
Change subject: GMM: permit E_GMM_COMMON_PROC_SUCCESS in normal state
......................................................................
Patch Set 1: Code-Review+1
(1 comment)
Patchset:
PS1:
+1 on the basis that I'm running it for a while and I see nothing unexpected happening. I'm not fully familiar with the fsm though.
--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/29676
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: Ia97b50aac6c665812ddca9010de7f97b17b78bd5
Gerrit-Change-Number: 29676
Gerrit-PatchSet: 1
Gerrit-Owner: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: keith <keith(a)rhizomatica.org>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: msuraev <msuraev(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 11 Oct 2022 00:18:06 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/29648 )
Change subject: osmux: Move setting OSMUX_STATE_DISABLED to initializer function
......................................................................
osmux: Move setting OSMUX_STATE_DISABLED to initializer function
Change-Id: I7c184b17075fc3e71f1f66775e16b56a5ae91b62
---
M src/libosmo-mgcp/mgcp_conn.c
M src/libosmo-mgcp/mgcp_osmux.c
M src/libosmo-mgcp/mgcp_protocol.c
3 files changed, 5 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c
index 08c9301..c74069d 100644
--- a/src/libosmo-mgcp/mgcp_conn.c
+++ b/src/libosmo-mgcp/mgcp_conn.c
@@ -95,6 +95,9 @@
static atomic_uint rate_ctr_index = 0;
conn_rtp->type = MGCP_RTP_DEFAULT;
+
+ /* Osmux specific defaults, only used if conn is later on Osmux-enabled: */
+ conn_rtp->osmux.state = OSMUX_STATE_DISABLED;
conn_rtp->osmux.local_cid_allocated = false;
conn_rtp->osmux.local_cid = 0;
conn_rtp->osmux.remote_cid_present = false;
diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c
index 473e655..8ffdf31 100644
--- a/src/libosmo-mgcp/mgcp_osmux.c
+++ b/src/libosmo-mgcp/mgcp_osmux.c
@@ -524,6 +524,8 @@
conn->osmux.ctrg = rate_ctr_group_alloc(conn->conn, &rate_ctr_group_osmux_desc, conn->ctrg->idx);
conn->type = MGCP_RTP_OSMUX;
+ /* Annotate Osmux circuit ID and set it to negotiating state until this
+ * is fully set up from the dummy load. */
conn->osmux.state = OSMUX_STATE_ACTIVATING;
return 0;
}
diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c
index d92725a..fdac665 100644
--- a/src/libosmo-mgcp/mgcp_protocol.c
+++ b/src/libosmo-mgcp/mgcp_protocol.c
@@ -1003,9 +1003,6 @@
goto error2;
}
- /* Annotate Osmux circuit ID and set it to negotiating state until this
- * is fully set up from the dummy load. */
- conn->osmux.state = OSMUX_STATE_DISABLED;
/* If X-Osmux (remote CID) was received (-1 is wilcard), alloc next avail CID as local CID */
if (remote_osmux_cid >= -1) {
if (osmux_init_conn(conn) < 0) {
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/29648
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I7c184b17075fc3e71f1f66775e16b56a5ae91b62
Gerrit-Change-Number: 29648
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/29645 )
Change subject: osmux: Set conn->type during osmux_init_conn()
......................................................................
osmux: Set conn->type during osmux_init_conn()
It's basically the same code path (one function calls the other), but it
makes a lot more sense to have it in the init function itself.
Change-Id: I63d7dfff451870f708f7cb710d66f4ec786c27d7
---
M src/libosmo-mgcp/mgcp_osmux.c
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c
index f820276..cd45a87 100644
--- a/src/libosmo-mgcp/mgcp_osmux.c
+++ b/src/libosmo-mgcp/mgcp_osmux.c
@@ -494,6 +494,7 @@
return -1;
conn->osmux.ctrg = rate_ctr_group_alloc(conn->conn, &rate_ctr_group_osmux_desc, conn->ctrg->idx);
+ conn->type = MGCP_RTP_OSMUX;
conn->osmux.state = OSMUX_STATE_ACTIVATING;
return 0;
}
@@ -614,7 +615,6 @@
conn->osmux.local_cid = (uint8_t) osmux_cid;
conn->osmux.local_cid_allocated = true;
- conn->type = MGCP_RTP_OSMUX;
return osmux_cid;
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/29645
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I63d7dfff451870f708f7cb710d66f4ec786c27d7
Gerrit-Change-Number: 29645
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/29643 )
Change subject: Check once if remote addr is available when sending dummy packet
......................................................................
Check once if remote addr is available when sending dummy packet
It's checked in all code paths being called, which makes sense since
it's impossible to send anything if the remote address is not set. Let's
check it once in a unique to simplify the code.
Change-Id: I224dbfeda17c364b85166268e2ac1e019a87edb6
---
M src/libosmo-mgcp/mgcp_osmux.c
M src/libosmo-mgcp/mgcp_protocol.c
2 files changed, 6 insertions(+), 7 deletions(-)
Approvals:
Jenkins Builder: Verified
osmith: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
laforge: Looks good to me, but someone else must approve
diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c
index d9a10a9..ebb41a6 100644
--- a/src/libosmo-mgcp/mgcp_osmux.c
+++ b/src/libosmo-mgcp/mgcp_osmux.c
@@ -645,9 +645,6 @@
* endpoint may have already punched the hole in the firewall. This
* approach is simple though. */
- /* Wait until we have the connection information from MDCX */
- if (!mgcp_rtp_end_remote_addr_available(&conn->end))
- return 0;
if (endp_osmux_state_check(endp, conn, true) < 0)
return 0;
diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c
index 1d286ed..b4a4792 100644
--- a/src/libosmo-mgcp/mgcp_protocol.c
+++ b/src/libosmo-mgcp/mgcp_protocol.c
@@ -324,6 +324,11 @@
* osmux connection, send the dummy packet via OSMUX */
static void send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn)
{
+ /* Avoid sending dummy packet if the remote address was not yet
+ * configured through CRCX/MDCX: */
+ if (!mgcp_rtp_end_remote_addr_available(&conn->end))
+ return;
+
if (mgcp_conn_rtp_is_osmux(conn))
osmux_send_dummy(endp, conn);
else
@@ -1090,7 +1095,6 @@
/* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */
OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE);
if (conn->conn->mode & MGCP_CONN_RECV_ONLY &&
- mgcp_rtp_end_remote_addr_available(&conn->end) &&
trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER)
send_dummy(endp, conn);
@@ -1310,7 +1314,6 @@
/* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */
OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE);
if (conn->conn->mode & MGCP_CONN_RECV_ONLY &&
- mgcp_rtp_end_remote_addr_available(&conn->end) &&
trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER)
send_dummy(endp, conn);
@@ -1579,8 +1582,7 @@
struct mgcp_endpoint *endp = trunk->endpoints[i];
llist_for_each_entry(conn, &endp->conns, entry) {
if (conn->type == MGCP_CONN_TYPE_RTP &&
- conn->mode == MGCP_CONN_RECV_ONLY &&
- mgcp_rtp_end_remote_addr_available(&conn->u.rtp.end))
+ conn->mode == MGCP_CONN_RECV_ONLY)
send_dummy(endp, &conn->u.rtp);
}
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/29643
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I224dbfeda17c364b85166268e2ac1e019a87edb6
Gerrit-Change-Number: 29643
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged