lists.osmocom.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
List overview
Download
gerrit-log
September 2023
----- 2025 -----
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
gerrit-log@lists.osmocom.org
1 participants
1947 discussions
Start a n
N
ew thread
[S] Change in libosmo-netif[master]: stream_test: Avoid leaking osmo_stream_srv_link
by pespin
pespin has submitted this change. (
https://gerrit.osmocom.org/c/libosmo-netif/+/34289?usp=email
) Change subject: stream_test: Avoid leaking osmo_stream_srv_link ...................................................................... stream_test: Avoid leaking osmo_stream_srv_link Change-Id: I43b7327893c220447492d2c36c87b187a414cbdb --- M tests/stream/stream_test.c 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, approved diff --git a/tests/stream/stream_test.c b/tests/stream/stream_test.c index 20afc55..0977fde 100644 --- a/tests/stream/stream_test.c +++ b/tests/stream/stream_test.c @@ -670,6 +670,7 @@ if (osmo_stream_srv_link_open(srv) < 0) { printf("Unable to open server\n"); + osmo_stream_srv_link_destroy(srv); return EXIT_FAILURE; } @@ -679,5 +680,7 @@ test_segm_ipa_stream_srv_run(tall_test, host, port, srv); printf("Stream tests completed\n"); + + osmo_stream_srv_link_destroy(srv); return EXIT_SUCCESS; } -- To view, visit
https://gerrit.osmocom.org/c/libosmo-netif/+/34289?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I43b7327893c220447492d2c36c87b187a414cbdb Gerrit-Change-Number: 34289 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 year, 9 months
1
0
0
0
[S] Change in libosmo-netif[master]: stream_test: Avoid leaking osmo_stream_srv_link
by osmith
Attention is currently required from: arehbein, daniel, fixeria, pespin. osmith has posted comments on this change. (
https://gerrit.osmocom.org/c/libosmo-netif/+/34289?usp=email
) Change subject: stream_test: Avoid leaking osmo_stream_srv_link ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/libosmo-netif/+/34289?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I43b7327893c220447492d2c36c87b187a414cbdb Gerrit-Change-Number: 34289 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: arehbein <arehbein(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: daniel <dwillmann(a)sysmocom.de> Gerrit-Comment-Date: Mon, 04 Sep 2023 15:19:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 9 months
1
0
0
0
[M] Change in osmocom-bb[master]: l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind
by pespin
Attention is currently required from: fixeria. pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/osmocom-bb/+/34310?usp=email
) Change subject: l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind ...................................................................... Patch Set 1: (1 comment) Patchset: PS1: > fix ignore this "fix", It's something unexpected I wrote. -- To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/34310?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1494e0aac7555f6e01b4b435b77140afc42c098e Gerrit-Change-Number: 34310 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Mon, 04 Sep 2023 15:12:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: comment
1 year, 9 months
1
0
0
0
[S] Change in osmocom-bb[master]: trxcon: Print fn in prim_enqueue()
by pespin
pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmocom-bb/+/34309?usp=email
) Change subject: trxcon: Print fn in prim_enqueue() ...................................................................... trxcon: Print fn in prim_enqueue() Change-Id: I3725a77cbfb116697c1287edbac9068e64768a19 --- M src/host/trxcon/src/sched_prim.c 1 file changed, 13 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/host/trxcon/src/sched_prim.c b/src/host/trxcon/src/sched_prim.c index c4c80f8..1baa125 100644 --- a/src/host/trxcon/src/sched_prim.c +++ b/src/host/trxcon/src/sched_prim.c @@ -368,9 +368,9 @@ if (OSMO_UNLIKELY(lchan == NULL || !lchan->active)) { LOGP_SCHEDD(sched, LOGL_ERROR, "No [active] lchan for primitive " L1SCHED_PRIM_STR_FMT " " - "(chan_nr=%02x, link_id=%02x, len=%u): %s\n", + "(fn=%u, chan_nr=%02x, link_id=%02x, len=%u): %s\n", L1SCHED_PRIM_STR_ARGS(prim), - chdr->chan_nr, chdr->link_id, + chdr->frame_nr, chdr->chan_nr, chdr->link_id, msgb_l2len(msg), msgb_hexdump_l2(msg)); msgb_free(msg); return -ENODEV; @@ -378,9 +378,9 @@ LOGP_LCHAND(lchan, LOGL_DEBUG, "Enqueue primitive " L1SCHED_PRIM_STR_FMT " " - "(chan_nr=%02x, link_id=%02x, len=%u): %s\n", + "(fn=%u, chan_nr=%02x, link_id=%02x, len=%u): %s\n", L1SCHED_PRIM_STR_ARGS(prim), - chdr->chan_nr, chdr->link_id, + chdr->frame_nr, chdr->chan_nr, chdr->link_id, msgb_l2len(msg), msgb_hexdump_l2(msg)); msgb_enqueue(&lchan->tx_prims, msg); -- To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/34309?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3725a77cbfb116697c1287edbac9068e64768a19 Gerrit-Change-Number: 34309 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 year, 9 months
1
0
0
0
[M] Change in osmocom-bb[master]: l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind
by pespin
Attention is currently required from: fixeria. pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/osmocom-bb/+/34310?usp=email
) Change subject: l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind ...................................................................... Patch Set 1: (1 comment) Patchset: PS1: fix -- To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/34310?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1494e0aac7555f6e01b4b435b77140afc42c098e Gerrit-Change-Number: 34310 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Mon, 04 Sep 2023 15:10:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 year, 9 months
1
0
0
0
[M] Change in osmocom-bb[master]: l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind
by pespin
pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmocom-bb/+/34310?usp=email
) Change subject: l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind ...................................................................... l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind Before this patch, the RTS:ind was crafted up in the stack when receiving the DL_BLOCK.ind. This created some problems since the internal low level state has to be updated in between signalling DL_BLOCK.ind and RTS.ind, as there's a fn-advnace of one block between those 2 signals (hence the timeslot allocation has to be applied at the time when the fn-advance is applied). This is actually not fixing the whole issue, since there's several timeslots and hence the following events will have the internal timeslot updated during the event in the middle, hence potentially causing problems in the remaining TS: DL_BLOCK.ind(FN=N, TS=1), RTS.ind(FN=N+4, TS=1), DL_BLOCK.ind(FN=N, TS=2) In any case, this decoupling already improves the situation and is step needed anyway towards fully fixing the problem (by, for instance, maintaining a timeslot state duplicated both for DL and Ul directions, since they drive based on differnet FN time (1 PDCH block). Change-Id: I1494e0aac7555f6e01b4b435b77140afc42c098e --- M include/l1ctl_proto.h M include/l1gprs.h M src/host/layer23/include/osmocom/bb/common/ms.h M src/host/layer23/include/osmocom/bb/modem/grr.h M src/host/layer23/src/common/l1ctl.c M src/host/layer23/src/modem/grr.c M src/host/layer23/src/modem/rlcmac.c M src/host/trxcon/src/trxcon_fsm.c M src/host/virt_phy/src/virt_prim_pdch.c M src/shared/l1gprs.c 10 files changed, 154 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/10/34310/1 diff --git a/include/l1ctl_proto.h b/include/l1ctl_proto.h index f0bc56d..8bf44cf 100644 --- a/include/l1ctl_proto.h +++ b/include/l1ctl_proto.h @@ -59,6 +59,7 @@ L1CTL_GPRS_DL_BLOCK_IND = 0x23, /* Extended (11-bit) RACH (see 3GPP TS 05.02, section 5.2.7) */ L1CTL_EXT_RACH_REQ = 0x24, + L1CTL_GPRS_RTS_IND = 0x25, }; enum ccch_mode { @@ -387,4 +388,11 @@ uint8_t data[0]; } __attribute__((packed)); +/* payload of L1CTL_GPRS_RTS_IND */ +struct l1ctl_gprs_rts_ind { + uint32_t fn; + uint8_t tn; + uint8_t usf; +} __attribute__((packed)); + #endif /* __L1CTL_PROTO_H__ */ diff --git a/include/l1gprs.h b/include/l1gprs.h index eb15726..57380d3 100644 --- a/include/l1gprs.h +++ b/include/l1gprs.h @@ -112,4 +112,5 @@ struct l1gprs_prim_ul_block_req *req, const struct msgb *msg); struct msgb *l1gprs_handle_dl_block_ind(struct l1gprs_state *gprs, - const struct l1gprs_prim_dl_block_ind *ind); + const struct l1gprs_prim_dl_block_ind *ind, uint8_t *usf); +struct msgb *l1gprs_handle_rts_ind(struct l1gprs_state *gprs, uint32_t fn, uint8_t tn, uint8_t usf); diff --git a/src/host/layer23/include/osmocom/bb/common/ms.h b/src/host/layer23/include/osmocom/bb/common/ms.h index 8d1ffc4..f08e977 100644 --- a/src/host/layer23/include/osmocom/bb/common/ms.h +++ b/src/host/layer23/include/osmocom/bb/common/ms.h @@ -43,6 +43,7 @@ struct osmol1_entity { int (*l1_traffic_ind)(struct osmocom_ms *ms, struct msgb *msg); int (*l1_gprs_dl_block_ind)(struct osmocom_ms *ms, struct msgb *msg); + int (*l1_gprs_rts_ind)(struct osmocom_ms *ms, struct msgb *msg); }; struct osmomncc_entity { diff --git a/src/host/layer23/include/osmocom/bb/modem/grr.h b/src/host/layer23/include/osmocom/bb/modem/grr.h index 3472a10..8235d59 100644 --- a/src/host/layer23/include/osmocom/bb/modem/grr.h +++ b/src/host/layer23/include/osmocom/bb/modem/grr.h @@ -25,6 +25,7 @@ GRR_EV_PDCH_DL_TBF_CFG_REQ, GRR_EV_PDCH_BLOCK_REQ, GRR_EV_PDCH_BLOCK_IND, + GRR_EV_PDCH_RTS_IND, }; extern struct osmo_fsm grr_fsm_def; diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index 38510d8..d9e0dba 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -986,6 +986,35 @@ return 0; } +/* Receive L1CTL_GPRS_RTS_IND */ +static int rx_l1_gprs_rts_ind(struct osmocom_ms *ms, struct msgb *msg) +{ + const struct l1ctl_gprs_rts_ind *ind = (void *)msg->l1h; + + if (msgb_l1len(msg) < sizeof(*ind)) { + LOGP(DL1C, LOGL_ERROR, + "Rx malformed GPRS RTS.ind (len=%u < %zu)\n", + msgb_l1len(msg), sizeof(*ind)); + return -EINVAL; + } + if (OSMO_UNLIKELY(ind->tn >= 8)) { + LOGP(DL1C, LOGL_ERROR, + "Rx malformed GPRS RTS.ind (tn=%u)\n", + ind->tn); + return -EINVAL; + } + + DEBUGP(DL1C, "Rx GPRS DL block (fn=%u, tn=%u)\n", + ntohl(ind->fn), ind->tn); + + /* distribute or drop */ + if (ms->l1_entity.l1_gprs_rts_ind) + return ms->l1_entity.l1_gprs_rts_ind(ms, msg); + + msgb_free(msg); + return 0; +} + /* Transmit L1CTL_GPRS_UL_BLOCK_REQ */ int l1ctl_tx_gprs_ul_block_req(struct osmocom_ms *ms, uint32_t fn, uint8_t tn, const uint8_t *data, size_t data_len) @@ -1132,6 +1161,9 @@ case L1CTL_GPRS_DL_BLOCK_IND: rc = rx_l1_gprs_dl_block_ind(ms, msg); break; + case L1CTL_GPRS_RTS_IND: + rc = rx_l1_gprs_rts_ind(ms, msg); + break; default: LOGP(DL1C, LOGL_ERROR, "Unknown MSG: %u\n", hdr->msg_type); msgb_free(msg); diff --git a/src/host/layer23/src/modem/grr.c b/src/host/layer23/src/modem/grr.c index 7eec935..a4a270c 100644 --- a/src/host/layer23/src/modem/grr.c +++ b/src/host/layer23/src/modem/grr.c @@ -469,16 +469,19 @@ } }; osmo_gprs_rlcmac_prim_lower_up(prim); +} + +static void handle_pdch_rts_ind(struct osmocom_ms *ms, struct msgb *msg) +{ + const struct l1ctl_gprs_rts_ind *ind = (void *)msg->l1h; + const uint32_t fn = osmo_load32be(&ind->fn); + struct osmo_gprs_rlcmac_prim *prim; /* Do not send RTS.ind if we got PTCCH/D */ if (fn % 104 == 12) return; - /* Every fn % 13 == 12 we have either a PTCCH or an IDLE slot, thus - * every fn % 13 == 8 we add 5 frames, or 4 frames othrwise. The - * resulting value is first fn of the next block. */ - const uint32_t rts_fn = GSM_TDMA_FN_SUM(fn, (fn % 13 == 8) ? 5 : 4); - prim = osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_rts_ind(ind->hdr.tn, rts_fn, ind->usf); + prim = osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_rts_ind(ind->tn, fn, ind->usf); osmo_gprs_rlcmac_prim_lower_up(prim); } @@ -693,6 +696,9 @@ case GRR_EV_PDCH_BLOCK_IND: handle_pdch_block_ind(ms, (struct msgb *)data); break; + case GRR_EV_PDCH_RTS_IND: + handle_pdch_rts_ind(ms, (struct msgb *)data); + break; case GRR_EV_PDCH_RELEASE_REQ: modem_sync_to_cell(ms); osmo_fsm_inst_state_chg(fi, GRR_ST_PACKET_NOT_READY, 0, 0); @@ -729,6 +735,7 @@ | S(GRR_EV_PDCH_DL_TBF_CFG_REQ) | S(GRR_EV_PDCH_BLOCK_REQ) | S(GRR_EV_PDCH_BLOCK_IND) + | S(GRR_EV_PDCH_RTS_IND) | S(GRR_EV_PDCH_RELEASE_REQ), .action = &grr_st_packet_transfer_action, .onenter = &grr_st_packet_transfer_onenter, @@ -747,6 +754,7 @@ OSMO_VALUE_STRING(GRR_EV_PDCH_DL_TBF_CFG_REQ), OSMO_VALUE_STRING(GRR_EV_PDCH_BLOCK_REQ), OSMO_VALUE_STRING(GRR_EV_PDCH_BLOCK_IND), + OSMO_VALUE_STRING(GRR_EV_PDCH_RTS_IND), { 0, NULL } }; diff --git a/src/host/layer23/src/modem/rlcmac.c b/src/host/layer23/src/modem/rlcmac.c index 0f98e79..5037d99 100644 --- a/src/host/layer23/src/modem/rlcmac.c +++ b/src/host/layer23/src/modem/rlcmac.c @@ -167,6 +167,11 @@ return osmo_fsm_inst_dispatch(ms->grr_fi, GRR_EV_PDCH_BLOCK_IND, msg); } +static int l1ctl_rts_cb(struct osmocom_ms *ms, struct msgb *msg) +{ + return osmo_fsm_inst_dispatch(ms->grr_fi, GRR_EV_PDCH_RTS_IND, msg); +} + int modem_rlcmac_init(struct osmocom_ms *ms) { int rc; @@ -182,6 +187,7 @@ osmo_gprs_rlcmac_prim_set_down_cb(modem_rlcmac_prim_down_cb, ms); ms->l1_entity.l1_gprs_dl_block_ind = &l1ctl_dl_block_cb; + ms->l1_entity.l1_gprs_rts_ind = &l1ctl_rts_cb; return rc; } diff --git a/src/host/trxcon/src/trxcon_fsm.c b/src/host/trxcon/src/trxcon_fsm.c index e7c60f2..023ed49 100644 --- a/src/host/trxcon/src/trxcon_fsm.c +++ b/src/host/trxcon/src/trxcon_fsm.c @@ -607,6 +607,7 @@ const struct trxcon_param_rx_data_ind *ind = data; struct l1gprs_prim_dl_block_ind block_ind; struct msgb *msg; + uint8_t usf = 0xff; block_ind = (struct l1gprs_prim_dl_block_ind) { .hdr = { @@ -627,7 +628,14 @@ else block_ind.meas.ber10k = 10000 * ind->n_errors / ind->n_bits_total; - msg = l1gprs_handle_dl_block_ind(trxcon->gprs, &block_ind); + msg = l1gprs_handle_dl_block_ind(trxcon->gprs, &block_ind, &usf); + if (msg != NULL) + trxcon_l1ctl_send(trxcon, msg); + /* Every fn % 13 == 12 we have either a PTCCH or an IDLE slot, thus + * every fn % 13 == 8 we add 5 frames, or 4 frames othrwise. The + * resulting value is first fn of the next block. */ + const uint32_t rts_fn = GSM_TDMA_FN_SUM(ind->frame_nr, (ind->frame_nr % 13 == 8) ? 5 : 4); + msg = l1gprs_handle_rts_ind(trxcon->gprs, rts_fn, ind->chan_nr & 0x07, usf); if (msg != NULL) trxcon_l1ctl_send(trxcon, msg); break; diff --git a/src/host/virt_phy/src/virt_prim_pdch.c b/src/host/virt_phy/src/virt_prim_pdch.c index 65551d3..d2992f7 100644 --- a/src/host/virt_phy/src/virt_prim_pdch.c +++ b/src/host/virt_phy/src/virt_prim_pdch.c @@ -22,6 +22,7 @@ #include <osmocom/core/utils.h> #include <osmocom/gsm/gsm_utils.h> #include <osmocom/gsm/protocol/gsm_08_58.h> +#include <osmocom/gsm/gsm0502.h> #include <osmocom/bb/virtphy/l1ctl_sap.h> #include <osmocom/bb/virtphy/virt_l1_sched.h> @@ -75,6 +76,7 @@ { struct l1gprs_prim_dl_block_ind ind; struct msgb *nmsg; + uint8_t usf; if (ms->gprs == NULL) return; @@ -93,7 +95,14 @@ .data_len = msgb_length(msg), }; - nmsg = l1gprs_handle_dl_block_ind(ms->gprs, &ind); + nmsg = l1gprs_handle_dl_block_ind(ms->gprs, &ind, &usf); if (nmsg != NULL) l1ctl_sap_tx_to_l23_inst(ms, nmsg); + /* Every fn % 13 == 12 we have either a PTCCH or an IDLE slot, thus + * every fn % 13 == 8 we add 5 frames, or 4 frames othrwise. The + * resulting value is first fn of the next block. */ + const uint32_t rts_fn = GSM_TDMA_FN_SUM(fn, (fn % 13 == 8) ? 5 : 4); + nmsg = l1gprs_handle_rts_ind(ms->gprs, rts_fn, tn, usf); + if (msg != NULL) + l1ctl_sap_tx_to_l23_inst(ms, nmsg); } diff --git a/src/shared/l1gprs.c b/src/shared/l1gprs.c index 61b6eea..bfbda59 100644 --- a/src/shared/l1gprs.c +++ b/src/shared/l1gprs.c @@ -674,7 +674,8 @@ (((ind)->hdr.fn % 104) == 12) struct msgb *l1gprs_handle_dl_block_ind(struct l1gprs_state *gprs, - const struct l1gprs_prim_dl_block_ind *ind) + const struct l1gprs_prim_dl_block_ind *ind, + uint8_t *usf) { const struct l1gprs_pdch *pdch = NULL; struct l1ctl_gprs_dl_block_ind *l1bi; @@ -743,6 +744,7 @@ case OSMO_GPRS_CS3: case OSMO_GPRS_CS4: l1bi->usf = ind->data[0] & 0x07; + *usf = l1bi->usf; /* Determine whether to include the payload or not */ if (l1gprs_pdch_filter_dl_block(pdch, ind->data)) memcpy(msgb_put(msg, ind->data_len), ind->data, ind->data_len); @@ -758,3 +760,46 @@ return msg; } + +struct msgb *l1gprs_handle_rts_ind(struct l1gprs_state *gprs, uint32_t fn, uint8_t tn, uint8_t usf) +{ + const struct l1gprs_pdch *pdch = NULL; + struct l1ctl_gprs_rts_ind *l1bi; + struct msgb *msg; + + pdch = &gprs->pdch[tn]; + + LOGP_PDCH(pdch, LOGL_DEBUG, + "Rx RTS.ind (%s, fn=%u, usf=%u)\n", + ((fn % 104) == 12) ? "PTCCH" : "PDTCH", + fn, usf); + + l1gprs_check_pending_tbfs(gprs, fn); + + if (pdch->ul_tbf_count + pdch->dl_tbf_count == 0) { + if (pdch->pending_ul_tbf_count + pdch->pending_dl_tbf_count > 0) + LOGP_PDCH(pdch, LOGL_DEBUG, + "Rx RTS.ind (fn=%u, usf=%u), but this PDCH has no active TBFs yet\n", + fn, usf); + else + LOGP_PDCH(pdch, LOGL_ERROR, + "Rx RTS.ind (fn=%u, usf=%u), but this PDCH has no configured TBFs\n", + fn, usf); + return NULL; + } + + msg = l1gprs_l1ctl_msgb_alloc(L1CTL_GPRS_RTS_IND); + if (OSMO_UNLIKELY(msg == NULL)) { + LOGP_GPRS(gprs, LOGL_ERROR, "l1gprs_l1ctl_msgb_alloc() failed\n"); + return NULL; + } + + l1bi = (void *)msgb_put(msg, sizeof(*l1bi)); + *l1bi = (struct l1ctl_gprs_rts_ind) { + .fn = htonl(fn), + .tn = tn, + .usf = usf, + }; + + return msg; +} -- To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/34310?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I1494e0aac7555f6e01b4b435b77140afc42c098e Gerrit-Change-Number: 34310 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 year, 9 months
1
0
0
0
[S] Change in osmocom-bb[master]: trxcon: Print fn in prim_enqueue()
by fixeria
Attention is currently required from: pespin. fixeria has posted comments on this change. (
https://gerrit.osmocom.org/c/osmocom-bb/+/34309?usp=email
) Change subject: trxcon: Print fn in prim_enqueue() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/34309?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3725a77cbfb116697c1287edbac9068e64768a19 Gerrit-Change-Number: 34309 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Mon, 04 Sep 2023 15:04:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 9 months
1
0
0
0
[S] Change in osmocom-bb[master]: trxcon: Print fn in prim_enqueue()
by pespin
pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmocom-bb/+/34309?usp=email
) Change subject: trxcon: Print fn in prim_enqueue() ...................................................................... trxcon: Print fn in prim_enqueue() Change-Id: I3725a77cbfb116697c1287edbac9068e64768a19 --- M src/host/trxcon/src/sched_prim.c 1 file changed, 13 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/09/34309/1 diff --git a/src/host/trxcon/src/sched_prim.c b/src/host/trxcon/src/sched_prim.c index c4c80f8..1baa125 100644 --- a/src/host/trxcon/src/sched_prim.c +++ b/src/host/trxcon/src/sched_prim.c @@ -368,9 +368,9 @@ if (OSMO_UNLIKELY(lchan == NULL || !lchan->active)) { LOGP_SCHEDD(sched, LOGL_ERROR, "No [active] lchan for primitive " L1SCHED_PRIM_STR_FMT " " - "(chan_nr=%02x, link_id=%02x, len=%u): %s\n", + "(fn=%u, chan_nr=%02x, link_id=%02x, len=%u): %s\n", L1SCHED_PRIM_STR_ARGS(prim), - chdr->chan_nr, chdr->link_id, + chdr->frame_nr, chdr->chan_nr, chdr->link_id, msgb_l2len(msg), msgb_hexdump_l2(msg)); msgb_free(msg); return -ENODEV; @@ -378,9 +378,9 @@ LOGP_LCHAND(lchan, LOGL_DEBUG, "Enqueue primitive " L1SCHED_PRIM_STR_FMT " " - "(chan_nr=%02x, link_id=%02x, len=%u): %s\n", + "(fn=%u, chan_nr=%02x, link_id=%02x, len=%u): %s\n", L1SCHED_PRIM_STR_ARGS(prim), - chdr->chan_nr, chdr->link_id, + chdr->frame_nr, chdr->chan_nr, chdr->link_id, msgb_l2len(msg), msgb_hexdump_l2(msg)); msgb_enqueue(&lchan->tx_prims, msg); -- To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/34309?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3725a77cbfb116697c1287edbac9068e64768a19 Gerrit-Change-Number: 34309 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 year, 9 months
1
0
0
0
[M] Change in libosmo-gprs[master]: rlcmac: Several fixes and improvements to have 2phase access working
by pespin
pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmo-gprs/+/34308?usp=email
) Change subject: rlcmac: Several fixes and improvements to have 2phase access working ...................................................................... rlcmac: Several fixes and improvements to have 2phase access working Some solutions are not meant to be final ones, but some small workarounds to have the whole thing running until the lower layers are fixed/improved. Related: OS#5500 Change-Id: I94bd0de6917b004cba73d2fffc7cf69b3b5c305d --- M src/rlcmac/sched.c M src/rlcmac/tbf_ul_ass_fsm.c M tests/rlcmac/rlcmac_prim_test.c M tests/rlcmac/rlcmac_prim_test.err M tests/rlcmac/rlcmac_prim_test.ok 5 files changed, 100 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/08/34308/1 diff --git a/src/rlcmac/sched.c b/src/rlcmac/sched.c index 8709f71..6af2b6a 100644 --- a/src/rlcmac/sched.c +++ b/src/rlcmac/sched.c @@ -222,7 +222,7 @@ if (tbfs->poll_ul_ass) { LOGRLCMAC(LOGL_DEBUG, "(ts=%u,fn=%u,usf=%u) Tx Pkt Control Ack (UL ASS poll)\n", bi->ts, bi->fn, bi->usf); - msg = gprs_rlcmac_gre_create_pkt_ctrl_ack(ul_tbf_as_tbf(tbfs->poll_ul_ass)->gre); + msg = gprs_rlcmac_tbf_ul_ass_create_rlcmac_msg(tbfs->poll_ul_ass, bi); if (msg) return msg; } diff --git a/src/rlcmac/tbf_ul_ass_fsm.c b/src/rlcmac/tbf_ul_ass_fsm.c index 8244f8e..0f0f9ee 100644 --- a/src/rlcmac/tbf_ul_ass_fsm.c +++ b/src/rlcmac/tbf_ul_ass_fsm.c @@ -30,6 +30,7 @@ #include <osmocom/gprs/rlcmac/types.h> #include <osmocom/gprs/rlcmac/tbf_ul_ass_fsm.h> #include <osmocom/gprs/rlcmac/tbf_ul.h> +#include <osmocom/gprs/rlcmac/tbf_dl.h> #include <osmocom/gprs/rlcmac/gre.h> #include <osmocom/gprs/rlcmac/sched.h> #include <osmocom/gprs/rlcmac/csn1_defs.h> @@ -392,9 +393,17 @@ /* If RRBP contains valid data, schedule a response (PKT CONTROL ACK or PKT RESOURCE REQ). */ if (d->dl_block->SP) { uint32_t poll_fn = rrbp2fn(d->fn, d->dl_block->RRBP); + uint32_t next_blk = fn_next_block(fn_next_block(poll_fn)); gprs_rlcmac_pdch_ulc_reserve(g_rlcmac_ctx->sched.ulc[d->ts_nr], poll_fn, GPRS_RLCMAC_PDCH_ULC_POLL_UL_ASS, ul_tbf_as_tbf(ctx->ul_tbf)); + /* We need to wait at least until sending the PKT CTRL + * ACK (in the old CTRL TS) before completing the + * assignment and using the new TS assignment. */ + if (!ctx->tbf_starting_time_exists && fn_cmp(ctx->tbf_starting_time, next_blk) < 0) { + ctx->tbf_starting_time_exists = true; + ctx->tbf_starting_time = next_blk; + } } if (ctx->tbf_starting_time_exists && @@ -409,10 +418,21 @@ } } +static void st_wait_tbf_starting_time2_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct gprs_rlcmac_tbf_ul_ass_fsm_ctx *ctx = (struct gprs_rlcmac_tbf_ul_ass_fsm_ctx *)fi->priv; + + /* Configure lower layers to submit an RTS tick starting at tbf_starting_time + * and scheduler will send event GPRS_RLCMAC_TBF_UL_ASS_EV_TBF_STARTING_TIME to us. */ + gprs_rlcmac_ul_tbf_submit_configure_req(ctx->ul_tbf, &ctx->phase2_alloc, + ctx->tbf_starting_time_exists, ctx->tbf_starting_time); +} + static void st_wait_tbf_starting_time2(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct gprs_rlcmac_tbf_ul_ass_fsm_ctx *ctx = (struct gprs_rlcmac_tbf_ul_ass_fsm_ctx *)fi->priv; struct tbf_ul_ass_ev_rx_pkt_ul_ass_ctx *d; + struct tbf_ul_ass_ev_create_rlcmac_msg_ctx *data_ctx; int rc; switch (event) { @@ -425,9 +445,26 @@ /* If RRBP contains valid data, schedule a response (PKT CONTROL ACK or PKT RESOURCE REQ). */ if (d->dl_block->SP) { uint32_t poll_fn = rrbp2fn(d->fn, d->dl_block->RRBP); + uint32_t next_blk = fn_next_block(poll_fn); + /* FIXME: double fn_next_block() here is to delay + * release of old TS late enough so that the PKT CTRL ACK + * is transmitted. This is wrong since we basically lose + * the first TS in the new TBF, but otherwise lower layers + * may free the lchan while last burst of the last block is + * still not transmitted... IMHO lower layers need to be + * fixed to delay closing the lchan until all the + * blocks/bursts enqueued are transmitted... */ + next_blk = fn_next_block(next_blk); gprs_rlcmac_pdch_ulc_reserve(g_rlcmac_ctx->sched.ulc[d->ts_nr], poll_fn, GPRS_RLCMAC_PDCH_ULC_POLL_UL_ASS, ul_tbf_as_tbf(ctx->ul_tbf)); + /* We need to wait at least until sending the PKT CTRL + * ACK (in the old CTRL TS) before completing the + * assignment and using the new TS assignment. */ + if (!ctx->tbf_starting_time_exists && fn_cmp(ctx->tbf_starting_time, next_blk) < 0) { + ctx->tbf_starting_time_exists = true; + ctx->tbf_starting_time = next_blk; + } } if (ctx->tbf_starting_time_exists && @@ -440,6 +477,13 @@ case GPRS_RLCMAC_TBF_UL_ASS_EV_TBF_STARTING_TIME: tbf_ul_ass_fsm_state_chg(fi, GPRS_RLCMAC_TBF_UL_ASS_ST_COMPL); break; + case GPRS_RLCMAC_TBF_UL_ASS_EV_CREATE_RLCMAC_MSG: + data_ctx = (struct tbf_ul_ass_ev_create_rlcmac_msg_ctx *)data; + LOGPFSML(fi, LOGL_INFO, "TS=%u FN=%u Tx Pkt Ctrl Ack\n", data_ctx->ts, data_ctx->fn); + data_ctx->msg = gprs_rlcmac_gre_create_pkt_ctrl_ack(ul_tbf_as_tbf(ctx->ul_tbf)->gre); + if (!data_ctx->msg) + return; + break; default: OSMO_ASSERT(0); } @@ -517,12 +561,14 @@ [GPRS_RLCMAC_TBF_UL_ASS_ST_WAIT_TBF_STARTING_TIME2] = { .in_event_mask = X(GPRS_RLCMAC_TBF_UL_ASS_EV_RX_PKT_UL_ASS) | - X(GPRS_RLCMAC_TBF_UL_ASS_EV_TBF_STARTING_TIME), + X(GPRS_RLCMAC_TBF_UL_ASS_EV_TBF_STARTING_TIME) | + X(GPRS_RLCMAC_TBF_UL_ASS_EV_CREATE_RLCMAC_MSG), .out_state_mask = X(GPRS_RLCMAC_TBF_UL_ASS_ST_SCHED_PKT_RES_REQ) | X(GPRS_RLCMAC_TBF_UL_ASS_ST_WAIT_TBF_STARTING_TIME2) | X(GPRS_RLCMAC_TBF_UL_ASS_ST_COMPL), .name = "WAIT_TBF_STARTING_TIME2", + .onenter = st_wait_tbf_starting_time2_on_enter, .action = st_wait_tbf_starting_time2, }, [GPRS_RLCMAC_TBF_UL_ASS_ST_COMPL] = { @@ -638,6 +684,10 @@ { int rc; ul_tbf->ul_ass_fsm.dl_tbf = dl_tbf; + /* FIXME: Ideally this should only be the TS where the PKT UL ASS was received... */ + ul_tbf->ul_ass_fsm.phase1_alloc.num_ts = dl_tbf->cur_alloc.num_ts; + memcpy(&ul_tbf->ul_ass_fsm.phase1_alloc.ts[0], &dl_tbf->cur_alloc.ts[0], + sizeof(ul_tbf->ul_ass_fsm.phase1_alloc.ts)); rc = osmo_fsm_inst_dispatch(ul_tbf->ul_ass_fsm.fi, GPRS_RLCMAC_TBF_UL_ASS_EV_START_FROM_DL_TBF, NULL); @@ -666,11 +716,21 @@ { int res; - OSMO_ASSERT(gprs_rlcmac_tbf_ul_ass_waiting_tbf_starting_time(ul_tbf)); OSMO_ASSERT(ul_tbf->ul_ass_fsm.tbf_starting_time_exists); - OSMO_ASSERT(ul_tbf->ul_ass_fsm.phase1_alloc.num_ts > 0); - if (!ul_tbf->ul_ass_fsm.phase1_alloc.ts[ts_nr].allocated) - return; + switch (ul_tbf->ul_ass_fsm.fi->state) { + case GPRS_RLCMAC_TBF_UL_ASS_ST_WAIT_TBF_STARTING_TIME1: + OSMO_ASSERT(ul_tbf->ul_ass_fsm.phase1_alloc.num_ts > 0); + if (!ul_tbf->ul_ass_fsm.phase1_alloc.ts[ts_nr].allocated) + return; + break; + case GPRS_RLCMAC_TBF_UL_ASS_ST_WAIT_TBF_STARTING_TIME2: + OSMO_ASSERT(ul_tbf->ul_ass_fsm.phase2_alloc.num_ts > 0); + if (!ul_tbf->ul_ass_fsm.phase2_alloc.ts[ts_nr].allocated) + return; + break; + default: + OSMO_ASSERT(0); + } res = fn_cmp(fn, ul_tbf->ul_ass_fsm.tbf_starting_time); if (res < 0) {/* fn BEFORE tbf_starting_time */ LOGPTBFUL(ul_tbf, LOGL_DEBUG, "TS=%" PRIu8 " FN=%u Waiting for tbf_starting_time=%u\n", @@ -681,6 +741,7 @@ LOGPTBFUL(ul_tbf, LOGL_ERROR, "TS=%" PRIu8 " FN=%u Received late tick for tbf_starting_time=%u!\n", ts_nr, fn, ul_tbf->ul_ass_fsm.tbf_starting_time); /* fn == tbf_starting time */ + LOGPTBFUL(ul_tbf, LOGL_INFO, "TS=%" PRIu8 " FN=%u TBF_STARTING_TIME reached\n", fn, ts_nr); osmo_fsm_inst_dispatch(ul_tbf->ul_ass_fsm.fi, GPRS_RLCMAC_TBF_UL_ASS_EV_TBF_STARTING_TIME, NULL); } diff --git a/tests/rlcmac/rlcmac_prim_test.c b/tests/rlcmac/rlcmac_prim_test.c index 6e317b1..35def30 100644 --- a/tests/rlcmac/rlcmac_prim_test.c +++ b/tests/rlcmac/rlcmac_prim_test.c @@ -1136,6 +1136,9 @@ rts_fn = fn_next_block(rts_fn); ts_nr = 6; + /* FIXME: see extra fn_next_block() in libosmo-gprs-rlcmac st_wait_tbf_starting_time2() */ + rts_fn = fn_next_block(rts_fn); + /* Trigger transmission of LLC data (GMM Attach) (first part) */ rlcmac_prim = osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_rts_ind(ts_nr, rts_fn, usf_li[ts_nr]); rc = osmo_gprs_rlcmac_prim_lower_up(rlcmac_prim); diff --git a/tests/rlcmac/rlcmac_prim_test.err b/tests/rlcmac/rlcmac_prim_test.err index 0921266..95dc475 100644 --- a/tests/rlcmac/rlcmac_prim_test.err +++ b/tests/rlcmac/rlcmac_prim_test.err @@ -963,17 +963,25 @@ DLGLOBAL INFO TS=7 FN=26 Rx Pkt UL ASS DLGLOBAL INFO UL_TBF_ASS{WAIT_PKT_UL_ASS}: Received Event RX_PKT_UL_ASS DLGLOBAL DEBUG Register POLL (TS=7 FN=43, reason=UL_ASS) -DLGLOBAL INFO UL_TBF_ASS{WAIT_PKT_UL_ASS}: state_chg to COMPLETED +DLGLOBAL INFO UL_TBF_ASS{WAIT_PKT_UL_ASS}: state_chg to WAIT_TBF_STARTING_TIME2 +DLGLOBAL INFO TBF(UL:NR-0:TLLI-00000001) Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 ul_slotmask=0xc0 tbf_starting_time(present=1 fn=52) +DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request +DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication +DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00000001) TS=7 FN=43 Waiting for tbf_starting_time=52 +DLGLOBAL DEBUG (ts=7,fn=43,usf=2) Tx Pkt Control Ack (UL ASS poll) +DLGLOBAL INFO UL_TBF_ASS{WAIT_TBF_STARTING_TIME2}: Received Event CREATE_RLCMAC_MSG +DLGLOBAL INFO UL_TBF_ASS{WAIT_TBF_STARTING_TIME2}: TS=7 FN=43 Tx Pkt Ctrl Ack +DLGLOBAL DEBUG GRE(00000001) Tx Packet Control Ack +DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request +DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication +DLGLOBAL INFO TBF(UL:NR-0:TLLI-00000001) TS=52 FN=6 TBF_STARTING_TIME reached +DLGLOBAL INFO UL_TBF_ASS{WAIT_TBF_STARTING_TIME2}: Received Event TBF_STARTING_TIME +DLGLOBAL INFO UL_TBF_ASS{WAIT_TBF_STARTING_TIME2}: state_chg to COMPLETED DLGLOBAL INFO UL_TBF{ASSIGN}: Received Event UL_ASS_COMPL DLGLOBAL INFO TBF(UL:NR-0:TLLI-00000001) Send L1CTL-CFG_UL_TBF.req ul_tbf_nr=0 ul_slotmask=0xc0 tbf_starting_time(present=0 fn=0) DLGLOBAL DEBUG Tx to lower layers: L1CTL-CFG_UL_TBF.request DLGLOBAL INFO UL_TBF{ASSIGN}: state_chg to FLOW DLGLOBAL INFO UL_TBF_ASS{COMPLETED}: state_chg to IDLE -DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication -DLGLOBAL DEBUG (ts=7,fn=43,usf=2) Tx Pkt Control Ack (UL ASS poll) -DLGLOBAL DEBUG GRE(00000001) Tx Packet Control Ack -DLGLOBAL DEBUG Tx to lower layers: L1CTL-PDCH_DATA.request -DLGLOBAL DEBUG Rx from lower layers: L1CTL-PDCH_RTS.indication DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00000001) Sending new block at BSN 0, CS=CS-2 DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00000001) Entering Countdown procedure CV=0 DLGLOBAL DEBUG TBF(UL:NR-0:TLLI-00000001) Dequeue next LLC (len=14) diff --git a/tests/rlcmac/rlcmac_prim_test.ok b/tests/rlcmac/rlcmac_prim_test.ok index d601794..0c66e24 100644 --- a/tests/rlcmac/rlcmac_prim_test.ok +++ b/tests/rlcmac/rlcmac_prim_test.ok @@ -204,8 +204,9 @@ test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=21 ts=7 data_len=23 data=[40 08 10 20 00 00 00 00 00 00 00 30 00 00 00 00 00 03 2b 2b 2b 2b 2b ] test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0xc0 test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=43 ts=7 data_len=23 data=[40 04 00 00 00 04 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ] +test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0xc0 test_rlcmac_prim_up_cb(): Rx GMMRR-LLC_TRANSMITTED.indication TLLI=0x00000001 -test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=47 ts=6 data_len=34 data=[00 06 00 39 01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 ] +test_rlcmac_prim_down_cb(): Rx L1CTL-PDCH_DATA.request fn=52 ts=6 data_len=34 data=[00 06 00 39 01 c0 00 08 01 01 d5 71 00 00 08 29 26 24 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 ] === test_dl_tbf_ccch_assign_requests_ul_tbf_pacch end === test_rlcmac_prim_down_cb(): Rx L1CTL-CFG_UL_TBF.request ul_tbf_nr=0 ul_slotmask=0x00 === test_ccch_pag_req1 start === -- To view, visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/34308?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: I94bd0de6917b004cba73d2fffc7cf69b3b5c305d Gerrit-Change-Number: 34308 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 year, 9 months
1
0
0
0
[S] Change in libosmo-netif[master]: stream_test: Avoid leaking osmo_stream_srv_link
by pespin
Attention is currently required from: arehbein, daniel, fixeria, osmith. pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/libosmo-netif/+/34289?usp=email
) Change subject: stream_test: Avoid leaking osmo_stream_srv_link ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/libosmo-netif/+/34289?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I43b7327893c220447492d2c36c87b187a414cbdb Gerrit-Change-Number: 34289 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: arehbein <arehbein(a)sysmocom.de> Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de> 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: arehbein <arehbein(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: daniel <dwillmann(a)sysmocom.de> Gerrit-Comment-Date: Mon, 04 Sep 2023 14:54:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 9 months
1
0
0
0
← Newer
1
...
175
176
177
178
179
180
181
...
195
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
Results per page:
10
25
50
100
200