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

March 2023

  • 1 participants
  • 3642 discussions
[S] Change in osmocom-bb[master]: trxcon: do not crash on receipt of 8-PSK modulated bursts
by fixeria 07 Mar '23

07 Mar '23
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/31739 ) Change subject: trxcon: do not crash on receipt of 8-PSK modulated bursts ...................................................................... trxcon: do not crash on receipt of 8-PSK modulated bursts TRXDv0 PDUs may have 2 additional dummy bytes at the end. Such a PDU will crash trxcon if it contains an 8-PSK modulated burst: Assert failed phybi->burst_len <= sizeof(bi.burst) In this case phybi->burst_len would be 444 + 2, while size of the burst buffer in struct l1sched_burst_ind is limited to the length of an 8-PSK modulated burst (444). Change-Id: Icfba986ccf0c696ba019b91575b4d69db001c14f --- M src/host/trxcon/src/trx_if.c 1 file changed, 37 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/39/31739/1 diff --git a/src/host/trxcon/src/trx_if.c b/src/host/trxcon/src/trx_if.c index 50c5c89..330fd62 100644 --- a/src/host/trxcon/src/trx_if.c +++ b/src/host/trxcon/src/trx_if.c @@ -645,9 +645,9 @@ return read_len; } - if (read_len < (TRXDv0_HDR_LEN + GSM_NBITS_NB_GMSK_BURST)) { + if (read_len < TRXDv0_HDR_LEN) { LOGPFSMSL(trx->fi, DTRXD, LOGL_ERROR, - "Got data message with invalid length '%zd'\n", read_len); + "Got malformed TRXD PDU (short length=%zd)\n", read_len); return -EINVAL; } @@ -657,6 +657,22 @@ return -ENOTSUP; } + read_len -= TRXDv0_HDR_LEN; + switch (read_len) { + /* TRXDv0 PDUs may have 2 dummy bytes at the end */ + case GSM_NBITS_NB_GMSK_BURST + 2: + case GSM_NBITS_NB_8PSK_BURST + 2: + read_len -= 2; + break; + case GSM_NBITS_NB_GMSK_BURST: + case GSM_NBITS_NB_8PSK_BURST: + break; + default: + LOGPFSMSL(trx->fi, DTRXD, LOGL_ERROR, + "Got TRXD PDU unexpected burst length=%zd\n", read_len); + return -EINVAL; + } + burst = (sbit_t *)&buf[8]; bi = (struct trxcon_phyif_burst_ind) { @@ -665,7 +681,7 @@ .rssi = -(int8_t) buf[5], .toa256 = (int16_t) (buf[6] << 8) | buf[7], .burst = burst, /* at least GSM_NBITS_NB_GMSK_BURST */ - .burst_len = read_len - TRXDv0_HDR_LEN, + .burst_len = read_len, }; /* Convert ubits {254..0} to sbits {-127..127} in-place */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/31739 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icfba986ccf0c696ba019b91575b4d69db001c14f Gerrit-Change-Number: 31739 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmocom-bb[master]: trxcon: use 3GPP TS 45.002 definitions from libosmogsm
by fixeria 07 Mar '23

07 Mar '23
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/31738 ) Change subject: trxcon: use 3GPP TS 45.002 definitions from libosmogsm ...................................................................... trxcon: use 3GPP TS 45.002 definitions from libosmogsm Change-Id: Ieb3b502e1e5432e425a55c1217211b77e9ca91c9 Depends: libosmocore.git I1c38ccc2b64ba9046bb3b1221d99cc55ec493802 --- M src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h M src/host/trxcon/src/sched_lchan_desc.c M src/host/trxcon/src/sched_lchan_pdtch.c M src/host/trxcon/src/sched_lchan_rach.c M src/host/trxcon/src/sched_lchan_tchf.c M src/host/trxcon/src/sched_lchan_tchh.c M src/host/trxcon/src/sched_lchan_xcch.c M src/host/trxcon/src/sched_trx.c M src/host/trxcon/src/trx_if.c 9 files changed, 59 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/38/31738/1 diff --git a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h index 0ea1ba0..84695fe 100644 --- a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h +++ b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h @@ -14,12 +14,6 @@ #include <osmocom/core/linuxlist.h> #include <osmocom/core/timer.h> -#define GSM_BURST_LEN 148 -#define GSM_BURST_PL_LEN 116 - -#define GPRS_BURST_LEN GSM_BURST_LEN -#define EDGE_BURST_LEN 444 - #define GPRS_L2_MAX_LEN 54 #define EDGE_L2_MAX_LEN 155 @@ -141,7 +135,7 @@ /* Internally used by the scheduler */ uint8_t bid; - ubit_t burst[EDGE_BURST_LEN]; + ubit_t burst[GSM_NBITS_NB_8PSK_BURST]; size_t burst_len; }; @@ -158,7 +152,7 @@ /* Internally used by the scheduler */ uint8_t bid; - sbit_t burst[EDGE_BURST_LEN]; + sbit_t burst[GSM_NBITS_NB_8PSK_BURST]; size_t burst_len; }; diff --git a/src/host/trxcon/src/sched_lchan_desc.c b/src/host/trxcon/src/sched_lchan_desc.c index cb1a431..e5f85b4 100644 --- a/src/host/trxcon/src/sched_lchan_desc.c +++ b/src/host/trxcon/src/sched_lchan_desc.c @@ -90,7 +90,7 @@ /* Rx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), * regular interleaving (3GPP TS 05.02, clause 7, table 3): * a L2 frame is interleaved over 4 consecutive bursts. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_AUTO, .rx_fn = rx_data_fn, }, @@ -113,7 +113,7 @@ /* Rx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), * regular interleaving (3GPP TS 05.02, clause 7, table 3): * a L2 frame is interleaved over 4 consecutive bursts. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_AUTO, .rx_fn = rx_data_fn, }, @@ -135,7 +135,7 @@ * * The MS shall continuously transmit bursts, even if there is nothing * to send, unless DTX (Discontinuous Transmission) is used. */ - .burst_buf_size = 8 * GSM_BURST_PL_LEN, + .burst_buf_size = 8 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_tchf_fn, .tx_fn = tx_tchf_fn, @@ -164,7 +164,7 @@ * * The MS shall continuously transmit bursts, even if there is nothing * to send, unless DTX (Discontinuous Transmission) is used. */ - .burst_buf_size = 6 * GSM_BURST_PL_LEN, + .burst_buf_size = 6 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_tchh_fn, .tx_fn = tx_tchh_fn, @@ -178,7 +178,7 @@ .ss_nr = 1, /* Same as for L1SCHED_TCHH_0, see above. */ - .burst_buf_size = 6 * GSM_BURST_PL_LEN, + .burst_buf_size = 6 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_tchh_fn, .tx_fn = tx_tchh_fn, @@ -192,7 +192,7 @@ .ss_nr = 0, /* Same as for L1SCHED_BCCH (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -206,7 +206,7 @@ .ss_nr = 1, /* Same as for L1SCHED_BCCH (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -220,7 +220,7 @@ .ss_nr = 2, /* Same as for L1SCHED_BCCH (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -234,7 +234,7 @@ .ss_nr = 3, /* Same as for L1SCHED_BCCH (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -248,7 +248,7 @@ .ss_nr = 0, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -262,7 +262,7 @@ .ss_nr = 1, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -276,7 +276,7 @@ .ss_nr = 2, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -290,7 +290,7 @@ .ss_nr = 3, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -304,7 +304,7 @@ .ss_nr = 4, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -318,7 +318,7 @@ .ss_nr = 5, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -332,7 +332,7 @@ .ss_nr = 6, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -346,7 +346,7 @@ .ss_nr = 7, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -359,7 +359,7 @@ .link_id = L1SCHED_CH_LID_SACCH, /* Same as for L1SCHED_BCCH (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -373,7 +373,7 @@ .ss_nr = 0, /* Same as for L1SCHED_BCCH (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -387,7 +387,7 @@ .ss_nr = 1, /* Same as for L1SCHED_BCCH (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -401,7 +401,7 @@ .ss_nr = 0, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -415,7 +415,7 @@ .ss_nr = 1, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -429,7 +429,7 @@ .ss_nr = 2, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -443,7 +443,7 @@ .ss_nr = 3, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH4_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -457,7 +457,7 @@ .ss_nr = 0, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -471,7 +471,7 @@ .ss_nr = 1, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -485,7 +485,7 @@ .ss_nr = 2, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -499,7 +499,7 @@ .ss_nr = 3, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -513,7 +513,7 @@ .ss_nr = 4, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -527,7 +527,7 @@ .ss_nr = 5, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -541,7 +541,7 @@ .ss_nr = 6, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -555,7 +555,7 @@ .ss_nr = 7, /* Same as for L1SCHED_BCCH and L1SCHED_SDCCH8_* (xCCH), see above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_CBTX, .rx_fn = rx_data_fn, .tx_fn = tx_data_fn, @@ -570,7 +570,7 @@ * 05.03, chapter 5), regular interleaving as specified for xCCH. * NOTE: the burst buffer is three times bigger because the * payload of EDGE bursts is three times longer. */ - .burst_buf_size = 3 * 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_8PSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_PDCH, .rx_fn = rx_pdtch_fn, .tx_fn = tx_pdtch_fn, @@ -587,7 +587,7 @@ * transfer mode. On Downlink, the network sends timing advance * updates for several mobile stations. The coding scheme used * for PTCCH/D messages is the same as for PDTCH CS-1. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_PDCH, .rx_fn = rx_pdtch_fn, .tx_fn = tx_rach_fn, @@ -600,7 +600,7 @@ .ss_nr = 2, /* Same as for L1SCHED_BCCH (xCCH), but Rx only. See above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = L1SCHED_CH_FLAG_AUTO, .rx_fn = rx_data_fn, }, @@ -612,7 +612,7 @@ .ss_nr = 2, /* Same as for L1SCHED_BCCH (xCCH), but Rx only. See above. */ - .burst_buf_size = 4 * GSM_BURST_PL_LEN, + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rx_fn = rx_data_fn, }, }; diff --git a/src/host/trxcon/src/sched_lchan_pdtch.c b/src/host/trxcon/src/sched_lchan_pdtch.c index 2951c86..a518d72 100644 --- a/src/host/trxcon/src/sched_lchan_pdtch.c +++ b/src/host/trxcon/src/sched_lchan_pdtch.c @@ -152,7 +152,7 @@ memcpy(br->burst + 61, tsc, 26); /* TSC */ memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ memset(br->burst + 145, 0, 3); /* TB */ - br->burst_len = GSM_BURST_LEN; + br->burst_len = GSM_NBITS_NB_GMSK_BURST; LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled at fn=%u burst=%u\n", br->fn, br->bid); diff --git a/src/host/trxcon/src/sched_lchan_rach.c b/src/host/trxcon/src/sched_lchan_rach.c index 8fd7fcc..e59c97d 100644 --- a/src/host/trxcon/src/sched_lchan_rach.c +++ b/src/host/trxcon/src/sched_lchan_rach.c @@ -143,8 +143,8 @@ burst_ptr += RACH_PAYLOAD_LEN; /* BN85-156: tail bits & extended guard period */ - memset(burst_ptr, 0, br->burst + GSM_BURST_LEN - burst_ptr); - br->burst_len = GSM_BURST_LEN; + memset(burst_ptr, 0, br->burst + GSM_NBITS_NB_GMSK_BURST - burst_ptr); + br->burst_len = GSM_NBITS_NB_GMSK_BURST; LOGP_LCHAND(lchan, LOGL_NOTICE, "Scheduled %s-bit RACH (%s) at fn=%u\n", L1SCHED_PRIM_IS_RACH11(lchan->prim) ? "11" : "8", diff --git a/src/host/trxcon/src/sched_lchan_tchf.c b/src/host/trxcon/src/sched_lchan_tchf.c index eed1c8a..af7695b 100644 --- a/src/host/trxcon/src/sched_lchan_tchf.c +++ b/src/host/trxcon/src/sched_lchan_tchf.c @@ -350,7 +350,7 @@ memcpy(br->burst + 61, tsc, 26); /* TSC */ memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ memset(br->burst + 145, 0, 3); /* TB */ - br->burst_len = GSM_BURST_LEN; + br->burst_len = GSM_NBITS_NB_GMSK_BURST; LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled fn=%u burst=%u\n", br->fn, br->bid); diff --git a/src/host/trxcon/src/sched_lchan_tchh.c b/src/host/trxcon/src/sched_lchan_tchh.c index 963b2d4..bebd6e3 100644 --- a/src/host/trxcon/src/sched_lchan_tchh.c +++ b/src/host/trxcon/src/sched_lchan_tchh.c @@ -570,7 +570,7 @@ memcpy(br->burst + 61, tsc, 26); /* TSC */ memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ memset(br->burst + 145, 0, 3); /* TB */ - br->burst_len = GSM_BURST_LEN; + br->burst_len = GSM_NBITS_NB_GMSK_BURST; LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled fn=%u burst=%u\n", br->fn, br->bid); diff --git a/src/host/trxcon/src/sched_lchan_xcch.c b/src/host/trxcon/src/sched_lchan_xcch.c index aff4220..0f47ffe 100644 --- a/src/host/trxcon/src/sched_lchan_xcch.c +++ b/src/host/trxcon/src/sched_lchan_xcch.c @@ -158,7 +158,7 @@ memcpy(br->burst + 61, tsc, 26); /* TSC */ memcpy(br->burst + 87, offset + 58, 58); /* Payload 2/2 */ memset(br->burst + 145, 0, 3); /* TB */ - br->burst_len = GSM_BURST_LEN; + br->burst_len = GSM_NBITS_NB_GMSK_BURST; LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled fn=%u burst=%u\n", br->fn, br->bid); diff --git a/src/host/trxcon/src/sched_trx.c b/src/host/trxcon/src/sched_trx.c index 267f128..ac55f92 100644 --- a/src/host/trxcon/src/sched_trx.c +++ b/src/host/trxcon/src/sched_trx.c @@ -736,7 +736,7 @@ .toa256 = 0, .rssi = -120, .burst = { 0 }, - .burst_len = GSM_BURST_LEN, + .burst_len = GSM_NBITS_NB_GMSK_BURST, }; /* Traverse from fp till the current frame */ diff --git a/src/host/trxcon/src/trx_if.c b/src/host/trxcon/src/trx_if.c index 078f71b..50c5c89 100644 --- a/src/host/trxcon/src/trx_if.c +++ b/src/host/trxcon/src/trx_if.c @@ -39,12 +39,12 @@ #include <osmocom/core/fsm.h> #include <osmocom/gsm/gsm_utils.h> +#include <osmocom/gsm/gsm0502.h> #include <osmocom/bb/trxcon/trx_if.h> #include <osmocom/bb/trxcon/logging.h> #define TRXDv0_HDR_LEN 8 -#define GMSK_BURST_LEN 148 #define S(x) (1 << (x)) @@ -645,7 +645,7 @@ return read_len; } - if (read_len < (TRXDv0_HDR_LEN + GMSK_BURST_LEN)) { + if (read_len < (TRXDv0_HDR_LEN + GSM_NBITS_NB_GMSK_BURST)) { LOGPFSMSL(trx->fi, DTRXD, LOGL_ERROR, "Got data message with invalid length '%zd'\n", read_len); return -EINVAL; @@ -664,7 +664,7 @@ .fn = osmo_load32be(buf + 1), .rssi = -(int8_t) buf[5], .toa256 = (int16_t) (buf[6] << 8) | buf[7], - .burst = burst, /* at least GMSK_BURST_LEN */ + .burst = burst, /* at least GSM_NBITS_NB_GMSK_BURST */ .burst_len = read_len - TRXDv0_HDR_LEN, }; @@ -676,7 +676,7 @@ burst[i] = 127 - buf[8 + i]; } - if (bi.fn >= 2715648) { + if (bi.fn >= GSM_TDMA_HYPERFRAME) { LOGPFSMSL(trx->fi, DTRXD, LOGL_ERROR, "Illegal FN %u\n", bi.fn); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/31738 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ieb3b502e1e5432e425a55c1217211b77e9ca91c9 Gerrit-Change-Number: 31738 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[XL] Change in osmo-pcu[master]: support for Ericsson RBS E1 CCU
by fixeria 07 Mar '23

07 Mar '23
Attention is currently required from: neels, laforge, dexter. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/31176 ) Change subject: support for Ericsson RBS E1 CCU ...................................................................... Patch Set 27: (1 comment) File contrib/jenkins.sh: https://gerrit.osmocom.org/c/osmo-pcu/+/31176/comment/99d6b6d9_ef30c694 PS24, Line 59: PCU_CONFIG="$PCU_CONFIG --enable-werror --enable-sanitize" > The echo above says explicitly "Direct DSP access disabled, sanitizer enabled" are we sure we want t […] We definitely want to be sure that the new code is passing build verification on Jenkins. Not sure if this feature has anything to do with direct DSP access? In any case, I think you can add a new entry to the build matrix, see `jobs/gerrit-verifications.yml` in osmo-ci.git. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c0a76667339ca984a12cbd2052f5d9e5b0f9c4d Gerrit-Change-Number: 31176 Gerrit-PatchSet: 27 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Tue, 07 Mar 2023 18:37:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de> Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[XL] Change in osmo-pcu[master]: support for Ericsson RBS E1 CCU
by dexter 07 Mar '23

07 Mar '23
Attention is currently required from: neels, laforge, fixeria. Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/31176 to look at the new patch set (#27). Change subject: support for Ericsson RBS E1 CCU ...................................................................... support for Ericsson RBS E1 CCU Ericsson RBS series BTSs do not have a built in PCU. Rather than having the PCU on board the PCU is co-located to the BSC in those cases. Just like the MGW the PCU would connect to the CCU (Channel Coding Unit) via E1 line. The PCU is connected via an unix domain socket (pcu_sock) to the BSC to receive RACH requests and to control Paging and TBF assignment. This patch adds all the required functionality to run an Ercisson RBS in GPRS/EGPRS mode. It supports 16k I.460 E1 subslots and full 64k E1 timeslots (recommended) Change-Id: I5c0a76667339ca984a12cbd2052f5d9e5b0f9c4d Related: OS#5198 --- M configure.ac M contrib/jenkins.sh M contrib/osmo-pcu.spec.in M debian/control M debian/rules M src/Makefile.am A src/ericsson-rbs/er_ccu_descr.h A src/ericsson-rbs/er_ccu_if.c A src/ericsson-rbs/er_ccu_if.h A src/ericsson-rbs/er_ccu_l1_if.c A src/ericsson-rbs/er_ccu_l1_if.h M src/gprs_debug.c M src/gprs_debug.h M src/pcu_l1_if.cpp M src/pcu_l1_if.h 15 files changed, 1,161 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/76/31176/27 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c0a76667339ca984a12cbd2052f5d9e5b0f9c4d Gerrit-Change-Number: 31176 Gerrit-PatchSet: 27 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newpatchset
1 0
0 0
[XL] Change in osmo-pcu[master]: support for Ericsson RBS E1 CCU
by dexter 07 Mar '23

07 Mar '23
Attention is currently required from: neels, laforge, fixeria. dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/31176 ) Change subject: support for Ericsson RBS E1 CCU ...................................................................... Patch Set 27: (5 comments) File configure.ac: https://gerrit.osmocom.org/c/osmo-pcu/+/31176/comment/98b0a6f1_95f3f9d1 PS24, Line 90: PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 1.4.0) > So the E1 CCU feature is configurable via `--enable-er-e1-ccu` and is disabled by default, but you'r […] Done File contrib/jenkins.sh: https://gerrit.osmocom.org/c/osmo-pcu/+/31176/comment/c7747258_53464777 PS24, Line 59: PCU_CONFIG="$PCU_CONFIG --enable-werror --enable-sanitize" > You should add `--enable-er-e1-ccu` here, so that the conditional code is also built by Jenkins. The echo above says explicitly "Direct DSP access disabled, sanitizer enabled" are we sure we want to enable --enable-er-e1-ccu in this path? File contrib/osmo-pcu.spec.in: https://gerrit.osmocom.org/c/osmo-pcu/+/31176/comment/05ce959f_65c48320 PS24, Line 36: 1.3.0 > You require 1.4.0 in `configure.ac`, but 1.3. […] Done File src/ericsson-rbs/er_ccu_descr.h: https://gerrit.osmocom.org/c/osmo-pcu/+/31176/comment/d56d4a04_032f8b31 PS24, Line 3: #include <stdint.h> > missing `<stdbool. […] Done File src/ericsson-rbs/er_ccu_if.c: https://gerrit.osmocom.org/c/osmo-pcu/+/31176/comment/d8334eac_8012a441 PS24, Line 412: tall_ccu_ctx = ctx; > Either obtain a child ctx here, or simply use `extern void *tall_pcu_ctx;`. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c0a76667339ca984a12cbd2052f5d9e5b0f9c4d Gerrit-Change-Number: 31176 Gerrit-PatchSet: 27 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Tue, 07 Mar 2023 18:05:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-pcu[master]: pcu_l1_if: do not copy IMSI when it is NULL
by pespin 07 Mar '23

07 Mar '23
Attention is currently required from: dexter. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/31737 ) Change subject: pcu_l1_if: do not copy IMSI when it is NULL ...................................................................... Patch Set 1: Code-Review+1 (1 comment) File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/31737/comment/6a5fa429_2bf8b2d5 PS1, Line 306: strcpy(pch_dt.imsi, imsi); this should probably be OSMO_STRLCPY_ARRAY() btw (not necessarily in this patch). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31737 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9192d50dd78be0a72ffdb9bfb9ed66aef085bcf1 Gerrit-Change-Number: 31737 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Tue, 07 Mar 2023 17:45:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-pcu[master]: doc: add sample config to illustrate how to use an E1 CCU
by pespin 07 Mar '23

07 Mar '23
Attention is currently required from: dexter. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/31736 ) Change subject: doc: add sample config to illustrate how to use an E1 CCU ...................................................................... Patch Set 1: Code-Review-1 (1 comment) File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/31736/comment/f4cb1da7_8ec0d0aa PS1, Line 277: if (imsi && strlen(imsi) >= IMSI_DIGITS_FOR_PAGING) wrong patch -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31736 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1fd0bb6b0c3fe031d5241355c66b01b6ca45b1de Gerrit-Change-Number: 31736 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: Jenkins Builder Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Tue, 07 Mar 2023 17:43:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[XL] Change in osmo-pcu[master]: support for Ericsson RBS E1 CCU
by dexter 07 Mar '23

07 Mar '23
Attention is currently required from: neels, laforge, fixeria. dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/31176 ) Change subject: support for Ericsson RBS E1 CCU ...................................................................... Patch Set 26: (1 comment) File contrib/osmo-pcu.spec.in: https://gerrit.osmocom.org/c/osmo-pcu/+/31176/comment/5ba4556e_b91bc8c7 PS24, Line 49: configure > not yet resolved, looks like only the spec file was updated, but not the debian packaging? I hope it is correct now. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c0a76667339ca984a12cbd2052f5d9e5b0f9c4d Gerrit-Change-Number: 31176 Gerrit-PatchSet: 26 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Tue, 07 Mar 2023 17:41:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge <laforge(a)osmocom.org> Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de> Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmo-pcu[master]: pcu_l1_if: get rid of strange paging group calculation
by dexter 07 Mar '23

07 Mar '23
Attention is currently required from: pespin. dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/31650 ) Change subject: pcu_l1_if: get rid of strange paging group calculation ...................................................................... Patch Set 8: (1 comment) File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/31650/comment/de59f59d_ba350a60 PS7, Line 272: /* Without IMSI the BTS/BSC is unable to calculate the paging group */ > You are changing the behavior here I think!! […] Yes, that is indeed a problem. I have now changed it so that it prepends "000" when the IMSI is not present or the IMSI is shorter then 3 digits. This still excludes IMSIs shorter then 3 digits but I think we will either have no IMSI at all or the full IMSI in memory so we can safely ignore those corner cases. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I40d7fc14c9591b3de091e425faaf325421c70a0e Gerrit-Change-Number: 31650 Gerrit-PatchSet: 8 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Tue, 07 Mar 2023 17:41:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[XL] Change in osmo-pcu[master]: support for Ericsson RBS E1 CCU
by dexter 07 Mar '23

07 Mar '23
Attention is currently required from: neels, laforge, fixeria. Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/31176 to look at the new patch set (#26). Change subject: support for Ericsson RBS E1 CCU ...................................................................... support for Ericsson RBS E1 CCU Ericsson RBS series BTSs do not have a built in PCU. Rather than having the PCU on board the PCU is co-located to the BSC in those cases. Just like the MGW the PCU would connect to the CCU (Channel Coding Unit) via E1 line. The PCU is connected via an unix domain socket (pcu_sock) to the BSC to receive RACH requests and to control Paging and TBF assignment. This patch adds all the required functionality to run an Ercisson RBS in GPRS/EGPRS mode. It supports 16k I.460 E1 subslots and full 64k E1 timeslots (recommended) Change-Id: I5c0a76667339ca984a12cbd2052f5d9e5b0f9c4d Related: OS#5198 --- M configure.ac M contrib/jenkins.sh M contrib/osmo-pcu.spec.in M debian/control M debian/rules M src/Makefile.am A src/ericsson-rbs/er_ccu_descr.h A src/ericsson-rbs/er_ccu_if.c A src/ericsson-rbs/er_ccu_if.h A src/ericsson-rbs/er_ccu_l1_if.c A src/ericsson-rbs/er_ccu_l1_if.h M src/gprs_debug.c M src/gprs_debug.h M src/pcu_l1_if.cpp M src/pcu_l1_if.h 15 files changed, 1,158 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/76/31176/26 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c0a76667339ca984a12cbd2052f5d9e5b0f9c4d Gerrit-Change-Number: 31176 Gerrit-PatchSet: 26 Gerrit-Owner: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newpatchset
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • ...
  • 365
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.