Attention is currently required from: dexter.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/33829 )
Change subject: pcu_sock: forward downlink IMMEDAITE ASSIGNMENT with no IMSI to AGCH
......................................................................
Patch Set 3:
(1 comment)
Commit Message:
https://gerrit.osmocom.org/c/osmo-bts/+/33829/comment/488aabbe_90e1dc00
PS3, Line 12: Even though it would work to
: use the paging group 0, it is more appropriate to send the IMMEDIATE
: ASSIGNMENT through the AGCH then.
So again (asking to understand better), what do we win by sending DL TBF assignment over AGCH instead of PCH in this case? I think I saw another patch allowing messages with sapi=PCH to contain no IMSI.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/33829
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Iaa3e5cdcf86578821e149b3e23482a0bcee19f7b
Gerrit-Change-Number: 33829
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Sun, 23 Jul 2023 08:42:50 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33890 )
Change subject: SMPP: Fix Memory leaks
......................................................................
SMPP: Fix Memory leaks
Whenever we call build_tlv() we must
call destroy_tlv() after we are finished with it.
Similarly, smpp34_unpack() makes calls to smpp34_malloc()
and these need to be free'd by us later.
Change-Id: Ic2abcbe78cf7cf7b6ce36fe09aa9b4f8daee973f
---
M src/libsmpputil/smpp_msc.c
M src/libsmpputil/smpp_smsc.c
2 files changed, 18 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/libsmpputil/smpp_msc.c b/src/libsmpputil/smpp_msc.c
index fed5858..cf17540 100644
--- a/src/libsmpputil/smpp_msc.c
+++ b/src/libsmpputil/smpp_msc.c
@@ -788,6 +788,7 @@
sms->msg_ref);
ret = smpp_tx_deliver(esme, &deliver);
+ destroy_tlv(deliver.tlv);
if (ret < 0)
return ret;
diff --git a/src/libsmpputil/smpp_smsc.c b/src/libsmpputil/smpp_smsc.c
index 314dc60..34e24c5 100644
--- a/src/libsmpputil/smpp_smsc.c
+++ b/src/libsmpputil/smpp_smsc.c
@@ -694,6 +694,7 @@
if (!(esme->bind_flags & ESME_BIND_TX)) {
submit_r.command_status = ESME_RINVBNDSTS;
+ destroy_tlv(submit.tlv);
return PACK_AND_SEND(esme->esme, &submit_r);
}
@@ -703,6 +704,7 @@
INIT_RESP(SUBMIT_SM_RESP, &submit_r, &submit);
rc = handle_smpp_submit(esme, &submit, &submit_r);
+ destroy_tlv(submit.tlv);
if (rc == 0)
return PACK_AND_SEND(esme->esme, &submit_r);
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33890
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ic2abcbe78cf7cf7b6ce36fe09aa9b4f8daee973f
Gerrit-Change-Number: 33890
Gerrit-PatchSet: 2
Gerrit-Owner: keith <keith(a)rhizomatica.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged
arehbein has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/31533 )
Change subject: common: Have PCU socket connection use osmo_wqueue
......................................................................
Patch Set 13:
(1 comment)
Patchset:
PS2:
> > So I don't know if anything should be done/what should be done. […]
I have a patch sitting in my local repo, however I couldn't find any configs with the osmo-bsc and osmo-pcu colocated (I grepped for 'pcu-socket' through all '*bsc*.cfg' files in the projects I have on my machine (should be close to all projects by now) and didn't get any results)) - from what I can tell, otherwise the PCU socket on the BSC won't be used.
I'm not sure what is needed to get it running. Just adding `pcu-socket` to a running bsc config that would connect to a bts previously (bts, pcu colocated) didn't do the trick; apparently (according to osmo-pcu/osmo-bsc documentation), I need to use config parameters such as `e1 line ..` and `e1 timeslot` but I don't really know how to get those running;
besides, I also can't just switch the e1 line driver from `dahdi` to `ipa` in example configs such as `osmo-bsc/doc/examples/osmo-bsc/ericsson/osmo-bsc.dug20-rus01-4trx.cfg` either to run with that (but that might also be due to the cfg being outdated...)
It doesn't help that there isn't always proper error output, either...
Can you point me to a running current config with bsc and pcu colocated, so that they exchange PCU IF messages such as info ind (I guess that's all I really need for this)?
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31533
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Ia6e61dda4b3cd4bba76e6acb7771d70335062fe1
Gerrit-Change-Number: 31533
Gerrit-PatchSet: 13
Gerrit-Owner: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 22 Jul 2023 16:24:35 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: arehbein <arehbein(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-msc/+/33890
to look at the new patch set (#2).
Change subject: SMPP: Fix Memory leaks
......................................................................
SMPP: Fix Memory leaks
Whenever we call build_tlv() we must
call destroy_tlv() after we are finished with it.
Similarly, smpp34_unpack() makes calls to smpp34_malloc()
and these need to be free'd by us later.
Change-Id: Ic2abcbe78cf7cf7b6ce36fe09aa9b4f8daee973f
---
M src/libsmpputil/smpp_msc.c
M src/libsmpputil/smpp_smsc.c
2 files changed, 18 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/90/33890/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33890
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ic2abcbe78cf7cf7b6ce36fe09aa9b4f8daee973f
Gerrit-Change-Number: 33890
Gerrit-PatchSet: 2
Gerrit-Owner: keith <keith(a)rhizomatica.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: newpatchset
keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/33890 )
Change subject: SMPP: Fix Memory leak in deliver_to_esme()
......................................................................
SMPP: Fix Memory leak in deliver_to_esme()
After we call build_tlv, in this case via append_tlv_u16, we must
call destroy_tlv after we are finished with it.
Change-Id: Ic2abcbe78cf7cf7b6ce36fe09aa9b4f8daee973f
---
M src/libsmpputil/smpp_msc.c
1 file changed, 13 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/90/33890/1
diff --git a/src/libsmpputil/smpp_msc.c b/src/libsmpputil/smpp_msc.c
index fed5858..cf17540 100644
--- a/src/libsmpputil/smpp_msc.c
+++ b/src/libsmpputil/smpp_msc.c
@@ -788,6 +788,7 @@
sms->msg_ref);
ret = smpp_tx_deliver(esme, &deliver);
+ destroy_tlv(deliver.tlv);
if (ret < 0)
return ret;
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33890
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ic2abcbe78cf7cf7b6ce36fe09aa9b4f8daee973f
Gerrit-Change-Number: 33890
Gerrit-PatchSet: 1
Gerrit-Owner: keith <keith(a)rhizomatica.org>
Gerrit-MessageType: newchange
pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33889 )
Change subject: rlcmac: Avoid discard packets when in Countdown procedure
......................................................................
rlcmac: Avoid discard packets when in Countdown procedure
Discarding a packet through CoDel during Countdown procedure may end up
in the transmitted CV=14..0 being incorrect, since we are not really yet
recalculating them once we enter Countdown procedure.
Hence, to make it simpler for now, avoid dropping packets when in
Countdown procedure to avoid having to recalculate them.
Change-Id: I311302b5282767dc806b1dfe053994f175390b69
---
M include/osmocom/gprs/rlcmac/llc_queue.h
M src/rlcmac/llc_queue.c
M src/rlcmac/tbf_ul.c
3 files changed, 23 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/89/33889/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33889
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I311302b5282767dc806b1dfe053994f175390b69
Gerrit-Change-Number: 33889
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newpatchset
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33888 )
Change subject: rlcmac: ul_tbf: Move logic selecting proper queue to helper function
......................................................................
rlcmac: ul_tbf: Move logic selecting proper queue to helper function
This clarifies the logic behind selecting the proper queue, and it will
be used further in the future, for instance when recalculating CV once
already in Countdown procedure.
Change-Id: Icceaf53048e9662176385b2976e2bc8e3387df71
---
M src/rlcmac/tbf_ul.c
1 file changed, 25 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/88/33888/1
diff --git a/src/rlcmac/tbf_ul.c b/src/rlcmac/tbf_ul.c
index 0d78383..86ea8bd 100644
--- a/src/rlcmac/tbf_ul.c
+++ b/src/rlcmac/tbf_ul.c
@@ -328,6 +328,17 @@
return NULL;
}
+/* Returns the MS/GRE queue unless the UL TBF has entered Countdown Procedure. In that case, it returns the specific frozen queue. */
+static struct gprs_rlcmac_llc_queue *gprs_rlcmac_ul_tbf_llc_queue(const struct gprs_rlcmac_ul_tbf *ul_tbf)
+{
+ struct gprs_rlcmac_llc_queue *llc_queue;
+ if (ul_tbf->countdown_proc.active)
+ llc_queue = ul_tbf->countdown_proc.llc_queue;
+ else
+ llc_queue = ul_tbf->tbf.gre->llc_queue;
+ return llc_queue;
+}
+
bool gprs_rlcmac_ul_tbf_have_data(const struct gprs_rlcmac_ul_tbf *ul_tbf)
{
if (ul_tbf->llc_tx_msg && msgb_length(ul_tbf->llc_tx_msg) > 0)
@@ -360,10 +371,7 @@
msgb_free(ul_tbf->llc_tx_msg);
- if (ul_tbf->countdown_proc.active)
- llc_queue = ul_tbf->countdown_proc.llc_queue;
- else
- llc_queue = ul_tbf->tbf.gre->llc_queue;
+ llc_queue = gprs_rlcmac_ul_tbf_llc_queue(ul_tbf);
/* dequeue next LLC frame, if any */
ul_tbf->llc_tx_msg = gprs_rlcmac_llc_queue_dequeue(llc_queue);
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33888
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: Icceaf53048e9662176385b2976e2bc8e3387df71
Gerrit-Change-Number: 33888
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33889 )
Change subject: rlcmac: Avoid discard packets when in Countdown procedure
......................................................................
rlcmac: Avoid discard packets when in Countdown procedure
Discarding a packet through CoDel during Countdown procedure may end up
in the transmitted CV=14..0 being incorrect, since we are not really yet
recalculating them once we enter Countdown procedure.
Hence, to make it simpler for now, avoid dropping packets when in
Countdown procedure to avoid having to recalculate them.
Change-Id: I311302b5282767dc806b1dfe053994f175390b69
---
M include/osmocom/gprs/rlcmac/llc_queue.h
M src/rlcmac/llc_queue.c
M src/rlcmac/tbf_ul.c
3 files changed, 23 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/89/33889/1
diff --git a/include/osmocom/gprs/rlcmac/llc_queue.h b/include/osmocom/gprs/rlcmac/llc_queue.h
index 842969e..331f33b 100644
--- a/include/osmocom/gprs/rlcmac/llc_queue.h
+++ b/include/osmocom/gprs/rlcmac/llc_queue.h
@@ -51,7 +51,7 @@
int gprs_rlcmac_llc_queue_enqueue(struct gprs_rlcmac_llc_queue *q, uint8_t *ll_pdu, unsigned int ll_pdu_len,
enum osmo_gprs_rlcmac_llc_sapi sapi, uint8_t radio_prio);
-struct msgb *gprs_rlcmac_llc_queue_dequeue(struct gprs_rlcmac_llc_queue *q);
+struct msgb *gprs_rlcmac_llc_queue_dequeue(struct gprs_rlcmac_llc_queue *q, bool can_discard);
uint8_t gprs_rlcmac_llc_queue_highest_radio_prio_pending(struct gprs_rlcmac_llc_queue *q);
void gprs_rlcmac_llc_queue_merge_prepend(struct gprs_rlcmac_llc_queue *q, struct gprs_rlcmac_llc_queue *old_q);
diff --git a/src/rlcmac/llc_queue.c b/src/rlcmac/llc_queue.c
index 3ff80d9..264cad0 100644
--- a/src/rlcmac/llc_queue.c
+++ b/src/rlcmac/llc_queue.c
@@ -182,7 +182,7 @@
return msg;
}
-struct msgb *gprs_rlcmac_llc_queue_dequeue(struct gprs_rlcmac_llc_queue *q)
+struct msgb *gprs_rlcmac_llc_queue_dequeue(struct gprs_rlcmac_llc_queue *q, bool can_discard)
{
struct msgb *msg;
struct timespec tv_now;
@@ -196,7 +196,7 @@
ehdr = msgb_l1(msg);
if (q->use_codel) {
int bytes = gprs_rlcmac_llc_queue_octets(q);
- if (gprs_codel_control(&prioq->codel_state, &ehdr->recv_time, &tv_now, bytes)) {
+ if (can_discard && gprs_codel_control(&prioq->codel_state, &ehdr->recv_time, &tv_now, bytes)) {
/* Drop frame: */
frames++;
octets += msg->len;
diff --git a/src/rlcmac/tbf_ul.c b/src/rlcmac/tbf_ul.c
index 86ea8bd..49100fc 100644
--- a/src/rlcmac/tbf_ul.c
+++ b/src/rlcmac/tbf_ul.c
@@ -374,7 +374,11 @@
llc_queue = gprs_rlcmac_ul_tbf_llc_queue(ul_tbf);
/* dequeue next LLC frame, if any */
- ul_tbf->llc_tx_msg = gprs_rlcmac_llc_queue_dequeue(llc_queue);
+ /* Improve: Ideally we could be able to discard as long as current CV !=0
+ * (because we must tell PCU that we are done), and if a frame is discarded probably do:
+ * ul_tbf->countdown_proc.cv = gprs_rlcmac_ul_tbf_calculate_cv(ul_tbf);
+ */
+ ul_tbf->llc_tx_msg = gprs_rlcmac_llc_queue_dequeue(llc_queue, !ul_tbf->countdown_proc.active);
if (!ul_tbf->llc_tx_msg)
return;
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33889
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I311302b5282767dc806b1dfe053994f175390b69
Gerrit-Change-Number: 33889
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange