[M] Change in osmocom-bb[master]: layer23/modem: handle and forward L1CTL UL BLOCK.cnf
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35780?usp=email ) Change subject: layer23/modem: handle and forward L1CTL UL BLOCK.cnf .. layer23/modem: handle and forward L1CTL UL BLOCK.cnf Change-Id: I9255ac17529b5ac260f9a0f141f3af6b3b72a802 Depends: libosmo-gprs.git I145b9586f83ae0235b4648916bd44996e8dc57f0 --- 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 5 files changed, 68 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/80/35780/1 diff --git a/src/host/layer23/include/osmocom/bb/common/ms.h b/src/host/layer23/include/osmocom/bb/common/ms.h index 0b3e13c..36d3e3b 100644 --- a/src/host/layer23/include/osmocom/bb/common/ms.h +++ b/src/host/layer23/include/osmocom/bb/common/ms.h @@ -42,6 +42,7 @@ struct osmol1_entity { int (*l1_traffic_ind)(struct osmocom_ms *ms, struct msgb *msg); + int (*l1_gprs_ul_block_cnf)(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); }; diff --git a/src/host/layer23/include/osmocom/bb/modem/grr.h b/src/host/layer23/include/osmocom/bb/modem/grr.h index 99800ad..a86a089 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_UL_TBF_CFG_REQ, GRR_EV_PDCH_DL_TBF_CFG_REQ, GRR_EV_PDCH_BLOCK_REQ, + GRR_EV_PDCH_BLOCK_CNF, GRR_EV_PDCH_BLOCK_IND, GRR_EV_PDCH_RTS_IND, }; diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index a0f25b8..db2903c 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -949,6 +949,34 @@ return 0; } +/* Receive L1CTL_GPRS_UL_BLOCK_CNF */ +static int rx_l1_gprs_ul_block_cnf(struct osmocom_ms *ms, struct msgb *msg) +{ + const struct l1ctl_gprs_ul_block_cnf *cnf = (void *)msg->l1h; + + if (msgb_l1len(msg) < sizeof(*cnf)) { + LOGP(DL1C, LOGL_ERROR, +"Rx malformed GPRS UL BLOCK.cnf (len=%u < %zu)\n", +msgb_l1len(msg), sizeof(*cnf)); + return -EINVAL; + } + if (OSMO_UNLIKELY(cnf->tn >= 8)) { + LOGP(DL1C, LOGL_ERROR, +"Rx malformed GPRS UL BLOCK.cnf (tn=%u)\n", cnf->tn); + return -EINVAL; + } + + DEBUGP(DL1C, "Rx GPRS UL BLOCK.cnf (fn=%u, tn=%u)\n", + ntohl(cnf->fn), cnf->tn); + + /* distribute or drop */ + if (ms->l1_entity.l1_gprs_ul_block_cnf) + return ms->l1_entity.l1_gprs_ul_block_cnf(ms, msg); + + msgb_free(msg); + return 0; +} + /* Receive L1CTL_GPRS_DL_BLOCK_IND */ static int rx_l1_gprs_dl_block_ind(struct osmocom_ms *ms, struct msgb *msg) { @@ -1171,6 +1199,9 @@ case L1CTL_TRAFFIC_CONF: msgb_free(msg); break; + case L1CTL_GPRS_UL_BLOCK_CNF: + rc = rx_l1_gprs_ul_block_cnf(ms, msg); + break; case L1CTL_GPRS_DL_BLOCK_IND: rc = rx_l1_gprs_dl_block_ind(ms, msg); break; diff --git a/src/host/layer23/src/modem/grr.c b/src/host/layer23/src/modem/grr.c index cbabdc9..0953a2b 100644 --- a/src/host/layer23/src/modem/grr.c +++ b/src/host/layer23/src/modem/grr.c @@ -521,6 +521,16 @@ osmo_fsm_inst_state_chg(fi, GRR_ST_PACKET_TRANSFER, 0, 0); } +static void handle_pdch_block_cnf(struct osmocom_ms *ms, struct msgb *msg) +{ + const struct l1ctl_gprs_ul_block_cnf *cnf = (void *)msg->l1h; + const uint32_t fn = osmo_load32be(&cnf->fn); + struct osmo_gprs_rlcmac_prim *prim; + + prim = osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_data_cnf(cnf->tn, fn, NULL, 0); /* XXX */ + osmo_gprs_rlcmac_prim_lower_up(prim); +} + static void handle_pdch_block_ind(struct osmocom_ms *ms, struct msgb *msg) { const struct l1ctl_gprs_dl_block_ind *ind = (void *)msg->l1h; @@ -753,6 +763,9 @@ lp->pdch_data_req.data_len); break; } + case GRR_EV_PDCH_BLOCK_CNF: + handle_pdch_block_cnf(ms, (struct msgb *)data); + break; case GRR_EV_PDCH_BLOCK_IND: handle_pdch_block_ind(ms, (struct msgb *)data); break; @@ -819,6 +832,7 @@ .in_event_mask = S(GRR_EV_PDCH_UL_TBF_CFG_REQ) | S(GRR_EV_PDCH_DL_TBF_CFG_REQ) | S(GRR_EV_PDCH_BLOCK_REQ) + | S(GRR_EV_PDCH_BLOCK_CNF) | S(GRR_EV_PDCH
[S] Change in osmocom-bb[master]: trxcon/l1sched: trigger sending UL BLOCK.cnf for PDTCH
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35778?usp=email ) Change subject: trxcon/l1sched: trigger sending UL BLOCK.cnf for PDTCH .. trxcon/l1sched: trigger sending UL BLOCK.cnf for PDTCH In tx_pdtch_fn(), delay sending DATA.cnf until bid=3. Otherwise we send it too early (at bid=0) and trick the upper layers (RLC/MAC) to believe that the whole block (all bursts) has been transmitted. Change-Id: If32fafeef0ea347ed3800e6b67349bf12e66047f --- M src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h M src/host/trxcon/src/sched_lchan_pdtch.c M src/host/trxcon/src/trxcon_fsm.c 3 files changed, 34 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/78/35778/1 diff --git a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h index 3f5e8b0..6c5a31e 100644 --- a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h +++ b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h @@ -223,6 +223,8 @@ /*! Queue of Tx primitives */ struct llist_head tx_prims; + /*! Tx primitive being sent */ + struct msgb *prim; /*! Mode for TCH channels (see GSM48_CMODE_*) */ uint8_t tch_mode; diff --git a/src/host/trxcon/src/sched_lchan_pdtch.c b/src/host/trxcon/src/sched_lchan_pdtch.c index 4c49504..e5bf18b 100644 --- a/src/host/trxcon/src/sched_lchan_pdtch.c +++ b/src/host/trxcon/src/sched_lchan_pdtch.c @@ -160,8 +160,8 @@ return -EINVAL; } - /* Confirm data / traffic sending (pass ownership of the msgb/prim) */ - l1sched_lchan_emit_data_cnf(lchan, msg, br->fn); + /* Cache the prim, so that we can confirm it later (see below) */ + lchan->prim = msg; send_burst: /* Determine which burst should be sent */ @@ -183,5 +183,12 @@ LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled at fn=%u burst=%u\n", br->fn, br->bid); + /* Confirm data / traffic sending (pass ownership of the msgb/prim) */ + if (br->bid == 3 && lchan->prim != NULL) { + l1sched_lchan_emit_data_cnf(lchan, lchan->prim, + GSM_TDMA_FN_SUB(br->fn, 3)); + lchan->prim = NULL; + } + return 0; } diff --git a/src/host/trxcon/src/trxcon_fsm.c b/src/host/trxcon/src/trxcon_fsm.c index f6c9a05..6523a85 100644 --- a/src/host/trxcon/src/trxcon_fsm.c +++ b/src/host/trxcon/src/trxcon_fsm.c @@ -610,6 +610,16 @@ l1sched_prim_from_user(trxcon->sched, msg); break; } + case TRXCON_EV_TX_DATA_CNF: + { + const struct trxcon_param_tx_data_cnf *cnf = data; + struct msgb *msg; + + msg = l1gprs_handle_ul_block_cnf(trxcon->gprs, cnf->frame_nr, cnf->chan_nr & 0x07); + if (msg != NULL) + trxcon_l1ctl_send(trxcon, msg); + break; + } case TRXCON_EV_RX_DATA_IND: { const struct trxcon_param_rx_data_ind *ind = data; @@ -655,8 +665,6 @@ l1sched_reset(trxcon->sched, false); /* TODO: switch to (not implemented) TRXCON_ST_DCH_TUNING? */ break; - case TRXCON_EV_TX_DATA_CNF: - break; default: OSMO_ASSERT(0); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35778?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: If32fafeef0ea347ed3800e6b67349bf12e66047f Gerrit-Change-Number: 35778 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[M] Change in osmocom-bb[master]: l1gprs: implement UL BLOCK.cnf (L1CTL_GPRS_UL_BLOCK_CNF)
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35777?usp=email ) Change subject: l1gprs: implement UL BLOCK.cnf (L1CTL_GPRS_UL_BLOCK_CNF) .. l1gprs: implement UL BLOCK.cnf (L1CTL_GPRS_UL_BLOCK_CNF) Change-Id: I56e0b5631c7446390adbfc5664e56f56ebb88cc1 --- M include/l1ctl_proto.h M include/l1gprs.h M src/shared/l1gprs.c 3 files changed, 55 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/77/35777/1 diff --git a/include/l1ctl_proto.h b/include/l1ctl_proto.h index 941a947..ab98b09 100644 --- a/include/l1ctl_proto.h +++ b/include/l1ctl_proto.h @@ -60,6 +60,7 @@ /* Extended (11-bit) RACH (see 3GPP TS 05.02, section 5.2.7) */ L1CTL_EXT_RACH_REQ = 0x24, L1CTL_GPRS_RTS_IND = 0x25, + L1CTL_GPRS_UL_BLOCK_CNF = 0x26, }; enum ccch_mode { @@ -401,4 +402,10 @@ uint8_t usf; } __attribute__((packed)); +/* payload of L1CTL_GPRS_UL_BLOCK_CNF */ +struct l1ctl_gprs_ul_block_cnf { + uint32_t fn; + uint8_t tn; +} __attribute__((packed)); + #endif /* __L1CTL_PROTO_H__ */ diff --git a/include/l1gprs.h b/include/l1gprs.h index 57380d3..1c77525 100644 --- a/include/l1gprs.h +++ b/include/l1gprs.h @@ -111,6 +111,8 @@ int l1gprs_handle_ul_block_req(struct l1gprs_state *gprs, struct l1gprs_prim_ul_block_req *req, const struct msgb *msg); +struct msgb *l1gprs_handle_ul_block_cnf(struct l1gprs_state *gprs, + uint32_t fn, uint8_t tn); struct msgb *l1gprs_handle_dl_block_ind(struct l1gprs_state *gprs, 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/shared/l1gprs.c b/src/shared/l1gprs.c index 1da2276..d93a149 100644 --- a/src/shared/l1gprs.c +++ b/src/shared/l1gprs.c @@ -1,7 +1,7 @@ /* * l1gprs - GPRS layer 1 implementation * - * (C) 2022-2023 by sysmocom - s.f.m.c. GmbH + * (C) 2022-2024 by sysmocom - s.f.m.c. GmbH * Author: Vadim Yanitskiy * * All Rights Reserved @@ -656,6 +656,42 @@ return 0; } +struct msgb *l1gprs_handle_ul_block_cnf(struct l1gprs_state *gprs, + uint32_t fn, uint8_t tn) +{ + const struct l1gprs_pdch *pdch = NULL; + struct l1ctl_gprs_ul_block_cnf *l1bc; + struct msgb *msg; + + OSMO_ASSERT(tn < ARRAY_SIZE(gprs->pdch)); + pdch = &gprs->pdch[tn]; + + LOGP_PDCH(pdch, LOGL_DEBUG, "Rx UL BLOCK.cnf (fn=%u)\n", fn); + + if (pdch->ul_tbf_count + pdch->dl_tbf_count == 0) { + LOGP_PDCH(pdch, LOGL_ERROR, + "Rx UL BLOCK.cnf (fn=%u), but this PDCH has no active TBFs\n", + fn); + return NULL; + } + + msg = l1gprs_l1ctl_msgb_alloc(L1CTL_GPRS_UL_BLOCK_CNF); + if (OSMO_UNLIKELY(msg == NULL)) { + LOGP_GPRS(gprs, LOGL_ERROR, "l1gprs_l1ctl_msgb_alloc() failed\n"); + return NULL; + } + + l1bc = (void *)msgb_put(msg, sizeof(*l1bc)); + *l1bc = (struct l1ctl_gprs_ul_block_cnf) { + .fn = htonl(fn), + .tn = tn, + }; + + /* TODO: include the block data? */ + + return msg; +} + /* Check if a Downlink block is a PTCCH/D (see 3GPP TS 45.002, table 6) */ #define BLOCK_IND_IS_PTCCH(ind) \ (((ind)->hdr.fn % 104) == 12) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35777?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: I56e0b5631c7446390adbfc5664e56f56ebb88cc1 Gerrit-Change-Number: 35777 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[S] Change in osmocom-bb[master]: l1gprs: minor changes to l1gprs_handle_rts_ind()
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35776?usp=email ) Change subject: l1gprs: minor changes to l1gprs_handle_rts_ind() .. l1gprs: minor changes to l1gprs_handle_rts_ind() * assert() the given TDMA Tn before accessing gprs->pdch[] * do not check TDMA Fn, as there can be no RTS.ind for PTCCH/U ** unlike PTCCH/D, we send Access Bursts on PTCCH/U Change-Id: Ie74d1c4123715d61875c4c956eb4a1ce97ed5f24 --- M src/shared/l1gprs.c 1 file changed, 15 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/76/35776/1 diff --git a/src/shared/l1gprs.c b/src/shared/l1gprs.c index 3294a42..1da2276 100644 --- a/src/shared/l1gprs.c +++ b/src/shared/l1gprs.c @@ -754,11 +754,11 @@ struct l1ctl_gprs_rts_ind *l1bi; struct msgb *msg; + OSMO_ASSERT(tn < ARRAY_SIZE(gprs->pdch)); pdch = &gprs->pdch[tn]; LOGP_PDCH(pdch, LOGL_DEBUG, - "Rx RTS.ind (%s, fn=%u, usf=%u)\n", - ((fn % 104) == 12) ? "PTCCH" : "PDTCH", + "Rx RTS.ind (PDTCH, fn=%u, usf=%u)\n", fn, usf); l1gprs_check_pending_tbfs(gprs, fn); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35776?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: Ie74d1c4123715d61875c4c956eb4a1ce97ed5f24 Gerrit-Change-Number: 35776 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[S] Change in osmocom-bb[master]: layer23: cosmetic: clarify GPRS related L1CTL logging
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35779?usp=email ) Change subject: layer23: cosmetic: clarify GPRS related L1CTL logging .. layer23: cosmetic: clarify GPRS related L1CTL logging Change-Id: Idcde85c132a52b7bc6c3f2f58c2eac0a509b7b43 --- M src/host/layer23/src/common/l1ctl.c 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/79/35779/1 diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index 349f048..a0f25b8 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -983,7 +983,7 @@ rxlev2dbm(ind->meas.rx_lev), 0, msgb_l2(msg), msgb_l2len(msg)); - DEBUGP(DL1C, "Rx GPRS DL block (fn=%u, tn=%u, len=%u): %s\n", + DEBUGP(DL1C, "Rx GPRS DL BLOCK.ind (fn=%u, tn=%u, len=%u): %s\n", fn, ind->hdr.tn, msgb_l2len(msg), msgb_hexdump_l2(msg)); /* distribute or drop */ @@ -1012,7 +1012,7 @@ return -EINVAL; } - DEBUGP(DL1C, "Rx RTS.ind (fn=%u, tn=%u, usf=%u)\n", + DEBUGP(DL1C, "Rx GPRS RTS.ind (fn=%u, tn=%u, usf=%u)\n", ntohl(ind->fn), ind->tn, ind->usf); /* distribute or drop */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35779?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: Idcde85c132a52b7bc6c3f2f58c2eac0a509b7b43 Gerrit-Change-Number: 35779 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[S] Change in libosmo-gprs[master]: rlcmac: add definition for OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35774?usp=email ) Change subject: rlcmac: add definition for OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf .. Patch Set 1: (1 comment) Patchset: PS1: we still need a bool in PDCH_DATA.req to enable receiving a confirmation. -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35774?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: I145b9586f83ae0235b4648916bd44996e8dc57f0 Gerrit-Change-Number: 35774 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 22:47:20 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
[S] Change in libosmo-gprs[master]: rlcmac: add definition for OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35774?usp=email ) Change subject: rlcmac: add definition for OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35774?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: I145b9586f83ae0235b4648916bd44996e8dc57f0 Gerrit-Change-Number: 35774 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 22:46:20 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[M] Change in libosmo-gprs[master]: WIP: Delay deleting UL TBF until last Pkt Ctrl Ack is fully transmitted
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35775?usp=email ) Change subject: WIP: Delay deleting UL TBF until last Pkt Ctrl Ack is fully transmitted .. WIP: Delay deleting UL TBF until last Pkt Ctrl Ack is fully transmitted This in turn delays reconfiguring the lower layers (L1CTL-CFG_UL_TBF.req mask=0x0) until the last block has been transmited. Change-Id: Ic38b4207623ccbda3b77d4b0a47431c25de95034 --- M src/rlcmac/rlcmac_prim.c M src/rlcmac/sched.c M src/rlcmac/tbf_ul_fsm.c 3 files changed, 54 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/75/35775/1 diff --git a/src/rlcmac/rlcmac_prim.c b/src/rlcmac/rlcmac_prim.c index b8518c0..404d536 100644 --- a/src/rlcmac/rlcmac_prim.c +++ b/src/rlcmac/rlcmac_prim.c @@ -646,6 +646,31 @@ return rc; } +static int rlcmac_prim_handle_l1ctl_pdch_data_cnf(struct osmo_gprs_rlcmac_prim *rlcmac_prim) +{ + enum osmo_gprs_rlcmac_ul_msg_type msg_type; + struct gprs_rlcmac_entity *gre; + int rc; + + msg_type = get_rlcmac_block_ctrl_type(rlcmac_prim->l1ctl.pdch_data_cnf.data); + if (msg_type != OSMO_GPRS_RLCMAC_UL_MSGT_PACKET_CONTROL_ACK) + return 0; + + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { + if (!gre->ul_tbf) + continue; + if (!gprs_rlcmac_ul_tbf_waiting_pkt_ctrl_ack_confirmation(gre->ul_tbf, + rlcmac_prim->l1ctl.pdch_data_cnf.fn, + rlcmac_prim->l1ctl.pdch_data_cnf.ts_nr)) + continue; + + osmo_fsm_inst_dispatch(gre->ul_tbf->state_fsm.fi, GPRS_RLCMAC_TBF_UL_EV_TX_COMPL_PKT_CTRL_ACK, NULL); + /* gre->ul_tbf is NULL here. */ + break; + } + return 0; +} + static int rlcmac_prim_handle_l1ctl_ccch_ready_ind(struct osmo_gprs_rlcmac_prim *rlcmac_prim) { struct gprs_rlcmac_entity *gre; @@ -670,6 +695,9 @@ case OSMO_PRIM(OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA, PRIM_OP_INDICATION): rc = rlcmac_prim_handle_l1ctl_pdch_data_ind(rlcmac_prim); break; + case OSMO_PRIM(OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA, PRIM_OP_CONFIRM): + rc = rlcmac_prim_handle_l1ctl_pdch_data_cnf(rlcmac_prim); + break; case OSMO_PRIM(OSMO_GPRS_RLCMAC_L1CTL_CCCH_DATA, PRIM_OP_INDICATION): rc = rlcmac_prim_handle_l1ctl_ccch_data_ind(rlcmac_prim); break; diff --git a/src/rlcmac/sched.c b/src/rlcmac/sched.c index 1620934..877c41d 100644 --- a/src/rlcmac/sched.c +++ b/src/rlcmac/sched.c @@ -159,10 +159,11 @@ * \param[in] bi RTS block indication information. * \param[in] tbfs TBF candidates having CTRL messages to send, filled in by get_ctrl_msg_tbf_candidates() * \param[out] tbf_to_free TBF to free after sending the generated message + * TODO: need_block_conf */ static struct msgb *sched_select_ctrl_msg(const struct gprs_rlcmac_rts_block_ind *bi, const struct tbf_sched_ctrl_candidates *tbfs, - struct gprs_rlcmac_tbf **tbf_to_free) + struct gprs_rlcmac_tbf **tbf_to_free, bool *need_block_conf) { struct msgb *msg = NULL; struct gprs_rlcmac_entity *gre; @@ -171,6 +172,9 @@ /* No TBF to be freed by default: */ *tbf_to_free = NULL; + /* No TBF needs block conf by default: */ + *need_block_conf = false; + /* 8.1.2.2 1) (EGPRS) PACKET DOWNLINK ACK/NACK w/ FinalAckInd=1 */ if (tbfs->poll_dl_ack_final_ack) { LOGRLCMAC(LOGL_DEBUG, "(ts=%u,fn=%u,usf=%u) Tx DL ACK/NACK FinalAck=1\n", @@ -207,9 +211,10 @@ if (tbfs->poll_ul_ack) { LOGRLCMAC(LOGL_DEBUG, "(ts=%u,fn=%u,usf=%u) Tx Pkt Control Ack (UL ACK/NACK poll)\n", bi->ts, bi->fn, bi->usf); + /* This needs to be changed to call a UL TBF API which will store at which FN+TN the PKT CTRL ACK was sent. */ msg = gprs_rlcmac_gre_create_pkt_ctrl_ack(ul_tbf_as_tbf(tbfs->poll_ul_ack)->gre); /* Last UL message, freeing (after passing msg to lower layers) */ - *tbf_to_free = ul_tbf_as_tbf(tbfs->poll_ul_ack); + //*tbf_to_free = ul_tbf_as_tbf(tbfs->poll_ul_ack); return msg; } if (tbfs->poll_dl_ass) { @@ -289,6 +294,7 @@ struct msgb *msg = NULL; struct tbf_sched_ctrl_candidates tbf_cand = {0}; struct gprs_rlcmac_tbf *tbf_to_free; + bool need_block_conf; struct osmo_gprs_rlcmac_prim *rlcmac_prim_tx; int rc = 0; @@ -296,7 +302,7 @@ get_ctrl_msg_
[S] Change in libosmo-gprs[master]: rlcmac: add definition for OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35774?usp=email ) Change subject: rlcmac: add definition for OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf .. rlcmac: add definition for OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf Change-Id: I145b9586f83ae0235b4648916bd44996e8dc57f0 --- M include/osmocom/gprs/rlcmac/rlcmac_prim.h M src/rlcmac/rlcmac_prim.c 2 files changed, 31 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/74/35774/1 diff --git a/include/osmocom/gprs/rlcmac/rlcmac_prim.h b/include/osmocom/gprs/rlcmac/rlcmac_prim.h index d6f733e..8791d97 100644 --- a/include/osmocom/gprs/rlcmac/rlcmac_prim.h +++ b/include/osmocom/gprs/rlcmac/rlcmac_prim.h @@ -149,6 +149,13 @@ uint8_t data_len; uint8_t *data; } pdch_data_req; + /* OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Cnf */ + struct { + uint32_t fn; + uint8_t ts_nr; + uint8_t data_len; + uint8_t *data; + } pdch_data_cnf; /* OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA | Ind */ struct { uint32_t fn; @@ -234,6 +241,8 @@ struct osmo_gprs_rlcmac_prim *osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_data_ind(uint8_t ts_nr, uint32_t fn, uint8_t rx_lev, uint16_t ber10k, int16_t ci_cb, uint8_t *data, uint8_t data_len); +struct osmo_gprs_rlcmac_prim *osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_data_cnf(uint8_t ts_nr, uint32_t fn, + uint8_t *data, uint8_t data_len); struct osmo_gprs_rlcmac_prim *osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_rts_ind(uint8_t ts_nr, uint32_t fn, uint8_t usf); struct osmo_gprs_rlcmac_prim *gprs_rlcmac_prim_alloc_l1ctl_pdch_est_req(uint8_t ts_nr, uint8_t tsc, uint8_t ta); struct osmo_gprs_rlcmac_prim *gprs_rlcmac_prim_alloc_l1ctl_pdch_rel_req(void); diff --git a/src/rlcmac/rlcmac_prim.c b/src/rlcmac/rlcmac_prim.c index f5c171a..b8518c0 100644 --- a/src/rlcmac/rlcmac_prim.c +++ b/src/rlcmac/rlcmac_prim.c @@ -280,6 +280,19 @@ return rlcmac_prim; } +/* L1CTL-PDCH_DATA.cnf */ +struct osmo_gprs_rlcmac_prim *gprs_rlcmac_prim_alloc_l1ctl_pdch_data_cnf(uint8_t ts_nr, uint32_t fn, + uint8_t *data, uint8_t data_len) +{ + struct osmo_gprs_rlcmac_prim *rlcmac_prim; + rlcmac_prim = rlcmac_prim_l1ctl_alloc(OSMO_GPRS_RLCMAC_L1CTL_PDCH_DATA, PRIM_OP_CONFIRM, 0); + rlcmac_prim->l1ctl.pdch_data_cnf.fn = fn; + rlcmac_prim->l1ctl.pdch_data_cnf.ts_nr = ts_nr; + rlcmac_prim->l1ctl.pdch_data_ind.data_len = data_len; + rlcmac_prim->l1ctl.pdch_data_ind.data = data; + return rlcmac_prim; +} + /* L1CTL-PDCH_DATA.ind */ struct osmo_gprs_rlcmac_prim *osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_data_ind(uint8_t ts_nr, uint32_t fn, uint8_t rx_lev, uint16_t ber10k, int16_t ci_cb, uint8_t *data, uint8_t data_len) -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35774?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: I145b9586f83ae0235b4648916bd44996e8dc57f0 Gerrit-Change-Number: 35774 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[M] Change in osmo-dev[master]: Build environment for fixeria
fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/35773?usp=email ) Change subject: Build environment for fixeria .. Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/35773?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I1074f1f1781d2eef58fbce4522e0f9dd37de4a42 Gerrit-Change-Number: 35773 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: abandon
[M] Change in osmo-dev[master]: Build environment for fixeria
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/35773?usp=email ) Change subject: Build environment for fixeria .. Build environment for fixeria Change-Id: I1074f1f1781d2eef58fbce4522e0f9dd37de4a42 --- M all.deps A cflags.opts M default.opts A full-upgrade.sh 4 files changed, 29 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/73/35773/1 diff --git a/all.deps b/all.deps index d9359bd..317fd48 100644 --- a/all.deps +++ b/all.deps @@ -1,11 +1,13 @@ # project build these first libosmocore libosmo-abis libosmocore +libosmo-dsplibosmocore libosmo-gprs libosmocore libosmo-netif libosmo-abis libosmo-sccp libosmo-netif libsmpp34 libasn1c + osmo-ggsn libosmocore osmo-iuh libosmo-sccp libasn1c osmo-hlr libosmo-abis @@ -21,25 +23,7 @@ # So if you want osmo-trx, use no sanitize.opts, or use LD_PRELOAD for osmo-trx binaries. osmo-trx libosmocore osmo-pcu libosmocore libosmo-gprs -asn1c libasn1c -osmo-gbproxy libosmocore osmo-pcap libosmocore -osmo-bsc-nat libosmo-sccp osmo-mgw -libosmo-pfcp libosmocore -libgtpnl -libnftnl -nftables libnftnl -osmo-upf libosmocore libosmo-pfcp libgtpnl nftables osmo-cbc libosmo-netif -osmo-hnodebosmo-iuh -osmo-hnbgw osmo-iuh osmo-mgw libosmo-pfcp -osmo-e1d libosmocore - -# can only clone these -docker-playground -osmo-ttcn3-hacks -osmocom-bb - -# configure.ac not in topdir of repository -osmocom-bb_layer23 libosmocore -osmocom-bb_virtphy libosmocore +osmo-uecupslibosmo-netif +gapk libosmocore diff --git a/cflags.opts b/cflags.opts new file mode 100644 index 000..a9e4b4b --- /dev/null +++ b/cflags.opts @@ -0,0 +1 @@ +ALL CFLAGS="-g -ggdb -O2 -fno-omit-frame-pointer" CXXFLAGS="-g -ggdb -O2 -fno-omit-frame-pointer" diff --git a/default.opts b/default.opts index 1e850aa..be6644b 100644 --- a/default.opts +++ b/default.opts @@ -1,3 +1,6 @@ +libosmocore --enable-systemd-logging +libosmo-abis --disable-dahdi osmo-msc --enable-smpp -openbsc --enable-smpp --enable-osmo-bsc --enable-nat -osmo-hnbgw --enable-pfcp +osmo-bts --enable-trx +osmo-trx --with-uhd --with-lms --with-mstrx +gapk --enable-gsmhr diff --git a/full-upgrade.sh b/full-upgrade.sh new file mode 100755 index 000..d10d6f5 --- /dev/null +++ b/full-upgrade.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +rm -f build/.make.* + +for d in build/*/; do + sudo make -C $d uninstall + make -C $d distclean +done + +make -C build -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/35773?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I1074f1f1781d2eef58fbce4522e0f9dd37de4a42 Gerrit-Change-Number: 35773 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35766?usp=email ) Change subject: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() .. trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() Change-Id: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 --- M src/host/trxcon/src/sched_trx.c 1 file changed, 15 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/src/sched_trx.c b/src/host/trxcon/src/sched_trx.c index d07a579..f412400 100644 --- a/src/host/trxcon/src/sched_trx.c +++ b/src/host/trxcon/src/sched_trx.c @@ -525,8 +525,13 @@ lchan->tx_bursts = NULL; /* Flush the queue of pending Tx prims */ - while ((msg = msgb_dequeue(&lchan->tx_prims)) != NULL) + while ((msg = msgb_dequeue(&lchan->tx_prims)) != NULL) { + const struct l1sched_prim *prim = l1sched_prim_from_msgb(msg); + + LOGP_LCHANC(lchan, LOGL_NOTICE, "%s(): dropping Tx prim (fn=%u): %s\n", + __func__, prim->data_req.frame_nr, msgb_hexdump_l2(msg)); msgb_free(msg); + } /* Channel specific stuff */ if (L1SCHED_CHAN_IS_TCH(lchan->type)) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?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: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 Gerrit-Change-Number: 35766 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch()
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35767?usp=email ) Change subject: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch() .. trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch() Change-Id: I1f82d53a46017c805c70b9dcccad058048549220 --- M src/host/trxcon/src/sched_lchan_pdtch.c 1 file changed, 11 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/host/trxcon/src/sched_lchan_pdtch.c b/src/host/trxcon/src/sched_lchan_pdtch.c index 915b060..4c49504 100644 --- a/src/host/trxcon/src/sched_lchan_pdtch.c +++ b/src/host/trxcon/src/sched_lchan_pdtch.c @@ -118,8 +118,8 @@ } /* else: the ship has sailed, drop your ticket */ LOGP_LCHAND(lchan, LOGL_ERROR, - "%s(): dropping stale Tx primitive (current Fn=%u, prim Fn=%u)\n", - __func__, fn, prim->data_req.frame_nr); + "%s(): dropping stale Tx prim (current Fn=%u, prim Fn=%u): %s\n", + __func__, fn, prim->data_req.frame_nr, msgb_hexdump_l2(msg)); llist_del(&msg->list); msgb_free(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35767?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: I1f82d53a46017c805c70b9dcccad058048549220 Gerrit-Change-Number: 35767 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch()
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35767?usp=email ) Change subject: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch() .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35767?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: I1f82d53a46017c805c70b9dcccad058048549220 Gerrit-Change-Number: 35767 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 20:12:23 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35766?usp=email ) Change subject: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?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: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 Gerrit-Change-Number: 35766 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 20:12:12 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in libosmo-gprs[master]: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?usp=email ) Change subject: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?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: I6e825a105de4a49329912db6c79aaebbfd3ddf9f Gerrit-Change-Number: 35765 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 01 Feb 2024 20:08:45 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in libosmo-gprs[master]: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?usp=email ) Change subject: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array .. cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array Change-Id: I6e825a105de4a49329912db6c79aaebbfd3ddf9f --- M src/rlcmac/tbf_ul_fsm.c 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/rlcmac/tbf_ul_fsm.c b/src/rlcmac/tbf_ul_fsm.c index 43cb02f..0949ca6 100644 --- a/src/rlcmac/tbf_ul_fsm.c +++ b/src/rlcmac/tbf_ul_fsm.c @@ -46,6 +46,7 @@ [GPRS_RLCMAC_TBF_UL_ST_WAIT_ASSIGN] = { }, [GPRS_RLCMAC_TBF_UL_ST_FLOW] = { .T = 3164 }, [GPRS_RLCMAC_TBF_UL_ST_FINISHED] = { .keep_timer = true }, /* keep FLOW state's T3164 / T3166 */ + [GPRS_RLCMAC_TBF_UL_ST_RELEASING] = { }, }; /* Transition to a state, using the T timer defined in tbf_fsm_timeouts. -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?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: I6e825a105de4a49329912db6c79aaebbfd3ddf9f Gerrit-Change-Number: 35765 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged
[M] Change in osmo-ttcn3-hacks[master]: epdg: Test UE-initiated Detach Procedure
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35758?usp=email ) Change subject: epdg: Test UE-initiated Detach Procedure .. epdg: Test UE-initiated Detach Procedure Related: OS#6333 Change-Id: I19114c69119e42622f323378dd356217d107cb32 --- M epdg/EPDG_Tests.ttcn M library/DIAMETER_Templates.ttcn M library/DIAMETER_ts29_273_Templates.ttcn 3 files changed, 136 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/epdg/EPDG_Tests.ttcn b/epdg/EPDG_Tests.ttcn index de5e7a8..82a2375 100644 --- a/epdg/EPDG_Tests.ttcn +++ b/epdg/EPDG_Tests.ttcn @@ -359,7 +359,7 @@ } /* Diameter SWx SAR + SAA. */ -private altstep as_DIA_SWx_SA_success() runs on EPDG_ConnHdlr { +private altstep as_DIA_SWx_SA_success(template (present) CxDx_3GPP_Server_Assignment_Type server_ass_type := ?) runs on EPDG_ConnHdlr { var PDU_DIAMETER rx_dia; var template (omit) AVP avp; var octetstring sess_id; @@ -404,7 +404,28 @@ } } -/* Diameter SWx SAR + SAA. */ +/* Send STR as PGW to AAA server, expect back STA */ +private function f_S6b_ST_success() runs on EPDG_ConnHdlr { + var PDU_DIAMETER rx_dia; + var UINT32 hbh_id := f_rnd_octstring(4); + var UINT32 ete_id := f_rnd_octstring(4); + + /* Unlike STR, STA contains no IMSI. Register ete_id in DIAMETER_Emulation, +* so AIA is forwarded back to us in DIAMETER port instead of MTC_CT.DIAMETER_UNIT. +*/ + f_epdg_connhldr_S6b_expect_eteid(ete_id); + + S6b.send(ts_DIA_S6b_STR(g_pars.imsi, DIAMETER_LOGOUT, + hbh_id := hbh_id, ete_id := ete_id)); + alt { + [] S6b.receive(tr_DIA_S6b_STA(DIAMETER_SUCCESS)) -> value rx_dia {} + [] S6b.receive(PDU_DIAMETER:?) -> value rx_dia { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Unexpected Diameter S6b msg rx: ", rx_dia)); + } + } +} + +/* ePDG Creates session at the PGW. PGW sends Diameter s6b AAR + AAA. */ private altstep as_GTP2C_CreateSession_success() runs on EPDG_ConnHdlr { var PDU_GTPCv2 rx_msg; var BearerContextIEs rx_bctx_ies; @@ -444,8 +465,27 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Unexpected GTP2C msg rx: ", rx_msg)); } } -private function f_GTP2C_CreateSession_success() runs on EPDG_ConnHdlr { - as_GTP2C_CreateSession_success(); + +/* ePDG Deletes session at the PGW. PGW sends Diameter s6b AAR + AAA. */ +private altstep as_GTP2C_DeleteSession_success() runs on EPDG_ConnHdlr { + var PDU_GTPCv2 rx_msg; + var BearerContextIEs rx_bctx_ies; + var template (value) FullyQualifiedTEID fteid_c_ie, fteid_u_ie; + var template (value) PDN_AddressAllocation paa; + var template (value) BearerContextIEs bctx_ies; + + [] GTP2.receive(tr_GTP2C_DeleteSessionReq(g_pars.teic_local)) -> value rx_msg { + /* Upon rx of DeleteSession, emulate PGW requesting the AAA server for Sesssion Termination. */ + f_S6b_ST_success(); + + GTP2.send(ts_GTP2C_DeleteSessionResp(g_pars.teic_remote, +rx_msg.sequenceNumber, +Request_accepted)); + setverdict(pass); + } + [] GTP2.receive(PDU_GTPCv2:?) -> value rx_msg { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Unexpected GTP2C msg rx: ", rx_msg)); + } } /* Expect DeleteBearerResponse */ @@ -493,7 +533,7 @@ var GSUP_PDU rx_gsup; var template octetstring destination_name := *; GSUP.send(ts_GSUP_UL_REQ(g_pars.imsi)); - as_DIA_SWx_SA_success(); + as_DIA_SWx_SA_success(REGISTRATION); /* Expect a positive response back to the translator */ alt { [] GSUP.receive(tr_GSUP_UL_RES(g_pars.imsi, destination_name)); @@ -508,7 +548,7 @@ private function f_GSUP_EPDGTunnel_success() runs on EPDG_ConnHdlr { var GSUP_PDU rx_gsup; GSUP.send(ts_GSUP_EPDGTunnel_REQ(g_pars.imsi)); - f_GTP2C_CreateSession_success(); + as_GTP2C_CreateSession_success(); /* Expect a positive response back to the translator; */ var template (present) GSUP_IEs pdp_info := { tr_GSUP_IE_PDP_CONTEXT_ID(?), @@ -526,10 +566,30 @@ setverdict(pass); } +/* GSUP Purge MS Req + Resp, triggers S2b DeleteSession Req + Response. */ +private function f_GSUP_PurgeMS_success() runs on EPDG_ConnHdlr { + var GSUP_PDU rx_gsup; + GSUP.send(ts_GSUP_PURGE_MS_REQ(g_pars.imsi, OSMO_GSUP_CN_DOMAIN_PS)); + as_GTP2C_DeleteSession_success(); + /* ePDG internally sends STR to its AAA-Server. Since all sessions + beco
[M] Change in osmo-ttcn3-hacks[master]: epdg: Test UE-initiated Detach Procedure
Attention is currently required from: lynxis lazus. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35758?usp=email ) Change subject: epdg: Test UE-initiated Detach Procedure .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35758?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19114c69119e42622f323378dd356217d107cb32 Gerrit-Change-Number: 35758 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Attention: lynxis lazus Gerrit-Comment-Date: Thu, 01 Feb 2024 20:08:38 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[L] Change in ...osmo-epdg[master]: AAA-Server: Process S6b, SWx requests async through new aaa_ue_fsm
pespin has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35759?usp=email ) Change subject: AAA-Server: Process S6b, SWx requests async through new aaa_ue_fsm .. AAA-Server: Process S6b, SWx requests async through new aaa_ue_fsm This will allow keeping per-UE session state, and for instance send a SAR(USER_DEREGISTRATION) towards HSS when all sessions from all interfaces (s6b, SWm) are terminated. Change-Id: I78ebda4679d0a2f3ecede94598e74b20c2ff8836 --- M src/aaa_diameter_s6b.erl M src/aaa_diameter_s6b_cb.erl M src/aaa_diameter_swm.erl M src/aaa_diameter_swx.erl M src/aaa_diameter_swx_cb.erl A src/aaa_ue_fsm.erl 6 files changed, 343 insertions(+), 72 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/aaa_diameter_s6b.erl b/src/aaa_diameter_s6b.erl index 59b9679..2de479c 100644 --- a/src/aaa_diameter_s6b.erl +++ b/src/aaa_diameter_s6b.erl @@ -40,8 +40,8 @@ -behaviour(gen_server). --include_lib("diameter_3gpp_ts29_273_s6b.hrl"). -include_lib("diameter/include/diameter_gen_base_rfc6733.hrl"). +-include_lib("diameter_3gpp_ts29_273_s6b.hrl"). %% API Function Exports -export([start_link/0]). @@ -51,6 +51,7 @@ -export([code_change/3]). -export([multimedia_auth_request/6]). -export([server_assignment_request/3]). +-export([tx_aa_answer/2]). -export([test/0, test/1]). %% Diameter Application Definitions @@ -146,6 +147,10 @@ gen_server:call(?SERVER, {sar, {IMSI, Type, APN}}). +tx_aa_answer(Pid, ResultCode) -> +% handle_request(AAR) was spawned into its own process, and it's blocked waiting for AAA: +Pid ! {aaa, ResultCode}. + result_code_success(2001) -> ok; result_code_success(2002) -> ok; result_code_success(_) -> invalid_result_code. diff --git a/src/aaa_diameter_s6b_cb.erl b/src/aaa_diameter_s6b_cb.erl index ccfcaff..b03bce1 100644 --- a/src/aaa_diameter_s6b_cb.erl +++ b/src/aaa_diameter_s6b_cb.erl @@ -23,17 +23,17 @@ State. %% pick_peer/4 -pick_peer([_Peer | _], _, _SvcName, _State) -> -?UNEXPECTED. +pick_peer([Peer | _], _, _SvcName, _State) -> +{ok, Peer}. %% prepare_request/3 - -prepare_request(_, _SvcName, _Peer) -> - ?UNEXPECTED. +prepare_request(_Req, _SvcName, _Peer) -> +lager:error("Unexpected prepare_request(): ~p~n", [_Req]), +?UNEXPECTED. %% prepare_retransmit/3 -prepare_retransmit(_Packet, _SvcName, _Peer) -> - ?UNEXPECTED. +prepare_retransmit(Packet, SvcName, Peer) -> +prepare_request(Packet, SvcName, Peer). %% handle_answer/4 @@ -42,12 +42,12 @@ %% the former case, return in the latter. handle_answer(_Packet, _Request, _SvcName, _Peer) -> - ?UNEXPECTED. +?UNEXPECTED. %% handle_error/4 handle_error(Reason, Request, _SvcName, _Peer) when is_list(Request) -> lager:error("Request error: ~p~n", [Reason]), - ?UNEXPECTED. +?UNEXPECTED. % 3GPP TS 29.273 9.1.2.2 handle_request(#diameter_packet{msg = Req, errors = []}, _SvcName, {_, Caps}) when is_record(Req, 'AAR') -> @@ -59,21 +59,25 @@ 'Auth-Request-Type' = AuthReqType, 'User-Name' = [UserName], 'Service-Selection' = [Apn]} = Req, -Result = aaa_diameter_swx:server_assignment_request(UserName, 1, Apn), +Result = aaa_diameter_swm:get_ue_fsm_by_imsi(UserName), case Result of -{ok, _} -> -ResultCode = 2001; -{error, _Err} -> -ResultCode = ?'RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED' +{ok, Pid} -> +ok = aaa_ue_fsm:ev_rx_s6b_aar(Pid, Apn), +lager:debug("Waiting for S6b AAA~n", []), +receive +{aaa, ResultCode} -> lager:debug("Rx AAA with ResultCode=~p~n", [ResultCode]) +end; +_ -> lager:error("Error looking up FSM for IMSI~n", [UserName]), + ResultCode = ?'RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED' end, -Resp = #'AAA'{'Session-Id'=SessionId, +Resp = #'AAA'{'Session-Id'= SessionId, 'Auth-Application-Id' = AuthAppId, 'Auth-Request-Type' = AuthReqType, 'Result-Code' = ResultCode, 'Origin-Host' = OH, 'Origin-Realm' = OR}, lager:info("S6b Tx to ~p: ~p~n", [Caps, Resp]), - {reply, Resp}; +{reply, Resp}; % 3GPP TS 29.273 9.2.2.3.1 Session-Termination-Request (STR) Command: handle_request(#diameter_packet{msg = Req, errors = []}, _SvcName, {_, Caps}) when is_record(Req, 'STR') -> diff --git a/src/aaa_diameter_swm.erl b/src/aaa_diameter_swm.erl index a3e5132..68aa054 100644 --- a/src/aaa_diameter_swm.erl +++ b/src/aaa_diameter_swm.erl @@ -7,14 +7,22 @@ -include_lib("diameter_3gpp_ts29_273_swx.hrl"). -record(swm_state, { - table_id % ets table id + table_id, % ets table id, + ues = sets:new() }). +-rec
[M] Change in ...osmo-epdg[master]: Send SAR(DEREGISTRATION) to HSS when all sessions are terminated
pespin has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35760?usp=email ) Change subject: Send SAR(DEREGISTRATION) to HSS when all sessions are terminated .. Send SAR(DEREGISTRATION) to HSS when all sessions are terminated Change-Id: I62eba8ef916d52964df4135d1031f3950b6818a2 --- M src/aaa_diameter_s6b.erl M src/aaa_diameter_s6b_cb.erl M src/aaa_diameter_swm.erl M src/aaa_diameter_swx_cb.erl M src/aaa_ue_fsm.erl 5 files changed, 157 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/aaa_diameter_s6b.erl b/src/aaa_diameter_s6b.erl index 2de479c..2792b6a 100644 --- a/src/aaa_diameter_s6b.erl +++ b/src/aaa_diameter_s6b.erl @@ -51,7 +51,7 @@ -export([code_change/3]). -export([multimedia_auth_request/6]). -export([server_assignment_request/3]). --export([tx_aa_answer/2]). +-export([tx_aa_answer/2, tx_st_answer/2]). -export([test/0, test/1]). %% Diameter Application Definitions @@ -151,6 +151,10 @@ % handle_request(AAR) was spawned into its own process, and it's blocked waiting for AAA: Pid ! {aaa, ResultCode}. +tx_st_answer(Pid, ResultCode) -> +% handle_request(STR) was spawned into its own process, and it's blocked waiting for STA: +Pid ! {sta, ResultCode}. + result_code_success(2001) -> ok; result_code_success(2002) -> ok; result_code_success(_) -> invalid_result_code. diff --git a/src/aaa_diameter_s6b_cb.erl b/src/aaa_diameter_s6b_cb.erl index b03bce1..339f735 100644 --- a/src/aaa_diameter_s6b_cb.erl +++ b/src/aaa_diameter_s6b_cb.erl @@ -86,10 +86,30 @@ #diameter_caps{origin_host = {OH,_}, origin_realm = {OR,_}} = Caps, #'STR'{'Session-Id' = SessionId, 'Auth-Application-Id' = _AuthAppId, - 'User-Name' = _UserNameOpt} = Req, + 'Termination-Cause' = _TermCause, + 'User-Name' = [UserName]} = Req, +Result = aaa_diameter_swm:get_ue_fsm_by_imsi(UserName), +case Result of +{ok, Pid} -> +case aaa_ue_fsm:ev_rx_s6b_str(Pid) of +ok -> +lager:debug("Waiting for S6b STA~n", []), +receive +{sta, ResultCode} -> lager:debug("Rx STA with ResultCode=~p~n", [ResultCode]) +end; +{ok, DiaRC} when is_integer(DiaRC) -> +ResultCode = DiaRC; +{error, Err} when is_integer(Err) -> +ResultCode = Err; +{error, _} -> +ResultCode = ?'RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED' +end; +_ -> lager:error("Error looking up FSM for IMSI~n", [UserName]), +ResultCode = ?'RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED' +end, % 3GPP TS 29.273 9.2.2.3.2 Session-Termination-Answer (STA) Command: Resp = #'STA'{'Session-Id' = SessionId, - 'Result-Code' = 2001, + 'Result-Code' = ResultCode, 'Origin-Host' = OH, 'Origin-Realm' = OR}, lager:info("S6b Tx to ~p: ~p~n", [Caps, Resp]), diff --git a/src/aaa_diameter_swm.erl b/src/aaa_diameter_swm.erl index 68aa054..9458383 100644 --- a/src/aaa_diameter_swm.erl +++ b/src/aaa_diameter_swm.erl @@ -4,7 +4,7 @@ -module(aaa_diameter_swm). -behaviour(gen_server). --include_lib("diameter_3gpp_ts29_273_swx.hrl"). +-include_lib("diameter_3gpp_ts29_273.hrl"). -record(swm_state, { table_id, % ets table id, @@ -22,7 +22,7 @@ -export([get_ue_fsm_by_imsi/1]). -export([auth_request/1, auth_compl_request/2, session_termination_request/1]). --export([auth_response/2, auth_compl_response/2]). +-export([auth_response/2, auth_compl_response/2, session_termination_answer/2]). -define(SERVER, ?MODULE). @@ -45,6 +45,9 @@ auth_compl_response(Imsi, Result) -> _Result = gen_server:call(?SERVER, {epdg_auth_compl_resp, Imsi, Result}). +session_termination_answer(Imsi, Result) -> + _Result = gen_server:call(?SERVER, {sta, Imsi, Result}). + %% % Rx from emulated SWm wire: %% @@ -73,7 +76,21 @@ {noreply, State}; handle_cast({str, Imsi}, State) -> - ok = epdg_diameter_swm:session_termination_answer(Imsi, 2001), + Sess = find_swm_session_by_imsi(Imsi, State), + case Sess of + #swm_session{} -> + case aaa_ue_fsm:ev_rx_swm_str(Sess#swm_session.pid) of + ok -> ok; % Answering delayed due to SAR+SAA towards HSS. + {ok, DiaRC} when is_integer(DiaRC) -> + ok = epdg_diameter_swm:session_termination_answer(Imsi, DiaRC); + {error, Err} when is_integer(Err) -> + ok = epdg_diameter_swm:session_termination_answer(Imsi, Err); + {error, _} -> + ok = epdg_diameter_swm:session_termination_answer(Imsi, ?'RULE-FAILURE-CODE_CM_AUTHORI
[M] Change in ...osmo-epdg[master]: Send SAR(DEREGISTRATION) to HSS when all sessions are terminated
Attention is currently required from: lynxis lazus. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35760?usp=email ) Change subject: Send SAR(DEREGISTRATION) to HSS when all sessions are terminated .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35760?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I62eba8ef916d52964df4135d1031f3950b6818a2 Gerrit-Change-Number: 35760 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Attention: lynxis lazus Gerrit-Comment-Date: Thu, 01 Feb 2024 20:08:27 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[L] Change in ...osmo-epdg[master]: AAA-Server: Process S6b, SWx requests async through new aaa_ue_fsm
Attention is currently required from: lynxis lazus. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35759?usp=email ) Change subject: AAA-Server: Process S6b, SWx requests async through new aaa_ue_fsm .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35759?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I78ebda4679d0a2f3ecede94598e74b20c2ff8836 Gerrit-Change-Number: 35759 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Attention: lynxis lazus Gerrit-Comment-Date: Thu, 01 Feb 2024 20:08:25 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[M] Change in osmo-ttcn3-hacks[master]: epdg: Test UE-initiated Detach Procedure
Attention is currently required from: lynxis lazus, pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35758?usp=email ) Change subject: epdg: Test UE-initiated Detach Procedure .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35758?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19114c69119e42622f323378dd356217d107cb32 Gerrit-Change-Number: 35758 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Attention: pespin Gerrit-Attention: lynxis lazus Gerrit-Comment-Date: Thu, 01 Feb 2024 19:35:36 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in libosmo-gprs[master]: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array
Attention is currently required from: pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?usp=email ) Change subject: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?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: I6e825a105de4a49329912db6c79aaebbfd3ddf9f Gerrit-Change-Number: 35765 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Attention: pespin Gerrit-Comment-Date: Thu, 01 Feb 2024 19:35:17 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch()
Attention is currently required from: fixeria. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35767?usp=email ) Change subject: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch() .. Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35767?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: I1f82d53a46017c805c70b9dcccad058048549220 Gerrit-Change-Number: 35767 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 19:34:53 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()
Attention is currently required from: fixeria, pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35766?usp=email ) Change subject: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() .. Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?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: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 Gerrit-Change-Number: 35766 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Attention: fixeria Gerrit-Attention: pespin Gerrit-Comment-Date: Thu, 01 Feb 2024 19:34:36 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[M] Change in pysim[master]: Add global_platform shell command establish_scp02 and release_scp
Attention is currently required from: dexter, fixeria, laforge. Hello Jenkins Builder, dexter, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/35764?usp=email to look at the new patch set (#7). The following approvals got outdated and were removed: Verified+1 by Jenkins Builder Change subject: Add global_platform shell command establish_scp02 and release_scp .. Add global_platform shell command establish_scp02 and release_scp Those commands can be used to establish and release a SCP02 secure channel on the currently active logical channel. The prompt is adjusted with a 'SCP02' prefix while the secure channel is established. Change-Id: Ib2f3c8f0563f81a941dd55b97c9836e3a6856407 --- M docs/shell.rst M pySim-shell.py M pySim/global_platform/__init__.py M pySim/global_platform/scp02.py 4 files changed, 84 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/35764/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35764?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2f3c8f0563f81a941dd55b97c9836e3a6856407 Gerrit-Change-Number: 35764 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Attention: laforge Gerrit-Attention: fixeria Gerrit-Attention: dexter Gerrit-MessageType: newpatchset
[M] Change in pysim[master]: global_platform: add set_status command
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35772?usp=email ) Change subject: global_platform: add set_status command .. global_platform: add set_status command Using this command, one can change the life cycle status of on-card applications, specifically one can LOCK (disable) them and re-enable them as needed. Change-Id: Ie14297a119d01cad1284f315a2508aa92cb4633b --- M docs/shell.rst M pySim/global_platform/__init__.py 2 files changed, 49 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/72/35772/1 diff --git a/docs/shell.rst b/docs/shell.rst index 96b04a7..aa301d8 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -947,6 +947,12 @@ :module: pySim.global_platform :func: ADF_SD.AddlShellCommands.get_status_parser +set_status +~~ +.. argparse:: + :module: pySim.global_platform + :func: ADF_SD.AddlShellCommands.set_status_parser + store_data ~~ .. argparse:: diff --git a/pySim/global_platform/__init__.py b/pySim/global_platform/__init__.py index 6f74965..43c8dd2 100644 --- a/pySim/global_platform/__init__.py +++ b/pySim/global_platform/__init__.py @@ -94,6 +94,12 @@ ecc_key_parameters_reference=0xF0, # v2.3.1 Section 11.1.8 not_available=0xff) +# GlobalPlatform 2.3 Section 11.10.2.1 Table 11-86 +SetStatusScope = Enum(Byte, isd=0x80, app_or_ssd=0x40, isd_and_assoc_apps=0xc0) + +# GlobalPlatform 2.3 section 11.1.1 +CLifeCycleState = Enum(Byte, loaded=0x01, installed=0x03, selectable=0x07, personalized=0x0f, locked=0x83) + # GlobalPlatform 2.1.1 Section 9.3.3.1 class KeyInformationData(BER_TLV_IE, tag=0xc0): _test_de_encode = [ @@ -376,7 +382,7 @@ # Section 11.4.3.1 Table 11-36 class LifeCycleState(BER_TLV_IE, tag=0x9f70): -_construct = Int8ub +_construct = CLifeCycleState # Section 11.4.3.1 Table 11-36 + Section 11.1.2 class Privileges(BER_TLV_IE, tag=0xc5): @@ -557,7 +563,7 @@ @cmd2.with_argparser(get_status_parser) def do_get_status(self, opts): -"""Perform GlobalPlatform GET STATUS command in order to retriev status information +"""Perform GlobalPlatform GET STATUS command in order to retrieve status information on Issuer Security Domain, Executable Load File, Executable Module or Applications.""" grd_list = self.get_status(opts.subset, opts.aid) for grd in grd_list: @@ -584,6 +590,28 @@ p2 |= 0x01 return grd_list +set_status_parser = argparse.ArgumentParser() +set_status_parser.add_argument('scope', choices=SetStatusScope.ksymapping.values(), + help='Defines the scope of the requested status change') +set_status_parser.add_argument('status', choices=CLifeCycleState.ksymapping.values(), + help='Specify the new intended status') +set_status_parser.add_argument('--aid', type=is_hexstr, help='Specify the target AID 'm + help='AID of the target Application or Security Domain') + +@cmd2.with_argparser(set_status_parser) +def do_set_status(self, opts): +"""Perform GlobalPlatform SET STATUS command in order to change the life cycle state of the +Issuer Security Domain, Supplementary Security Domain or Application. This normally requires +prior authentication with a Secure Channel Protocol.""" +self.set_status(opts.scope, opts.status, opts.aid) + +def set_status(self, scope:str, status:str, aid:Hexstr = ''): +SetStatus = Struct(Const(0x80, Byte), Const(0xF0, Byte), + 'scope'/SetStatusScope, 'status'/CLifeCycleState, + 'aid'/HexAdapter(Prefixed(Int8ub, Optional(GreedyBytes +apdu = build_construct(SetStatus, {'scope':scope, 'status':status, 'aid':aid}) +data, sw = self._cmd.lchan.scc.send_apdu_checksw(b2h(apdu)) + est_scp02_parser = argparse.ArgumentParser() est_scp02_parser.add_argument('--key-ver', type=auto_int, required=True, help='Key Version Number (KVN)') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35772?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie14297a119d01cad1284f315a2508aa92cb4633b Gerrit-Change-Number: 35772 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange
[S] Change in pysim[master]: SCP02: Only C-MAC/C-ENCRYPT APDUs whose CLA byte indicates GlobalPlat...
Attention is currently required from: laforge. Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/35769?usp=email to look at the new patch set (#2). The following approvals got outdated and were removed: Verified-1 by Jenkins Builder Change subject: SCP02: Only C-MAC/C-ENCRYPT APDUs whose CLA byte indicates GlobalPlatform .. SCP02: Only C-MAC/C-ENCRYPT APDUs whose CLA byte indicates GlobalPlatform I'm not entirely sure if this is the right thing to do. For sure I do have cards which don't like SELECT with C-MAC appended... and GlobalPlatform clearly states SELECT is coded with CLA value that has the MSB not set (i.e. not a GlobalPlatform command). Change-Id: Ieda75c865a6ff2725fc3c8772bb274d96b8a5a43 --- M pySim/global_platform/scp02.py 1 file changed, 30 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/69/35769/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35769?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ieda75c865a6ff2725fc3c8772bb274d96b8a5a43 Gerrit-Change-Number: 35769 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Attention: laforge Gerrit-MessageType: newpatchset
[S] Change in pysim[master]: pySim-shell: Make 'apdu' command use logical (and secure) channel
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35770?usp=email ) Change subject: pySim-shell: Make 'apdu' command use logical (and secure) channel .. pySim-shell: Make 'apdu' command use logical (and secure) channel The 'apdu' command so far bypassed the logical channel and also the recently-introduced support for secure channels. Let's change that, at least by default. If somebody wants a raw APDU without secure / logical channel processing, they may use the --raw option. Change-Id: Id0c364f772c31e11e8dfa21624d8685d253220d0 --- M pySim-shell.py 1 file changed, 19 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/35770/1 diff --git a/pySim-shell.py b/pySim-shell.py index abe0b5f..89fdf6e 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -237,6 +237,7 @@ apdu_cmd_parser = argparse.ArgumentParser() apdu_cmd_parser.add_argument('APDU', type=is_hexstr, help='APDU as hex string') apdu_cmd_parser.add_argument('--expect-sw', help='expect a specified status word', type=str, default=None) +apdu_cmd_parser.add_argument('--raw', help='Bypass the logical channel (and secure channel)', action='store_true') @cmd2.with_argparser(apdu_cmd_parser) def do_apdu(self, opts): @@ -249,7 +250,10 @@ # noted that the apdu command plays an exceptional role since it is the only card accessing command that # can be executed without the presence of a runtime state (self.rs) object. However, this also means that # self.lchan is also not present (see method equip). -data, sw = self.card._scc.send_apdu(opts.APDU) +if opts.raw: +data, sw = self.card._scc.send_apdu(opts.APDU) +else: +data, sw = self.lchan.scc.send_apdu(opts.APDU) if data: self.poutput("SW: %s, RESP: %s" % (sw, data)) else: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35770?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id0c364f772c31e11e8dfa21624d8685d253220d0 Gerrit-Change-Number: 35770 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange
[S] Change in pysim[master]: global_platform: Add install_for_personalization command
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35771?usp=email ) Change subject: global_platform: Add install_for_personalization command .. global_platform: Add install_for_personalization command This allows us to perform STORE DATA on applications like ARA-M/ARA-D after establishing SCP02 to the related security domain. Change-Id: I2ce766b97bba42c64c4d4492b505be66c24f471e --- M docs/shell.rst M pySim/global_platform/__init__.py 2 files changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/35771/1 diff --git a/docs/shell.rst b/docs/shell.rst index dff6cd1..96b04a7 100644 --- a/docs/shell.rst +++ b/docs/shell.rst @@ -959,6 +959,12 @@ :module: pySim.global_platform :func: ADF_SD.AddlShellCommands.put_key_parser +install_for_personalization +~~~ +.. argparse:: + :module: pySim.global_platform + :func: ADF_SD.AddlShellCommands.inst_for_perso_parser + establish_scp02 ~~~ .. argparse:: diff --git a/pySim/global_platform/__init__.py b/pySim/global_platform/__init__.py index 44a24df..25b58d9 100644 --- a/pySim/global_platform/__init__.py +++ b/pySim/global_platform/__init__.py @@ -598,6 +598,21 @@ est_scp02_parser.add_argument('--security-level', type=auto_int, default=0x01, help='Security Level. Default: 0x01 (C-MAC only)') +inst_perso_parser = argparse.ArgumentParser() +inst_perso_parser.add_argument('application-aid', type=is_hexstr, help='Application AID') + +@cmd2.with_argparser(inst_perso_parser) +def do_install_for_personalization(self, opts): +"""Perform GlobalPlatform INSTALL [for personalization] command in order toinform a Security +Domain that the following STORE DATA commands are meant for a specific AID (specified here).""" +# Section 11.5.2.3.6 / Table 11-47 +self.install(0x20, 0x00, "%02u%s00" % (len(opts.application_aid)//2, opts.application_aid)) + +def install(self, p1:int, p2:int, data:Hexstr) -> ResTuple: +cmd_hex = "80E6%02x%02x%02x%s" % (p1, p2, len(data)//2, data) +return self._cmd.lchan.scc.send_apdu_checksw(cmd_hex) + + @cmd2.with_argparser(est_scp02_parser) def do_establish_scp02(self, opts): """Establish a secure channel using the GlobalPlatform SCP02 protocol.""" -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35771?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2ce766b97bba42c64c4d4492b505be66c24f471e Gerrit-Change-Number: 35771 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange
[S] Change in pysim[master]: SCP02: Only C-MAC/C-ENCRYPT APDUs whose CLA byte indicates GlobalPlat...
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/35769?usp=email ) Change subject: SCP02: Only C-MAC/C-ENCRYPT APDUs whose CLA byte indicates GlobalPlatform .. SCP02: Only C-MAC/C-ENCRYPT APDUs whose CLA byte indicates GlobalPlatform I'm not entirely sure if this is the right thing to do. For sure I do have cards which don't like SELECT with C-MAC appended... and GlobalPlatform clearly states SELECT is coded with CLA value that has the MSB not set (i.e. not a GlobalPlatform command). Change-Id: Ieda75c865a6ff2725fc3c8772bb274d96b8a5a43 --- M pySim/global_platform/scp02.py 1 file changed, 28 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/69/35769/1 diff --git a/pySim/global_platform/scp02.py b/pySim/global_platform/scp02.py index a7325e1..4df0aff 100644 --- a/pySim/global_platform/scp02.py +++ b/pySim/global_platform/scp02.py @@ -94,14 +94,6 @@ CLA_SM = 0x04 class SCP(SecureChannel): -pass - -class SCP02(SCP): -"""An instance of the GlobalPlatform SCP02 secure channel protocol.""" - -constr_iur = Struct('key_div_data'/Bytes(10), 'key_ver'/Int8ub, Const(b'\x02'), -'seq_counter'/Int16ub, 'card_challenge'/Bytes(6), 'card_cryptogram'/Bytes(8)) - def __init__(self, card_keys: 'GpCardKeyset', lchan_nr: int = 0): self.lchan_nr = lchan_nr self.card_keys = card_keys @@ -121,6 +113,19 @@ ret = ret | CLA_SM return ret + self.lchan_nr +def wrap_cmd_apdu(self, apdu: bytes) -> bytes: +# only protect those APDUs that actually are global platform commands +if apdu[0] & 0x80: +return self._wrap_cmd_apdu(apdu) +else: +return apdu + +class SCP02(SCP): +"""An instance of the GlobalPlatform SCP02 secure channel protocol.""" + +constr_iur = Struct('key_div_data'/Bytes(10), 'key_ver'/Int8ub, Const(b'\x02'), +'seq_counter'/Int16ub, 'card_challenge'/Bytes(6), 'card_cryptogram'/Bytes(8)) + def _compute_cryptograms(self, card_challenge: bytes, host_challenge: bytes): logger.debug("host_challenge(%s), card_challenge(%s)", b2h(host_challenge), b2h(card_challenge)) self.host_cryptogram = self.sk.calc_mac_3des(self.sk.counter.to_bytes(2, 'big') + card_challenge + host_challenge) @@ -168,7 +173,7 @@ mac = self.sk.calc_mac_1des(header + self.host_cryptogram, True) return bytes([self._cla(True), INS_EXT_AUTH, self.security_level, 0, 16]) + self.host_cryptogram + mac -def wrap_cmd_apdu(self, apdu: bytes) -> bytes: +def _wrap_cmd_apdu(self, apdu: bytes) -> bytes: """Wrap Command APDU for SCP02: calculate MAC and encrypt.""" lc = len(apdu) - 5 assert len(apdu) >= 5, "Wrong APDU length: %d" % len(apdu) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35769?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ieda75c865a6ff2725fc3c8772bb274d96b8a5a43 Gerrit-Change-Number: 35769 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()
Attention is currently required from: pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35766?usp=email ) Change subject: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() .. Patch Set 2: (1 comment) File src/host/trxcon/src/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/35766/comment/c151ff2c_e35897bd PS1, Line 531: LOGP_LCHANC(lchan, LOGL_NOTICE, "Dropping Tx prim (fn=%u): %s\n", > Some reference to "Reset lchan" here may be useful to understand the tragedy > :) Done (`__func__`). -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?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: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 Gerrit-Change-Number: 35766 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Attention: pespin Gerrit-Comment-Date: Thu, 01 Feb 2024 17:48:34 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment
[S] Change in osmocom-bb[master]: [HACK] trxcon/l1sched: warn about incomplete UL PDTCH transmissions
Jenkins Builder has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35768?usp=email ) Change subject: [HACK] trxcon/l1sched: warn about incomplete UL PDTCH transmissions .. Patch Set 1: (1 comment) File src/host/trxcon/src/sched_trx.c: Robot Comment from checkpatch (run ID jenkins-gerrit-lint-13977): https://gerrit.osmocom.org/c/osmocom-bb/+/35768/comment/24da1436_54105de5 PS1, Line 516: #if 1 Consider removing the #if 1 and its #endif -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35768?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: Id485c919ca87a9edfb8bc974d73fb88638bfc510 Gerrit-Change-Number: 35768 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 01 Feb 2024 17:37:02 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
[S] Change in osmocom-bb[master]: [HACK] trxcon/l1sched: warn about incomplete UL PDTCH transmissions
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35768?usp=email ) Change subject: [HACK] trxcon/l1sched: warn about incomplete UL PDTCH transmissions .. [HACK] trxcon/l1sched: warn about incomplete UL PDTCH transmissions Change-Id: Id485c919ca87a9edfb8bc974d73fb88638bfc510 --- M src/host/trxcon/src/sched_trx.c 1 file changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/68/35768/1 diff --git a/src/host/trxcon/src/sched_trx.c b/src/host/trxcon/src/sched_trx.c index f412400..bb6fbd8 100644 --- a/src/host/trxcon/src/sched_trx.c +++ b/src/host/trxcon/src/sched_trx.c @@ -513,6 +513,18 @@ lchan->tdma.last_proc); } +#if 1 + /* XXX: GPRS specific logic in generic code path */ + if (lchan->type == L1SCHED_PDTCH) { + uint32_t mask = lchan->tx_burst_mask & 0x0f; + if (mask != 0x00 && mask != 0x0f) { + LOGP_LCHANC(lchan, LOGL_ERROR, + "%s(): current Tx prim not fully transmitted\n", + __func__); + } + } +#endif + /* Reset internal state variables */ lchan->rx_burst_mask = 0x00; lchan->tx_burst_mask = 0x00; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35768?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: Id485c919ca87a9edfb8bc974d73fb88638bfc510 Gerrit-Change-Number: 35768 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()
Attention is currently required from: fixeria. Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?usp=email to look at the new patch set (#2). The following approvals got outdated and were removed: Verified-1 by Jenkins Builder Change subject: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() .. trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() Change-Id: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 --- M src/host/trxcon/src/sched_trx.c 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/66/35766/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?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: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 Gerrit-Change-Number: 35766 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Attention: fixeria Gerrit-MessageType: newpatchset
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35766?usp=email ) Change subject: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() .. Patch Set 1: (1 comment) File src/host/trxcon/src/sched_trx.c: https://gerrit.osmocom.org/c/osmocom-bb/+/35766/comment/b8e7d80c_374c41be PS1, Line 531: LOGP_LCHANC(lchan, LOGL_NOTICE, "Dropping Tx prim (fn=%u): %s\n", Some reference to "Reset lchan" here may be useful to understand the tragedy :) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?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: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 Gerrit-Change-Number: 35766 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 17:04:19 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch()
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35767?usp=email ) Change subject: trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch() .. trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch() Change-Id: I1f82d53a46017c805c70b9dcccad058048549220 --- M src/host/trxcon/src/sched_lchan_pdtch.c 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/67/35767/1 diff --git a/src/host/trxcon/src/sched_lchan_pdtch.c b/src/host/trxcon/src/sched_lchan_pdtch.c index 915b060..4c49504 100644 --- a/src/host/trxcon/src/sched_lchan_pdtch.c +++ b/src/host/trxcon/src/sched_lchan_pdtch.c @@ -118,8 +118,8 @@ } /* else: the ship has sailed, drop your ticket */ LOGP_LCHAND(lchan, LOGL_ERROR, - "%s(): dropping stale Tx primitive (current Fn=%u, prim Fn=%u)\n", - __func__, fn, prim->data_req.frame_nr); + "%s(): dropping stale Tx prim (current Fn=%u, prim Fn=%u): %s\n", + __func__, fn, prim->data_req.frame_nr, msgb_hexdump_l2(msg)); llist_del(&msg->list); msgb_free(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35767?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: I1f82d53a46017c805c70b9dcccad058048549220 Gerrit-Change-Number: 35767 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[S] Change in osmocom-bb[master]: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35766?usp=email ) Change subject: trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() .. trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() Change-Id: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 --- M src/host/trxcon/src/sched_trx.c 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/66/35766/1 diff --git a/src/host/trxcon/src/sched_trx.c b/src/host/trxcon/src/sched_trx.c index d07a579..82db4cb 100644 --- a/src/host/trxcon/src/sched_trx.c +++ b/src/host/trxcon/src/sched_trx.c @@ -525,8 +525,13 @@ lchan->tx_bursts = NULL; /* Flush the queue of pending Tx prims */ - while ((msg = msgb_dequeue(&lchan->tx_prims)) != NULL) + while ((msg = msgb_dequeue(&lchan->tx_prims)) != NULL) { + const struct l1sched_prim *prim = l1sched_prim_from_msgb(msg); + + LOGP_LCHANC(lchan, LOGL_NOTICE, "Dropping Tx prim (fn=%u): %s\n", + prim->prim->data_req.frame_nr, msgb_hexdump_l2(msg)); msgb_free(msg); + } /* Channel specific stuff */ if (L1SCHED_CHAN_IS_TCH(lchan->type)) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35766?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: Iaa11b5cee16dc43ef01c38be756864c2b3b57835 Gerrit-Change-Number: 35766 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
[S] Change in libosmo-gprs[master]: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?usp=email ) Change subject: cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array .. cosmetic: tbf_ul_fsm: add missing state to tdef_state_timeout array Change-Id: I6e825a105de4a49329912db6c79aaebbfd3ddf9f --- M src/rlcmac/tbf_ul_fsm.c 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/65/35765/1 diff --git a/src/rlcmac/tbf_ul_fsm.c b/src/rlcmac/tbf_ul_fsm.c index 43cb02f..0949ca6 100644 --- a/src/rlcmac/tbf_ul_fsm.c +++ b/src/rlcmac/tbf_ul_fsm.c @@ -46,6 +46,7 @@ [GPRS_RLCMAC_TBF_UL_ST_WAIT_ASSIGN] = { }, [GPRS_RLCMAC_TBF_UL_ST_FLOW] = { .T = 3164 }, [GPRS_RLCMAC_TBF_UL_ST_FINISHED] = { .keep_timer = true }, /* keep FLOW state's T3164 / T3166 */ + [GPRS_RLCMAC_TBF_UL_ST_RELEASING] = { }, }; /* Transition to a state, using the T timer defined in tbf_fsm_timeouts. -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35765?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: I6e825a105de4a49329912db6c79aaebbfd3ddf9f Gerrit-Change-Number: 35765 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange
[S] Change in osmo-trx[master]: ms: do not set the blade tuning mode
Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email ) Change subject: ms: do not set the blade tuning mode .. ms: do not set the blade tuning mode Sophisticated users can export BLADERF_DEFAULT_TUNING_MODE=fpga which reduces the startup time to 1 second, or (default) BLADERF_DEFAULT_TUNING_MODE=host which always works. Defaulting to fpga mode has the unfortunate side effect that the blade can get stuck in a weird invalid mode when supplying wrong parameters that breaks sample streaming until it is power cycled or "reset" by using host tuning once. So, let's do the safe thing, and not default to fpga mode. Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 --- M Transceiver52M/ms/bladerf_specific.h 1 file changed, 19 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/ms/bladerf_specific.h b/Transceiver52M/ms/bladerf_specific.h index e9245d4..57aae75 100644 --- a/Transceiver52M/ms/bladerf_specific.h +++ b/Transceiver52M/ms/bladerf_specific.h @@ -255,7 +255,6 @@ bladerf_log_set_verbosity(BLADERF_LOG_LEVEL_DEBUG); bladerf_set_usb_reset_on_open(true); - setenv("BLADERF_DEFAULT_TUNING_MODE","fpga",1); // ensure blade 2 does not spend 10 seconds initializing host control blade_check(bladerf_open, &dev, ""); if (!dev) { std::cerr << "open failed, device missing?" << std::endl; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 Gerrit-Change-Number: 35761 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged
[M] Change in ...osmo-epdg[master]: Send SAR(DEREGISTRATION) to HSS when all sessions are terminated
Attention is currently required from: lynxis lazus, pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35760?usp=email ) Change subject: Send SAR(DEREGISTRATION) to HSS when all sessions are terminated .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35760?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I62eba8ef916d52964df4135d1031f3950b6818a2 Gerrit-Change-Number: 35760 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Attention: pespin Gerrit-Attention: lynxis lazus Gerrit-Comment-Date: Thu, 01 Feb 2024 12:59:10 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[L] Change in ...osmo-epdg[master]: AAA-Server: Process S6b, SWx requests async through new aaa_ue_fsm
Attention is currently required from: lynxis lazus, pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35759?usp=email ) Change subject: AAA-Server: Process S6b, SWx requests async through new aaa_ue_fsm .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35759?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I78ebda4679d0a2f3ecede94598e74b20c2ff8836 Gerrit-Change-Number: 35759 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Attention: pespin Gerrit-Attention: lynxis lazus Gerrit-Comment-Date: Thu, 01 Feb 2024 12:58:56 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in osmo-trx[master]: ms: do not set the blade tuning mode
Attention is currently required from: Hoernchen, fixeria. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email ) Change subject: ms: do not set the blade tuning mode .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 Gerrit-Change-Number: 35761 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Attention: Hoernchen Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 12:58:29 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in osmo-trx[master]: ms: do not set the blade tuning mode
Attention is currently required from: Hoernchen, fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email ) Change subject: ms: do not set the blade tuning mode .. Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 Gerrit-Change-Number: 35761 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Attention: Hoernchen Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 12:52:37 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[S] Change in osmo-trx[master]: ms: do not set the blade tuning mode
Attention is currently required from: fixeria, pespin. Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email ) Change subject: ms: do not set the blade tuning mode .. Patch Set 2: (1 comment) Commit Message: https://gerrit.osmocom.org/c/osmo-trx/+/35761/comment/507c20d4_13dcab26 PS1, Line 9: Sophisticated users can export BLADERF_DEFAULT_TUNING_MODE=fpga which > One of these two "=fpga" seems wrong in this pargraph? Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 Gerrit-Change-Number: 35761 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Attention: pespin Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 12:22:40 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment
[S] Change in osmo-trx[master]: ms: do not set the blade tuning mode
Attention is currently required from: Hoernchen, fixeria. Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email to look at the new patch set (#2). Change subject: ms: do not set the blade tuning mode .. ms: do not set the blade tuning mode Sophisticated users can export BLADERF_DEFAULT_TUNING_MODE=fpga which reduces the startup time to 1 second, or (default) BLADERF_DEFAULT_TUNING_MODE=host which always works. Defaulting to fpga mode has the unfortunate side effect that the blade can get stuck in a weird invalid mode when supplying wrong parameters that breaks sample streaming until it is power cycled or "reset" by using host tuning once. So, let's do the safe thing, and not default to fpga mode. Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 --- M Transceiver52M/ms/bladerf_specific.h 1 file changed, 19 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/61/35761/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 Gerrit-Change-Number: 35761 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Attention: Hoernchen Gerrit-Attention: fixeria Gerrit-MessageType: newpatchset
[S] Change in osmo-trx[master]: ms: do not set the blade tuning mode
Attention is currently required from: Hoernchen, fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email ) Change subject: ms: do not set the blade tuning mode .. Patch Set 1: (1 comment) Commit Message: https://gerrit.osmocom.org/c/osmo-trx/+/35761/comment/022d443f_8abfbd47 PS1, Line 9: Sophisticated users can export BLADERF_DEFAULT_TUNING_MODE=fpga which One of these two "=fpga" seems wrong in this pargraph? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/35761?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I109f925f07a198d1fb33fe793e91e455fea05a96 Gerrit-Change-Number: 35761 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Attention: Hoernchen Gerrit-Attention: fixeria Gerrit-Comment-Date: Thu, 01 Feb 2024 12:17:11 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
[L] Change in pysim[master]: Introduce GlobalPlatform SCP02 implementation
Attention is currently required from: dexter, fixeria, laforge. Hello Jenkins Builder, dexter, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/35462?usp=email to look at the new patch set (#6). The following approvals got outdated and were removed: Verified-1 by Jenkins Builder Change subject: Introduce GlobalPlatform SCP02 implementation .. Introduce GlobalPlatform SCP02 implementation This implementation of GlobalPlatform SCP02 currently only supports C-MAC and C-ENC, but no R-MAC or R-ENC yet. The patch also introduces the notion of having a SCP instance associated with a SimCardCommands instance. No code is using this yet, it will be introduced in a separate patch. Change-Id: I56020382b9dfe8ba0f7c1c9f71eb1a9746bc5a27 --- M pySim/commands.py M pySim/global_platform/__init__.py A pySim/global_platform/scp02.py A pySim/secure_channel.py A tests/test_globalplatform.py 5 files changed, 345 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/35462/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35462?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I56020382b9dfe8ba0f7c1c9f71eb1a9746bc5a27 Gerrit-Change-Number: 35462 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Attention: laforge Gerrit-Attention: fixeria Gerrit-Attention: dexter Gerrit-MessageType: newpatchset
[M] Change in pysim[master]: Add global_platform shell command establish_scp02 and release_scp
Attention is currently required from: dexter, fixeria. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/35764?usp=email ) Change subject: Add global_platform shell command establish_scp02 and release_scp .. Patch Set 5: (1 comment) Patchset: PS5: one of the problems here is that this code only adds it to the GlobalPlatform SecurityDomain class. I think in reality it might be legal for any application to have its own set of SCP02 keys and hence we should permit the shell commands not just after selecting a security domain. I guess we can leave it for now and solve that at a later point, when the feature is needed. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35764?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2f3c8f0563f81a941dd55b97c9836e3a6856407 Gerrit-Change-Number: 35764 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Attention: fixeria Gerrit-Attention: dexter Gerrit-Comment-Date: Thu, 01 Feb 2024 11:46:37 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
[L] Change in pysim[master]: Introduce GlobalPlatform SCP02 implementation
Attention is currently required from: dexter, fixeria, laforge. Hello Jenkins Builder, dexter, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/35462?usp=email to look at the new patch set (#5). The following approvals got outdated and were removed: Verified-1 by Jenkins Builder Change subject: Introduce GlobalPlatform SCP02 implementation .. Introduce GlobalPlatform SCP02 implementation This implementation of GlobalPlatform SCP02 currently only supports C-MAC and C-ENC, but no R-MAC or R-ENC yet. The patch also introduces the notion of having a SCP instance associated with a SimCardCommands instance. No code is using this yet, it will be introduced in a separate patch. Change-Id: I56020382b9dfe8ba0f7c1c9f71eb1a9746bc5a27 --- M pySim/commands.py M pySim/global_platform/__init__.py A pySim/global_platform/scp02.py A pySim/secure_channel.py A tests/test_globalplatform.py 5 files changed, 345 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/35462/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35462?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I56020382b9dfe8ba0f7c1c9f71eb1a9746bc5a27 Gerrit-Change-Number: 35462 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Attention: laforge Gerrit-Attention: fixeria Gerrit-Attention: dexter Gerrit-MessageType: newpatchset
[M] Change in pysim[master]: Add global_platform shell command establish_scp02 and release_scp
Attention is currently required from: dexter, fixeria, laforge. Hello Jenkins Builder, dexter, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/35764?usp=email to look at the new patch set (#4). The following approvals got outdated and were removed: Verified-1 by Jenkins Builder Change subject: Add global_platform shell command establish_scp02 and release_scp .. Add global_platform shell command establish_scp02 and release_scp Those commands can be used to establish and release a SCP02 secure channel on the currently active logical channel. The prompt is adjusted with a 'SCP02' prefix while the secure channel is established. Change-Id: Ib2f3c8f0563f81a941dd55b97c9836e3a6856407 --- M docs/shell.rst M pySim-shell.py M pySim/global_platform/__init__.py M pySim/global_platform/scp02.py A pySim/secure_channel.py 5 files changed, 120 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/35764/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35764?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2f3c8f0563f81a941dd55b97c9836e3a6856407 Gerrit-Change-Number: 35764 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Attention: laforge Gerrit-Attention: fixeria Gerrit-Attention: dexter Gerrit-MessageType: newpatchset
[M] Change in pysim[master]: commands.py: Wrap the transport send_apdu* methods
Attention is currently required from: dexter, fixeria, laforge. Hello Jenkins Builder, dexter, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/35762?usp=email to look at the new patch set (#3). The following approvals got outdated and were removed: Verified-1 by Jenkins Builder Change subject: commands.py: Wrap the transport send_apdu* methods .. commands.py: Wrap the transport send_apdu* methods Let's not have higher level code directly call the transports send_apdu* methods. We do this as a precursor to introducing secure channel support, where the secure channel driver would add MAC and/or encrypt APDUs before they are sent to the transport. Change-Id: I1b870140959aa8241cda2246e74576390123cb2d --- M pySim-shell.py M pySim/commands.py M pySim/euicc.py M pySim/global_platform.py M pySim/legacy/cards.py M pySim/transport/__init__.py 6 files changed, 135 insertions(+), 104 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/35762/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35762?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1b870140959aa8241cda2246e74576390123cb2d Gerrit-Change-Number: 35762 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Attention: laforge Gerrit-Attention: fixeria Gerrit-Attention: dexter Gerrit-MessageType: newpatchset
[M] Change in pysim[master]: commands.py: Wrap the transport send_apdu* methods
Attention is currently required from: dexter, fixeria, laforge. Hello Jenkins Builder, dexter, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/35762?usp=email to look at the new patch set (#2). The following approvals got outdated and were removed: Verified-1 by Jenkins Builder Change subject: commands.py: Wrap the transport send_apdu* methods .. commands.py: Wrap the transport send_apdu* methods Let's not have higher level code directly call the transports send_apdu* methods. We do this as a precursor to introducing secure channel support, where the secure channel driver would add MAC and/or encrypt APDUs before they are sent to the transport. Change-Id: I1b870140959aa8241cda2246e74576390123cb2d --- M pySim-shell.py M pySim/commands.py M pySim/euicc.py M pySim/global_platform.py M pySim/legacy/cards.py M pySim/transport/__init__.py 6 files changed, 135 insertions(+), 104 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/35762/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35762?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1b870140959aa8241cda2246e74576390123cb2d Gerrit-Change-Number: 35762 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Attention: laforge Gerrit-Attention: fixeria Gerrit-Attention: dexter Gerrit-MessageType: newpatchset
[M] Change in libosmo-abis[master]: Add support for sending and receiving Sa bits, as well as some line s...
Attention is currently required from: dexter, jolly, tnt. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/35563?usp=email ) Change subject: Add support for sending and receiving Sa bits, as well as some line signals .. Patch Set 4: (1 comment) File src/e1_input.c: https://gerrit.osmocom.org/c/libosmo-abis/+/35563/comment/827b8dd5_c8b65a09 PS4, Line 1124: { S_L_INP_LINE_LOF, "LINE-LOF" }, : { S_L_INP_LINE_NOLOF, "LINE-NOLOF" }, > osmo-v5 has been well tested. As I wrote: " As far as I can tell, this would affect libosmo-abis and osmo-v5" -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/35563?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie7643693c2daac99f5747591decd60e982b8052a Gerrit-Change-Number: 35563 Gerrit-PatchSet: 4 Gerrit-Owner: jolly Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: dexter Gerrit-Attention: jolly Gerrit-Attention: tnt Gerrit-Attention: dexter Gerrit-Comment-Date: Thu, 01 Feb 2024 10:47:23 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: jolly Comment-In-Reply-To: laforge Comment-In-Reply-To: tnt Gerrit-MessageType: comment
[M] Change in libosmo-abis[master]: Add support for sending and receiving Sa bits, as well as some line s...
Attention is currently required from: dexter, laforge, tnt. jolly has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/35563?usp=email ) Change subject: Add support for sending and receiving Sa bits, as well as some line signals .. Patch Set 4: (1 comment) File src/e1_input.c: https://gerrit.osmocom.org/c/libosmo-abis/+/35563/comment/9015c2d6_26429b42 PS4, Line 1124: { S_L_INP_LINE_LOF, "LINE-LOF" }, : { S_L_INP_LINE_NOLOF, "LINE-NOLOF" }, > osmo-v5 already supports LOF (latest patch). […] osmo-v5 has been well tested. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/35563?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie7643693c2daac99f5747591decd60e982b8052a Gerrit-Change-Number: 35563 Gerrit-PatchSet: 4 Gerrit-Owner: jolly Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: dexter Gerrit-Attention: laforge Gerrit-Attention: tnt Gerrit-Attention: dexter Gerrit-Comment-Date: Thu, 01 Feb 2024 09:34:12 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: jolly Comment-In-Reply-To: laforge Comment-In-Reply-To: tnt Gerrit-MessageType: comment