lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

July 2023

  • 1 participants
  • 3051 discussions
[S] Change in libosmo-gprs[master]: gmm: Fix typos in test
by pespin 18 Jul '23

18 Jul '23
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33809 ) Change subject: gmm: Fix typos in test ...................................................................... gmm: Fix typos in test The TLLI was wrong (I tooked the one from the Attach Accept msg instead of RAU accept message defined above). Change-Id: I2f7d61c72febad24fde285578e20485a23b8e175 --- M tests/gmm/gmm_prim_test.c 1 file changed, 15 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/09/33809/1 diff --git a/tests/gmm/gmm_prim_test.c b/tests/gmm/gmm_prim_test.c index 27b9336..2297518 100644 --- a/tests/gmm/gmm_prim_test.c +++ b/tests/gmm/gmm_prim_test.c @@ -438,11 +438,11 @@ /* As a result, MS submits GMMREG ATTACH.cnf */ /* Wait for READY timer to expire: */ - clock_override_add(44, 0); /* 44: See GMM Attach Accept (pdu_gmm_att_acc) feed above */ + clock_override_add(44, 0); /* 44: See GMM Attach Accept (pdu_gmm_att_acc) fed above */ clock_debug("Expect T3314 (READY) timeout"); osmo_select_main(0); - clock_override_add(10*60, 0); /* 44: See GMM Attach Accept (pdu_gmm_att_acc) feed above */ + clock_override_add(10*60, 0); /* 10*60: See GMM Attach Accept (pdu_gmm_att_acc) fed above */ clock_debug("Expect T3312 (periodic RAU) timeout"); osmo_select_main(0); @@ -452,7 +452,7 @@ rc = osmo_gprs_gmm_prim_llc_lower_up(llc_prim); OSMO_ASSERT(rc == 0); /* update the used ptmsi to align with what was assigned from the network: */ - ptmsi = 0xea711b41; + ptmsi = 0xec999002; tlli = gprs_tmsi2tlli(ptmsi, TLLI_LOCAL); /* As a result, MS answers GMM RAU Complete */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33809 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: I2f7d61c72febad24fde285578e20485a23b8e175 Gerrit-Change-Number: 33809 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in libosmo-gprs[master]: gmm: Introduce GMMSM-Modify.ind primitive
by pespin 18 Jul '23

18 Jul '23
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33810 ) Change subject: gmm: Introduce GMMSM-Modify.ind primitive ...................................................................... gmm: Introduce GMMSM-Modify.ind primitive TS 24.007 and TS 24.008 seem to lack providing an explicit way to pass information between GMM and SM (GMMSM interface) when a RAU process happens in GMM (rx RAU Accept). This lack of primitive can easily be spotted by looking at TS 24.007 Appending C.15, or even better, at the 3rd page of "C.16(cont’d)" around the "STOP Trams" timer, where the info is magically available in SM when being received at GMM. Change-Id: I81e207d44d88f18f0ee13fb413827606a6f830bc --- M include/osmocom/gprs/gmm/gmm_prim.h M include/osmocom/gprs/gmm/gmm_private.h M src/gmm/gmm.c M src/gmm/gmm_prim.c M tests/gmm/gmm_prim_test.c M tests/gmm/gmm_prim_test.err M tests/gmm/gmm_prim_test.ok 7 files changed, 135 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/10/33810/1 diff --git a/include/osmocom/gprs/gmm/gmm_prim.h b/include/osmocom/gprs/gmm/gmm_prim.h index b774ef8..8a227a4 100644 --- a/include/osmocom/gprs/gmm/gmm_prim.h +++ b/include/osmocom/gprs/gmm/gmm_prim.h @@ -203,6 +203,7 @@ OSMO_GPRS_GMM_GMMSM_ESTABLISH, /* Req, Cnf/Rej */ OSMO_GPRS_GMM_GMMSM_RELEASE, /* Ind */ OSMO_GPRS_GMM_GMMSM_UNITDATA, /* Req, Ind */ + OSMO_GPRS_GMM_GMMSM_MODIFY, /* Ind, osmocom extension */ }; extern const struct value_string osmo_gprs_gmm_gmmsm_prim_type_names[]; static inline const char *osmo_gprs_gmm_gmmsm_prim_type_name(enum osmo_gprs_gmm_gmmsm_prim_type val) @@ -257,6 +258,18 @@ uint8_t *smpdu; uint16_t smpdu_len; } unitdata_ind; + /* OSMO_GPRS_GMM_GMMSM_MODIFY | Ind */ + struct { + /* PLMNs MT-caps, attach-type. */ + uint32_t allocated_ptmsi; + uint32_t allocated_ptmsi_sig; + uint32_t allocated_tlli; + struct gprs_ra_id rai; + uint8_t pdp_ctx_status[2]; /* bitmask TS 24.008 10.5.7.1 */ + bool rx_npdu_numbers_list_present; + uint8_t rx_npdu_numbers_list[17]; /* TS 24.008 10.5.5.11 */ + uint8_t rx_npdu_numbers_list_len; /* bitmask TS 24.008 10.5.5.11 */ + } modify_ind; }; }; diff --git a/include/osmocom/gprs/gmm/gmm_private.h b/include/osmocom/gprs/gmm/gmm_private.h index 46795c8..27f1db4 100644 --- a/include/osmocom/gprs/gmm/gmm_private.h +++ b/include/osmocom/gprs/gmm/gmm_private.h @@ -111,7 +111,7 @@ struct osmo_gprs_gmm_prim *gprs_gmm_prim_alloc_gmmsm_establish_cnf(uint32_t id, uint8_t cause); struct osmo_gprs_gmm_prim *gprs_gmm_prim_alloc_gmmsm_release_ind(uint32_t id); struct osmo_gprs_gmm_prim *gprs_gmm_prim_alloc_gmmsm_unitdata_ind(uint32_t id, uint8_t *smpdu, unsigned int smpdu_len); - +struct osmo_gprs_gmm_prim *gprs_gmm_prim_alloc_gmmsm_modify_ind(uint32_t id); /* gmm.c: */ struct gprs_gmm_entity *gprs_gmm_gmme_alloc(uint32_t ptmsi, const char *imsi); void gprs_gmm_gmme_free(struct gprs_gmm_entity *gmme); @@ -142,6 +142,7 @@ int gprs_gmm_submit_gmmreg_attach_cnf(struct gprs_gmm_entity *gmme, bool accepted, uint8_t cause); int gprs_gmm_submit_gmmsm_establish_cnf(struct gprs_gmm_entity *gmme, bool accepted, uint8_t cause); int gprs_gmm_submit_gmmsm_release_ind(struct gprs_gmm_entity *gmme); +int gprs_gmm_submit_gmmsm_modify_ind(struct gprs_gmm_entity *gmme); int gprs_gmm_submit_llgmm_assing_req(const struct gprs_gmm_entity *gmme); /* misc.c */ diff --git a/src/gmm/gmm.c b/src/gmm/gmm.c index 6eaf461..2fd1a59 100644 --- a/src/gmm/gmm.c +++ b/src/gmm/gmm.c @@ -498,6 +498,28 @@ return rc; } +/* Osmocom specific, see missing primitive in TS 24.007 Annex C.16 around "STOP + * Trams". It is used to propagate TLLI update to SM (and then to SNDCP). */ +int gprs_gmm_submit_gmmsm_modify_ind(struct gprs_gmm_entity *gmme) +{ + struct osmo_gprs_gmm_prim *gmm_prim; + int rc; + + gmm_prim = gprs_gmm_prim_alloc_gmmsm_modify_ind(gmme->sess_id); + gmm_prim->gmmsm.modify_ind.allocated_ptmsi = gmme->ptmsi; + gmm_prim->gmmsm.modify_ind.allocated_ptmsi_sig = gmme->ptmsi_sig; + gmm_prim->gmmsm.modify_ind.allocated_tlli = gmme->tlli; + memcpy(&gmm_prim->gmmsm.modify_ind.rai, &gmme->ra, sizeof(gmme->ra)); + memcpy(&gmm_prim->gmmsm.modify_ind.pdp_ctx_status, &gmme->pdp_ctx_status, sizeof(gmme->pdp_ctx_status)); + gmm_prim->gmmsm.modify_ind.rx_npdu_numbers_list_present = gmme->rx_npdu_numbers_list_present; + gmm_prim->gmmsm.modify_ind.rx_npdu_numbers_list_len = gmme->rx_npdu_numbers_list_len; + if (gmme->rx_npdu_numbers_list_len > 0) + memcpy(&gmm_prim->gmmsm.modify_ind.rx_npdu_numbers_list, &gmme->rx_npdu_numbers_list, gmme->rx_npdu_numbers_list_len); + + rc = gprs_gmm_prim_call_up_cb(gmm_prim); + return rc; +} + static int gprs_gmm_submit_gmmrr_assing_req(struct gprs_gmm_entity *gmme) { struct osmo_gprs_gmm_prim *gmm_prim_tx; @@ -1127,16 +1149,23 @@ /* TODO: lots more Optional IEs */ } - /* Submit LLGMM-ASSIGN-REQ as per TS 24.007 Annex C.1 */ + /* Submit LLGMM-ASSIGN-REQ as per TS 24.007 Annex C.15 */ rc = gprs_gmm_submit_llgmm_assing_req(gmme); if (rc < 0) goto rejected; - /* Submit GMMRR-ASSIGN-REQ as per TS 24.007 Annex C.1 */ + /* Submit GMMRR-ASSIGN-REQ as per TS 24.007 Annex C.15 */ rc = gprs_gmm_submit_gmmrr_assing_req(gmme); if (rc < 0) goto rejected; + /* Submit GMMSM-MODIFY-REQ, see missing primitive in TS 24.007 Annex C.16 around "STOP Trams" */ + if (gmme->sess_id != GPRS_GMM_SESS_ID_UNASSIGNED) { + rc = gprs_gmm_submit_gmmsm_modify_ind(gmme); + if (rc < 0) + goto rejected; + } + rc = gprs_gmm_tx_rau_compl(gmme); if (rc < 0) goto rejected; diff --git a/src/gmm/gmm_prim.c b/src/gmm/gmm_prim.c index 5a35ef2..3beaea8 100644 --- a/src/gmm/gmm_prim.c +++ b/src/gmm/gmm_prim.c @@ -64,6 +64,7 @@ { OSMO_GPRS_GMM_GMMSM_ESTABLISH, "ESTABLISH" }, { OSMO_GPRS_GMM_GMMSM_RELEASE, "RELEASE" }, { OSMO_GPRS_GMM_GMMSM_UNITDATA, "UNITDATA" }, + { OSMO_GPRS_GMM_GMMSM_MODIFY, "MODIFY" }, { 0, NULL } }; @@ -318,6 +319,16 @@ return gmm_prim; } +/* Osmocom specific, see missing primitive in TS 24.007 Annex C.16 around "STOP + * Trams". It is used to propagate TLLI update to SM (and then to SNDCP). */ +struct osmo_gprs_gmm_prim *gprs_gmm_prim_alloc_gmmsm_modify_ind(uint32_t id) +{ + struct osmo_gprs_gmm_prim *gmm_prim; + gmm_prim = gmm_prim_gmmsm_alloc(OSMO_GPRS_GMM_GMMSM_MODIFY, PRIM_OP_INDICATION, 0); + gmm_prim->gmmsm.sess_id = id; + return gmm_prim; +} + /* 3GPP TS 24.007 9.5.1.5 GMMSM-UNITDATA-REQ:*/ struct osmo_gprs_gmm_prim *osmo_gprs_gmm_prim_alloc_gmmsm_unitdata_req(uint32_t id, uint8_t *smpdu, unsigned int smpdu_len) { diff --git a/tests/gmm/gmm_prim_test.c b/tests/gmm/gmm_prim_test.c index 2297518..c33bddc 100644 --- a/tests/gmm/gmm_prim_test.c +++ b/tests/gmm/gmm_prim_test.c @@ -237,10 +237,11 @@ switch (OSMO_PRIM_HDR(&gmm_prim->oph)) { case OSMO_PRIM(OSMO_GPRS_GMM_GMMREG_ATTACH, PRIM_OP_CONFIRM): if (gmm_prim->gmmreg.attach_cnf.accepted) { - printf("%s(): Rx %s accepted=%u allocated_ptmsi=0x%08x allocated_ptmsi_sig=0x%06x\n", __func__, pdu_name, + printf("%s(): Rx %s accepted=%u allocated_ptmsi=0x%08x allocated_ptmsi_sig=0x%06x allocated_tlli=0x%08x\n", __func__, pdu_name, gmm_prim->gmmreg.attach_cnf.accepted, gmm_prim->gmmreg.attach_cnf.acc.allocated_ptmsi, - gmm_prim->gmmreg.attach_cnf.acc.allocated_ptmsi_sig); + gmm_prim->gmmreg.attach_cnf.acc.allocated_ptmsi_sig, + gmm_prim->gmmreg.attach_cnf.acc.allocated_tlli); } else { printf("%s(): Rx %s accepted=%u rej_cause=%u\n", __func__, pdu_name, gmm_prim->gmmreg.attach_cnf.accepted, @@ -298,6 +299,13 @@ printf("%s(): Rx %s sess_id=%u\n", __func__, pdu_name, gmm_prim->gmmsm.sess_id); break; + case OSMO_PRIM(OSMO_GPRS_GMM_GMMSM_MODIFY, PRIM_OP_INDICATION): + printf("%s(): Rx %s sess_id=%u allocated_ptmsi=0x%08x allocated_ptmsi_sig=0x%06x allocated_tlli=0x%08x\n", __func__, pdu_name, + gmm_prim->gmmsm.sess_id, + gmm_prim->gmmsm.modify_ind.allocated_ptmsi, + gmm_prim->gmmsm.modify_ind.allocated_ptmsi_sig, + gmm_prim->gmmsm.modify_ind.allocated_tlli); + break; default: printf("%s(): Unexpected Rx %s\n", __func__, pdu_name); OSMO_ASSERT(0) @@ -510,6 +518,7 @@ uint32_t ptmsi = 0x00001234; uint32_t ptmsi_sig = 0x556677; uint32_t rand_tlli = 0x80001234; + uint32_t tlli; char *imsi = "1234567890"; char *imei = "42342342342342"; char *imeisv = "4234234234234275"; @@ -576,6 +585,27 @@ OSMO_ASSERT(rc == 0); /* As a result, GMM submits GMMSM-UNITDATA.ind */ + /* Wait for READY timer to expire: */ + clock_override_add(44, 0); /* 44: See GMM Attach Accept (pdu_gmm_att_acc) fed above */ + clock_debug("Expect T3314 (READY) timeout"); + osmo_select_main(0); + + clock_override_add(10*60, 0); /* 10*60: See GMM Attach Accept (pdu_gmm_att_acc) fed above */ + clock_debug("Expect T3312 (periodic RAU) timeout"); + osmo_select_main(0); + + /* Network sends GMM RAU Accept */ + llc_prim = gprs_llc_prim_alloc_ll_unitdata_ind(rand_tlli, OSMO_GPRS_LLC_SAPI_GMM, (uint8_t *)pdu_gmm_rau_acc, sizeof(pdu_gmm_rau_acc)); + OSMO_ASSERT(llc_prim); + rc = osmo_gprs_gmm_prim_llc_lower_up(llc_prim); + OSMO_ASSERT(rc == 0); + /* update the used ptmsi to align with what was assigned from the network: */ + ptmsi = 0xec999002; + tlli = gprs_tmsi2tlli(ptmsi, TLLI_LOCAL); + (void)tlli; + /* As a result, GMM submits GMMSM-MODIFY.ind */ + /* As a result, MS answers GMM RAU Complete */ + /* DEACT: TODO */ printf("==== %s() [end] ====\n", __func__); diff --git a/tests/gmm/gmm_prim_test.err b/tests/gmm/gmm_prim_test.err index fa670cf..fa2d2a6 100644 --- a/tests/gmm/gmm_prim_test.err +++ b/tests/gmm/gmm_prim_test.err @@ -82,3 +82,19 @@ DLGLOBAL INFO Rx from lower layers: GMRR-LLC_TRANSMITTED.indication DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) READY timer started (expires in 44 seconds) DLGLOBAL INFO Rx from lower layers: LL-UNITDATA.indication +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) READY timer expired +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) T3312 started (expires in 600 seconds) +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) T3316 (Delete stored RAND & SRES timer) expired +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) T3312 Periodic RAU timer expired +DLGLOBAL INFO GMM_MS{Registered}: Received Event RAU_REQUESTED +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) Tx GMM RAU REQUEST +DLGLOBAL INFO Rx from lower layers: GMRR-LLC_TRANSMITTED.indication +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) READY timer started (expires in 44 seconds) +DLGLOBAL INFO GMM_MS{Registered}: state_chg to RAUInitidated +DLGLOBAL INFO Rx from lower layers: LL-UNITDATA.indication +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ea711b41:TLLI-ea711b41) Rx GMM RAU ACCEPT upd_result=0x00 +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ec999002:TLLI-ec999002) Tx GMM RAU COMPL +DLGLOBAL INFO Rx from lower layers: GMRR-LLC_TRANSMITTED.indication +DLGLOBAL INFO GMME(IMSI-1234567890:PTMSI-ec999002:TLLI-ec999002) READY timer started (expires in 10 seconds) +DLGLOBAL INFO GMM_MS{RAUInitidated}: Received Event RAU_ACCEPTED +DLGLOBAL INFO GMM_MS{RAUInitidated}: state_chg to Registered diff --git a/tests/gmm/gmm_prim_test.ok b/tests/gmm/gmm_prim_test.ok index 6cf672a..62c58e3 100644 --- a/tests/gmm/gmm_prim_test.ok +++ b/tests/gmm/gmm_prim_test.ok @@ -8,7 +8,7 @@ test_gmm_prim_llc_down_cb(): Rx LLGMM-ASSIGN.request old_TLLI=0x80001234 new_TLLI=0xea711b41 test_gmm_prim_down_cb(): Rx GMRR-ASSIGN.request old_tlli=0x80001234 new_tlli=0xea711b41 test_gmm_prim_llc_down_cb(): Rx LL-UNITDATA.request TLLI=0xea711b41 SAPI=GMM l3=[08 03 ] -test_gmm_prim_up_cb(): Rx GMMREG-ATTACH.confirm accepted=1 allocated_ptmsi=0xea711b41 allocated_ptmsi_sig=0xffffffff +test_gmm_prim_up_cb(): Rx GMMREG-ATTACH.confirm accepted=1 allocated_ptmsi=0xea711b41 allocated_ptmsi_sig=0xffffffff allocated_tlli=0xea711b41 sys={44.000000}, mono={44.000000}: clock_override_add sys={44.000000}, mono={44.000000}: Expect T3314 (READY) timeout sys={644.000000}, mono={644.000000}: clock_override_add @@ -37,4 +37,15 @@ test_gmm_prim_up_cb(): Rx GMMSM-ESTABLISH.confirm sess_id=1234 accepted test_gmm_prim_llc_down_cb(): Rx LL-UNITDATA.request TLLI=0xea711b41 SAPI=GMM l3=[0a 28 29 30 ] test_gmm_prim_up_cb(): Rx GMMSM-UNITDATA.indication sess_id=1234 sm_pdu=0a 28 29 30 +sys={44.000000}, mono={44.000000}: clock_override_add +sys={44.000000}, mono={44.000000}: Expect T3314 (READY) timeout +sys={644.000000}, mono={644.000000}: clock_override_add +sys={644.000000}, mono={644.000000}: Expect T3312 (periodic RAU) timeout +test_gmm_prim_llc_down_cb(): Rx LLGMM-SUSPEND.request TLLI=0xea711b41 +test_gmm_prim_llc_down_cb(): Rx LL-UNITDATA.request TLLI=0xea711b41 SAPI=GMM l3=[08 08 03 32 f4 07 00 05 00 00 17 16 0a 00 e5 02 00 00 e1 ] +test_gmm_prim_llc_down_cb(): Rx LLGMM-ASSIGN.request old_TLLI=0xea711b41 new_TLLI=0xec999002 +test_gmm_prim_down_cb(): Rx GMRR-ASSIGN.request old_tlli=0xea711b41 new_tlli=0xec999002 +test_gmm_prim_up_cb(): Rx GMMSM-MODIFY.indication sess_id=1234 allocated_ptmsi=0xec999002 allocated_ptmsi_sig=0xffffffff allocated_tlli=0xec999002 +test_gmm_prim_llc_down_cb(): Rx LL-UNITDATA.request TLLI=0xec999002 SAPI=GMM l3=[08 0a ] +test_gmm_prim_llc_down_cb(): Rx LLGMM-RESUME.request TLLI=0xec999002 ==== test_gmm_prim_ms_gmmsm() [end] ==== -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: I81e207d44d88f18f0ee13fb413827606a6f830bc Gerrit-Change-Number: 33810 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in openbsc[master]: configure.ac: migrate from python2 to python3
by laforge 18 Jul '23

18 Jul '23
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/33769 ) Change subject: configure.ac: migrate from python2 to python3 ...................................................................... Patch Set 1: (1 comment) Patchset: PS1: you forgot to un-archive, push and re-archive the gitea repo. did that now. -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/33769 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I052c59dcc21b8e1dd4a3460cf8af9ccbeed6de5b Gerrit-Change-Number: 33769 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Comment-Date: Tue, 18 Jul 2023 16:05:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[S] Change in libosmo-gprs[master]: gmm: Store received PDP Ctx Status and List of Receive N-PDU Numbers
by pespin 18 Jul '23

18 Jul '23
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/33808 ) Change subject: gmm: Store received PDP Ctx Status and List of Receive N-PDU Numbers ...................................................................... gmm: Store received PDP Ctx Status and List of Receive N-PDU Numbers Those IEs are aimed at upper layers (SM, SNDCP) and will be relayed in follow-up patches. Change-Id: I3a43b5e0417796f7dce4010cd6a6d3fd2d9c543e --- M include/osmocom/gprs/gmm/gmm_private.h M src/gmm/gmm.c M src/gmm/gmm_pdu.c 3 files changed, 30 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/08/33808/1 diff --git a/include/osmocom/gprs/gmm/gmm_private.h b/include/osmocom/gprs/gmm/gmm_private.h index 66ea8d7..46795c8 100644 --- a/include/osmocom/gprs/gmm/gmm_private.h +++ b/include/osmocom/gprs/gmm/gmm_private.h @@ -66,6 +66,10 @@ uint8_t radio_prio; /* TS 24.008 10.5.7.2 */ struct gprs_ra_id ra; /* TS 24.008 10.5.5.15 (decoded) */ + uint8_t pdp_ctx_status[2]; /* TS 24.008 10.5.7.1 */ + bool rx_npdu_numbers_list_present; + uint8_t rx_npdu_numbers_list[17]; /* TS 24.008 10.5.5.11 */ + uint8_t rx_npdu_numbers_list_len; /* bitmask TS 24.008 10.5.5.11 */ struct { /* Input params received from network: */ diff --git a/src/gmm/gmm.c b/src/gmm/gmm.c index 8a293a3..6eaf461 100644 --- a/src/gmm/gmm.c +++ b/src/gmm/gmm.c @@ -1084,7 +1084,17 @@ /* TODO: */ } - /* 10.5.5.11 List of Receive N-PDU Numbers: TODO */ + /* 10.5.5.11 List of Receive N-PDU Numbers: */ + if (TLVP_PRES_LEN(&tp, GSM48_IE_GMM_RX_NPDU_NUM_LIST, 2)) { + unsigned int ie_len = TLVP_LEN(&tp, GSM48_IE_GMM_RX_NPDU_NUM_LIST); + if (ie_len > sizeof(gmme->rx_npdu_numbers_list)) + ie_len = sizeof(gmme->rx_npdu_numbers_list); + gmme->rx_npdu_numbers_list_present = true; + gmme->rx_npdu_numbers_list_len = ie_len; + memcpy(gmme->rx_npdu_numbers_list, TLVP_VAL(&tp, GSM48_IE_GMM_RX_NPDU_NUM_LIST), ie_len); + } else { + gmme->rx_npdu_numbers_list_present = false; + } /* 10.5.7.3 Negotiated READY timer value */ if (TLVP_PRESENT(&tp, GSM48_IE_GMM_TIMER_READY)) { @@ -1111,6 +1121,8 @@ /* 10.5.1.13 Equivalent PLMNs: TODO */ /* 10.5.7.1 PDP context status: TODO */ + if (TLVP_PRES_LEN(&tp, GSM48_IE_GMM_PDP_CTX_STATUS, 2)) + memcpy(gmme->pdp_ctx_status, TLVP_VAL(&tp, GSM48_IE_GMM_PDP_CTX_STATUS), 2); /* TODO: lots more Optional IEs */ } diff --git a/src/gmm/gmm_pdu.c b/src/gmm/gmm_pdu.c index 7c83ac5..27c06fd 100644 --- a/src/gmm/gmm_pdu.c +++ b/src/gmm/gmm_pdu.c @@ -142,6 +142,7 @@ [GSM48_IE_GMM_TIMER_T3302] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_AUTH_FAIL_PAR] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_IMEISV] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GMM_RX_NPDU_NUM_LIST] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_DRX_PARAM] = { TLV_TYPE_FIXED, 2 }, [GSM48_IE_GMM_MS_NET_CAPA] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_PDP_CTX_STATUS] = { TLV_TYPE_TLV, 0 }, -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/33808 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: I3a43b5e0417796f7dce4010cd6a6d3fd2d9c543e Gerrit-Change-Number: 33808 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in osmo-sgsn[master]: gmm: Add missing GSM48_IE_GMM_RX_NPDU_NUM_LIST IE in gsm48_gmm_att_tl...
by pespin 18 Jul '23

18 Jul '23
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/33807 ) Change subject: gmm: Add missing GSM48_IE_GMM_RX_NPDU_NUM_LIST IE in gsm48_gmm_att_tlvdef ...................................................................... gmm: Add missing GSM48_IE_GMM_RX_NPDU_NUM_LIST IE in gsm48_gmm_att_tlvdef Depends: libosmocore.git Change-Id Ifac09653141758af345efe2eb9cef25ebf4dcff9 Change-Id: I5b43384407b1c9c33790cae9c48c2816213578e6 --- M TODO-RELEASE M src/sgsn/gprs_gmm.c 2 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/07/33807/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 1c5d61f..b095d99 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1 +1,2 @@ #component what description / commit summary line +libosmcoore >1.8.0 use GSM48_IE_GMM_RX_NPDU_NUM_LIST \ No newline at end of file diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 3cc3055..c3f5cd3 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -79,6 +79,7 @@ [GSM48_IE_GMM_AUTH_RES_EXT] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_AUTH_FAIL_PAR] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_IMEISV] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GMM_RX_NPDU_NUM_LIST] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_DRX_PARAM] = { TLV_TYPE_FIXED, 2 }, [GSM48_IE_GMM_MS_NET_CAPA] = { TLV_TYPE_TLV, 0 }, [GSM48_IE_GMM_PDP_CTX_STATUS] = { TLV_TYPE_TLV, 0 }, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/33807 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5b43384407b1c9c33790cae9c48c2816213578e6 Gerrit-Change-Number: 33807 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in libosmocore[master]: gsm: Add missing IE definition for GMM Receive N-PDU Number list
by pespin 18 Jul '23

18 Jul '23
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/33806 ) Change subject: gsm: Add missing IE definition for GMM Receive N-PDU Number list ...................................................................... gsm: Add missing IE definition for GMM Receive N-PDU Number list Change-Id: Ifac09653141758af345efe2eb9cef25ebf4dcff9 --- M include/osmocom/gsm/protocol/gsm_04_08_gprs.h 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/33806/1 diff --git a/include/osmocom/gsm/protocol/gsm_04_08_gprs.h b/include/osmocom/gsm/protocol/gsm_04_08_gprs.h index 65dc233..8799d65 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08_gprs.h +++ b/include/osmocom/gsm/protocol/gsm_04_08_gprs.h @@ -91,6 +91,7 @@ GSM48_IE_GMM_AUTH_SRES = 0x22, /* 10.5.3.2 */ GSM48_IE_GMM_IMEISV = 0x23, /* 10.5.1.4 */ GSM48_IE_GMM_CAUSE = 0x25, /* 10.5.5.14 */ + GSM48_IE_GMM_RX_NPDU_NUM_LIST = 0x26, /* 10.5.5.11 */ GSM48_IE_GMM_DRX_PARAM = 0x27, /* 10.5.5.6 */ GSM48_IE_GMM_AUTN = 0x28, /* 10.5.3.1.1 */ GSM48_IE_GMM_AUTH_RES_EXT = 0x29, /* 10.5.3.2.1 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/33806 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifac09653141758af345efe2eb9cef25ebf4dcff9 Gerrit-Change-Number: 33806 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in docker-playground[master]: open5gs-master: use DISTRO variable
by osmith 18 Jul '23

18 Jul '23
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/33805 ) Change subject: open5gs-master: use DISTRO variable ...................................................................... open5gs-master: use DISTRO variable Instead of hardcoding bullseye, use the DISTRO variable so it now defaults to bookworm. Related: OS#6057 Change-Id: Ia392de80ee1f0844563f08a6dc775678ef6b263f --- M open5gs-master/Dockerfile 1 file changed, 15 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/05/33805/1 diff --git a/open5gs-master/Dockerfile b/open5gs-master/Dockerfile index 878c655..23ba38b 100644 --- a/open5gs-master/Dockerfile +++ b/open5gs-master/Dockerfile @@ -1,7 +1,7 @@ ARG REGISTRY=docker.io ARG USER -FROM $USER/debian-bullseye-build - +ARG DISTRO +FROM $USER/$DISTRO-build RUN apt-get update && \ apt-get upgrade -y && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/33805 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia392de80ee1f0844563f08a6dc775678ef6b263f Gerrit-Change-Number: 33805 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in simtrace2[master]: Fix unchecked return value of osmo_libusb_init()
by laforge 18 Jul '23

18 Jul '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/33792 ) Change subject: Fix unchecked return value of osmo_libusb_init() ...................................................................... Fix unchecked return value of osmo_libusb_init() Fixes: CID#307501: Unchecked return value (CHECKED_RETURN) Change-Id: Ic1f600dfd44d15da165a17d84f0faab6f6fd69c3 --- M host/src/simtrace2_usb.c 1 file changed, 11 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/host/src/simtrace2_usb.c b/host/src/simtrace2_usb.c index 8ebc4f7..b329ead 100644 --- a/host/src/simtrace2_usb.c +++ b/host/src/simtrace2_usb.c @@ -78,7 +78,7 @@ int main(int argc, char **argv) { osmo_init_logging2(NULL, &log_info); - osmo_libusb_init(NULL); + OSMO_ASSERT(osmo_libusb_init(NULL) == 0); find_devices(); return 0; } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/33792 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic1f600dfd44d15da165a17d84f0faab6f6fd69c3 Gerrit-Change-Number: 33792 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-e1-recorder[master]: e1_recorder: Fix potential null-dereference
by laforge 18 Jul '23

18 Jul '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/33789 ) Change subject: e1_recorder: Fix potential null-dereference ...................................................................... e1_recorder: Fix potential null-dereference Fixes: CID#307523: Dereference null return value (NULL_RETURNS) Change-Id: I481f0695f971f5cd2e77b8c9c62d423a70e0840d --- M src/e1_recorder.c 1 file changed, 11 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/src/e1_recorder.c b/src/e1_recorder.c index 996ede4..cc21bc0 100644 --- a/src/e1_recorder.c +++ b/src/e1_recorder.c @@ -77,6 +77,7 @@ if (rline->mirror.enabled) { struct e1inp_line *other_line = e1inp_line_find(rline->mirror.line_nr); + OSMO_ASSERT(other_line); struct e1inp_ts *other_ts; other_ts = &other_line->ts[ts->num-1]; if (!other_ts) { -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/33789 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I481f0695f971f5cd2e77b8c9c62d423a70e0840d Gerrit-Change-Number: 33789 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-e1d[master]: Check return code of fcntl() in several plaaces
by laforge 18 Jul '23

18 Jul '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/33782 ) Change subject: Check return code of fcntl() in several plaaces ...................................................................... Check return code of fcntl() in several plaaces Fixes: CID#307539, CID#307533 Change-Id: I46843174eb4699a59421dc3f3b900a3894c67081 --- M src/ctl.c M src/proto_clnt.c 2 files changed, 33 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/ctl.c b/src/ctl.c index 54d37c5..8ed4a69 100644 --- a/src/ctl.c +++ b/src/ctl.c @@ -163,9 +163,20 @@ } int flags = fcntl(ts->fd, F_GETFL); - fcntl(ts->fd, F_SETFL, flags | O_NONBLOCK); + if (flags < 0) + goto out_err; + + ret = fcntl(ts->fd, F_SETFL, flags | O_NONBLOCK); + if (ret < 0) + goto out_err; return sd[1]; +out_err: + close(sd[0]); + close(sd[1]); + ts->fd = -1; + ts->mode = E1_TS_MODE_OFF; + return -1; } diff --git a/src/proto_clnt.c b/src/proto_clnt.c index 6c59593..93853e9 100644 --- a/src/proto_clnt.c +++ b/src/proto_clnt.c @@ -189,7 +189,12 @@ /* Response */ int flags = fcntl(clnt->ctl_fd.fd, F_GETFL, 0); - fcntl(clnt->ctl_fd.fd, F_SETFL, flags & ~O_NONBLOCK); + if (flags < 0) + return -EIO; + + rc = fcntl(clnt->ctl_fd.fd, F_SETFL, flags & ~O_NONBLOCK); + if (rc < 0) + goto err; while (1) { fd = -1; @@ -207,7 +212,11 @@ msgb_free(msgb); } - fcntl(clnt->ctl_fd.fd, F_SETFL, flags); + rc = fcntl(clnt->ctl_fd.fd, F_SETFL, flags); + if (rc < 0) { + rc = -EIO; + goto err; + } if (msg_hdr->type != (hdr->type | E1DP_RESP_TYPE)) { rc = -EPIPE; -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/33782 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I46843174eb4699a59421dc3f3b900a3894c67081 Gerrit-Change-Number: 33782 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: tnt <tnt(a)246tNt.com> Gerrit-MessageType: merged
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • ...
  • 306
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.