Attention is currently required from: osmith.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27704 )
Change subject: bssap: forward paging from MSC to all BSCs
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
I think it is ok to merge this kind of approach now, but for later we definitely want to be smarter about this. In a larger-than-trivial network you would likely quickly saturate the PCH (downlink CCCH) if you push all paging requests everywhere.
If the MSC wants to page the entire netwrok (bsc coverage area) it will say that in the paging request. But in most normal cases it would request to only page in a specific LA.
Dynamically learning from the LU is a smart idea, and I like it - but unfortuantely it wouldn't work at the moment we start (or restart) bsc-nat. Then we don't have a (complete) table of the LAC yet, and we wouldn't be able to rout paging, even while there are still phones out there in those LA/BTS which could be paged.
The other option would be to introduce some osmocom proprietary IE to the BSSMAP RESET which contains the LAC[s] of all the cells in the BSC. As we are developing osmo-bsc_nat primarily for use with osmo-bsc, this would be an elegant solution for the primary use caes.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27704
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I2532d94aab82d136b932d57fa53c8ecf2d8d1fd9
Gerrit-Change-Number: 27704
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 09 Apr 2022 09:11:17 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: manawyrm, tnt.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27716 )
Change subject: RIFO: fix frame_rifo_in check on frame number wrap-around
......................................................................
Patch Set 1:
(1 comment)
File src/octoi/frame_rifo.c:
https://gerrit.osmocom.org/c/osmo-e1d/+/27716/comment/9d338bec_b8dd9532
PS1, Line 117: if ( fn < rifo->next_out_fn - FRAMES_PER_FIFO )
I'm not really following here. so the previous check was whether we try to insert a frame number that is too large. Your new check is for a frame number that is too small ("min_in_fn").
But the way how you nested the new if clause, it means -ERANGE is only returned if it's both larger than max_in_fn and smaller than "min_in_fn", i.e. never?
I guess we shold define a frame_rifo_min_in_fn() function similar to frame_rifo_max_in_fn() and then have an or-statement here if it's either less than min_in_fn or greater than max_in_fn?
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27716
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: laforge/rifo
Gerrit-Change-Id: I88abfc77543d5c64b01f40944b2914e03e57d08f
Gerrit-Change-Number: 27716
Gerrit-PatchSet: 1
Gerrit-Owner: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Attention: tnt <tnt(a)246tNt.com>
Gerrit-Comment-Date: Sat, 09 Apr 2022 09:00:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
manawyrm has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27716 )
Change subject: RIFO: fix frame_rifo_in check on frame number wrap-around
......................................................................
RIFO: fix frame_rifo_in check on frame number wrap-around
frame_rifo_in would previously return -ERANGE when a frame was written
which was at the edge of the wrap-around of the frame number (because
the maximum value was already across the boundary)
Also: fixed some typos
Change-Id: I88abfc77543d5c64b01f40944b2914e03e57d08f
---
M src/octoi/e1oip.c
M src/octoi/frame_rifo.c
2 files changed, 8 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/16/27716/1
diff --git a/src/octoi/e1oip.c b/src/octoi/e1oip.c
index 176db01..00c671d 100644
--- a/src/octoi/e1oip.c
+++ b/src/octoi/e1oip.c
@@ -98,7 +98,7 @@
rc = frame_fifo_out(&iline->e1o.fifo, buf[i]);
if (rc < 0) {
/* this situation cannot really happen: The FIFO called us that
- * a certain threshold is reached, ubt now it cannot provide
+ * a certain threshold is reached, but now it cannot provide
* frames? */
LOGPEER(iline->peer, LOGL_ERROR,
"frame_fifo_out failure for frame %u/%u\n", iline->e1o.next_seq + i, i);
diff --git a/src/octoi/frame_rifo.c b/src/octoi/frame_rifo.c
index 0ddaae5..823df15 100644
--- a/src/octoi/frame_rifo.c
+++ b/src/octoi/frame_rifo.c
@@ -106,14 +106,19 @@
* \param rifo The RIFO to which we want to put (append) multiple frames
* \param frame Pointer to memory containing the frame data
* \param fn Absolute frame number at which to insert the frame.
- * \returns 0 on success; -1 on error (overflow */
+ * \returns 0 on success; -1 on error (overflow) */
int frame_rifo_in(struct frame_rifo *rifo, const uint8_t *frame, uint32_t fn)
{
uint32_t bucket;
uint8_t *dst;
if (fn > frame_rifo_max_in_fn(rifo))
- return -ERANGE;
+ {
+ if ( fn < rifo->next_out_fn - FRAMES_PER_FIFO )
+ {
+ return -ERANGE;
+ }
+ }
bucket = bucket_for_fn(rifo, fn);
dst = rifo->buf + bucket * BYTES_PER_FRAME;
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27716
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: laforge/rifo
Gerrit-Change-Id: I88abfc77543d5c64b01f40944b2914e03e57d08f
Gerrit-Change-Number: 27716
Gerrit-PatchSet: 1
Gerrit-Owner: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-MessageType: newchange
manawyrm has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27714 )
Change subject: RIFO: fix frame_rifo_in check on frame number wrap-around
......................................................................
Abandoned
this shouldn't have been commited to refs/for/master, sorry!
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27714
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I88abfc77543d5c64b01f40944b2914e03e57d08f
Gerrit-Change-Number: 27714
Gerrit-PatchSet: 1
Gerrit-Owner: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: abandon
manawyrm has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27713 )
Change subject: WIP: RIFO (random in, first out) for IP->E1 direction
......................................................................
Abandoned
this shouldn't have been commited to refs/for/master, sorry!
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27713
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I22256870114cb85e4e10932554478be7061e086b
Gerrit-Change-Number: 27713
Gerrit-PatchSet: 1
Gerrit-Owner: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: abandon
manawyrm has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27715 )
Change subject: RIFO: add more thorough tests and a vetted test.ok file
......................................................................
Abandoned
this shouldn't have been commited to refs/for/master, sorry!
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27715
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I930b4361924b2e8bcb566eb7ee64f36e06bc7745
Gerrit-Change-Number: 27715
Gerrit-PatchSet: 1
Gerrit-Owner: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: abandon
manawyrm has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27714 )
Change subject: RIFO: fix frame_rifo_in check on frame number wrap-around
......................................................................
RIFO: fix frame_rifo_in check on frame number wrap-around
frame_rifo_in would previously return -ERANGE when a frame was written
which was at the edge of the wrap-around of the frame number (because
the maximum value was already across the boundary)
Also: fixed some typos
Change-Id: I88abfc77543d5c64b01f40944b2914e03e57d08f
---
M src/octoi/e1oip.c
M src/octoi/frame_rifo.c
2 files changed, 8 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/14/27714/1
diff --git a/src/octoi/e1oip.c b/src/octoi/e1oip.c
index 176db01..00c671d 100644
--- a/src/octoi/e1oip.c
+++ b/src/octoi/e1oip.c
@@ -98,7 +98,7 @@
rc = frame_fifo_out(&iline->e1o.fifo, buf[i]);
if (rc < 0) {
/* this situation cannot really happen: The FIFO called us that
- * a certain threshold is reached, ubt now it cannot provide
+ * a certain threshold is reached, but now it cannot provide
* frames? */
LOGPEER(iline->peer, LOGL_ERROR,
"frame_fifo_out failure for frame %u/%u\n", iline->e1o.next_seq + i, i);
diff --git a/src/octoi/frame_rifo.c b/src/octoi/frame_rifo.c
index 0ddaae5..823df15 100644
--- a/src/octoi/frame_rifo.c
+++ b/src/octoi/frame_rifo.c
@@ -106,14 +106,19 @@
* \param rifo The RIFO to which we want to put (append) multiple frames
* \param frame Pointer to memory containing the frame data
* \param fn Absolute frame number at which to insert the frame.
- * \returns 0 on success; -1 on error (overflow */
+ * \returns 0 on success; -1 on error (overflow) */
int frame_rifo_in(struct frame_rifo *rifo, const uint8_t *frame, uint32_t fn)
{
uint32_t bucket;
uint8_t *dst;
if (fn > frame_rifo_max_in_fn(rifo))
- return -ERANGE;
+ {
+ if ( fn < rifo->next_out_fn - FRAMES_PER_FIFO )
+ {
+ return -ERANGE;
+ }
+ }
bucket = bucket_for_fn(rifo, fn);
dst = rifo->buf + bucket * BYTES_PER_FRAME;
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27714
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I88abfc77543d5c64b01f40944b2914e03e57d08f
Gerrit-Change-Number: 27714
Gerrit-PatchSet: 1
Gerrit-Owner: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-MessageType: newchange