osmo-pcu (1.1.0) unstable; urgency=medium [ Oliver Smith ] * treewide: remove FSF address [ Pau Espin Pedrol ] * Fix assert hit if connecting to SGSN fails * llc: Convert to C: s/m_//g * llc: Convert to C * llc: Move static functions below related object * ms: validate codel enabled against proper define * ms: Remove unneeded bts!=NULL check * gprs_ms_storage: MS always has non NULL ms->bts * llc: schedule frames to MS based on SAPI priority * pdch is_enabled: Use API getter instead of accessing field directly * llc_queue: Refactor to handle codel_state per prio queue internally * tests/llc: Add test_llc_meta_pdu_life_expire * tests/llc: Add test_llc_codel * gprs_ms: Use osmo_timer_setup() API * gprs_ms_storage: Use bts_stat_item_inc/dec APIs * tests/tbf: Set up pcu timers in prepare_pcu() * gprs_pcu: Explicitly free all bts objects in list before freeing pcu * bts: Call gprs_bssgp_destroy() in destructor * TbfTest: Reset MS timeout to 0 in test_tbf_dl_llc_loss() * gprs_ms_stoage: Release all MS in ms_storage cleanup() [ Harald Welte ] * update git URLs (git -> https; gitea) -- Pau Espin Pedrol Wed, 29 Jun 2022 09:48:53 +0200 osmo-pcu (1.0.0) unstable; urgency=medium [ Pau Espin Pedrol ] * Support uplink multi-slot allocations * tbf: Log timeslot allocation failure * bts: Count TBF TS allocation failure * pdch: Standarize and improve logging * tbf: Improve logging when TBF being allocated or no TBF avail * Remove uneeded ms param from alloc_algorithm_func_t func * bts: Add new stats to detect TBF allocation failure reasons * llc: use memset to fill llc dummy frame padding * tbd_dl: Don't re-initialize class field twice * tbf: log keep_open condition status * tbf_dl: Fix m_last_dl_drained_fn not set under some conditions * tbf_dl: fix FBI not set upon X2031 = 0 * ms: clarify delayed MS release process related code and logging * gprs_ms: Use standarized logging on more messages * sched: sched_select_ctrl_msg(): Clean up param list and improve logging * sched: sched_select_downlink(): Clean up param list and improve logging * TODO-RELEASE: document requirement of master libosmocore * tbf: Log N310* counter increments * pdch: Silently ignore DATA.ind with len=0 * direct_phy: Support submitting DATA.ind with len=0 to upper layers * pcu_utils.h: Fix trailing whitespace * Track TDMA clock with DATA.ind instead of TIME.ind * Introduce init() APIs for PDCH and TRX objects * tests: rlcmac: Fix C vs C++ linkage of extern symbol * pdch.h: Drop uneeded include bts.h * Improve DATA.ind logging * Improve logging in DATA.req and ACT.req * tbf: Fix wrong variable printed in log * pdch: Log FN when decoding UL Ctrl block * Add new PDCH UL Controller, drop SBAllocator class * Replace PollController with newly added PDCH UL Controller * sched: Use new PDCH UL Controller * bts: Detect FN jumps * cosmetic: tests/Makefile.am: Split content into several lines * tests: Introduce unit tests for PDCH UL Controller * tests: ulc: Show current bug with FN wrap around * ulc: Fix FN store order upon wrap around * sysmo: fix wrong FN jumps in rx RA.ind * direct_phy: Fix condition dropping rx DATA.ind payload in in * Fix: left shift cannot be repesented in type int * sched: Fix scheduling UL TBF not matching conditions * sched: Simplify usf selection code * Set matching USF if available when polling a UL TBF * pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif * pdch_ulc: Create helper API pdch_ulc_release_node * Track scheduled UL blocks through USF * Properly implement N3101 * sba: Document AGCH_START_OFFSET after some experimental tests * pdch_ulc: Optimize rbtree FN search * Pick unreserved UL FN when allocating an SBA * pdch_ulc: Support picking RRBP other than N+13 * Drop unused function tbf_check() * pdch_ulc: Store TBF poll reason * tbf: Get rid of unneeded poll_scheduled() * tbf: Allow multiple concurrent polls * Remove unneeded poll_state check * tbf: get rid of poll_state completely * Get rid of param 'poll' with constant value * tbf: Get rid of attribute poll_fn * tbf: Get rid of attribute poll_ts * RIM: Improve logging * sba: Drop unused function find_sba_rts * pdch: rcv_resource_request: Improve robustness * pdch: tbf_by_tfi(): Allow returning TBFs in state RELEASING * Stop abusing T3169 * Make use of T3142 received from BTS * Use negative numbers for non-spec osmo-specific timers * ul_tbf: Clean up handle_tbf_reject() * Make WaitIndication T3172 configurable * sched: Simplify else-if condition * Clarify, document Assignment related timers * doc/tbf.txt: Update and improve some information * bts: constify arg in func bts_ms_store() * sched: Rename func to describe its used only for RLCMAC CTRL blocks * rim: Constify param in func * Simplify helper function tbf_select_slot_set() * alloc_algorithm_b: Rearrange variable initialization * Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/ * Split ul_tbf alloc on CCCH into new function * Implement T3141 * tbf_ul: Use is_tlli_valid() API * Tx ul ack/nack: Avoid sending invalid/unknown TLLI * encoding: Use gsm48_ta_is_valid() API * encoding: Encode TA in UL ACK/NACK if available * sched: Clean up helper function and improve logging * Drop existing tbf->ms() check condition * ul_tbf: Simplify function rcv_data_block_acknowledged * ul_tbf: Fix accessing zeroed block when checking if transfer is complete * sched: Clean up param passing and improve logging * pdch: Use llist_first_entry() API * RIM: Refactor Rx path to decode stack in proper order * Clean false positive in newer GCC version checking guard of else clause * Use LOGPDCH macro in bts_add_paging() * Optimize PAGING-CS PDCH set selection when target MS is known * bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request * tbf: Log error path in setup() failing to assign control TS * Move TBF list from BTS to the TRX structure * MsTest: Set up tbf talloc destructor * tbf: Move existing tbf_state implementation to osmo_fsm * cosmetic: Fix typo s/TIMSI/TMSI/ * gsm_rlcmac.c: Fix arg list of 2 callbacks * csn1: Implement CSN_CALLBACK type in encoder * bts: Fix typo in field name * Use new stat item/ctr getter APIs * pdch: Log pdch_ulc reason upon rx of pkt ctrl ack * pcuif: Support receiving System Information 2 * pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack * pcuif_proto.h: Add new container message * Support proto IPAC_PROTO_EXT_PCU BSC<->PCU * pdch: Fix heap-use-after-free in pdch->ulc * Make gcc 11.1.0 false positivies happy * tbf: Drop impossible paths in create_dl_ass() * tests/tbf: Fix null pointer access if slowly stepping with gdb * Revert "coverity: fix null deref from recent UL TBF leak fix" * Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" * Revert "Revert "Stop abusing T3169"" * Move NULL and ASSIGN tbf_state transition to tbf_fsm * Move FLOW tbf_state transition to tbf_fsm. * tests: tbf: Fix dl_tbf polled for data without being in FLOW state * Move FINISHED tbf_state transition to tbf_fsm * Move WAIT_RELEASE tbf_state transition to tbf_fsm * Move RELEASING tbf_state transition to tbf_fsm * Move T3169 and T3195 to tbf_fsm * Drop duplicate log line * Put dl_tbf::cleanup into destructor * Drop logging last mas report before freeing TBF * Remove duplicate call to gprs_rlcmac_lost_rep * Move rate_ctr free to tbf subclass destructor * Get rid of tbf_dl:abort() * tbf_free: Get rid of uneeded tbf_state transition * Replace ul_ass_state with osmocom FSM * tbf: Reimplement rlcmac_diag() and make it available from C * tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS * replace dl_ass_state with osmocom FSM * tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS * tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA * Move timer X2001 to tbf_fsm * Get rid of lots of code only used by tests * tbf: Merge handle_ack_nack() into rcvd_dl_ack() * Fix typos in comments documenting fsm st chg macro * tbf: Use type bool for upgrade_to_multislot * Move timer X2002 to tbf_fsm * tbf_dl: Clarify requirements for DL ACK/NACK * tbf.h: Improve documentation on several flags * Move tbf ul_ack_state to osmocom FSM * Simplify tbf::set_polling() * tbf: Move T3193 to tbf_state FSM * fix typo 's/dowlink/downlink/g' * cosmetic: Fix typo in comment * sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS * Fix crash with dyn TS when using direct pcu * Use LOGPDCH macro to standarize log line * cosmetic: sysmo: Drop unneded comment line * bts: Use public getter instead of class member * sched: Lower log level of RTS on disabled pdch * pdch: Make sure pending ImmAssRej scheduled for disabled pdch are dropped * Support Neighbor Address Resolution over PCUIF IPA multiplex * nacc_fsm: Move logic checking if SI is being waited for to a func helper * scheduler: Skip Tx DL idle blocks in TRX0 when not in DIRECT_PHY mode * PTCCH: skip Tx DL idle blocks when possible * tbf_ul_ass_fsm.c: Fix missing state transition in FSM description * tbf: poll_timeout(): Validate expected poll reason * nacc: Introduce helper function nacc_fsm_exp_ctrl_ack() * tbf: refactor poll_timeout() with a switch statement * tests: TbfTest: Fix wrong behavior in test_tbf_dl_reuse() * pdch: refactor rcv_control_ack() with a switch statement * cosmetic: Fix missing space * assert if tbf pointer for POLL event is NULL * tbf_fsm: Ignore event DL_ACKNACK_MISS in state RELEASING * tests: RLCMACTest: Add one more sample RA capabilities to suite * rlcmac: Fix CSN1 definition for DownlinkDualCarrierCapability_r7_t in MS RA cap * tbf: Assert if FSM allocation fails * sched: Rename function * pdch: Only release ULC entry if rx ul block matches the expected one * pdch: Validate poll reason matches in rcv_control_(egprs)_dl_ack_nack() * pdch: PktResReq: Avoid releasing ULC entry if expecting something else on UL * Handle Final UL ACK/NACK Confirmation in tbf_fsm * tbf_fsm: rename state NULL -> NEW * pdch_ulc: Log POLL reason upon timeout * tbf_dl_ass_fsm: Move block msg generation conditions to rts() function * tbf_ul_ass_fsm: Fix use of incorrect log macro * tbf_fsm: Handle MAX_N3105 in state ASSIGN * tbf: Use define to flag control_ts unset special value * tbf: Document temporary change of control_ts and move code assigning it back to FSM * Return void in tbf_assign_control_ts() * pdch: rcv_data_block: Avoid releasing ULC entry if expecting something else on UL * tbf: Avoid keeping poll nodes in pdch_ulc of temporary control_ts used during PACCH assignment * tbf_ul_ass_fsm: Avoid retrying Pkt Ul Ass if tbf is not in state ASSIGN * Abort scheduling of pending Pkt Ul Ass if tbf goes into RELEASE step * tbf: Drop pending polls during free also on states != ASSIGN * pdch: Simplify code path allocating UL TBF * pdch: Log reason of expected POLL when receiving unexpected UL data * bts_rcv_rach(): Gather pointers to data objects early and use them later * bts_rcv_rach(): Split code paths for Ass and Ass Rej * Get rid of tbf tsc field * ts_alloc: Rename s/tbf_/tbf/ * tbf: Update FSM names when TFI change during tbf_update() * tbf_fsm: Add assert verifying X2002 only triggers for DL TBF * tbf: Assert if update() is called on UL TBF * tbf: update(): return negative val on error * tbf: Drop unneeded braces in one line condition * cosmetic: Fix typo in comment * pcuif: Submit data_req with len=0 as idle frames * Split csn1.c into common, enc and dec files * csn1: Add unit test showing RadioAccess Capability decoding failure * csn1: Avoid failing if optional DownlinkDualCarrierCapability_r7 is missing * csn1: Avoid storing existence bit as true if content was actually NULL * csn1_dec.c: Fix stored bit in CSN_NEXT_EXIST_LH * bts: Fix misleading log line in bts_rcv_rach() * tbf_ul: Document context where tbf_alloc_ul_ccch() is used * bts: Rename 11bit RACH request counter * vty: Avoid crash in tbf_print_vty_info with null ptr ctrg * vty: Log tbf_state when showing a TBF * vty: show tbf: Drop unneeded check for non-null ms * bts: Introduce new RACH req counters for one/two phase access * bts: Improve logging to clarify RACH req is for 2 phase access * bts: Count RACH Request with unexpected content * tbf: Increase log level of line about unable to allocate poll for TBF * pdch: Improve log line and increase log level * tbf_ul: Set first_(common_)ts in handle_tbf_reject * tbf: Set m_created_ts in constructor * tbf: Mark initial first_(common_)ts with special value * tbf: Set tfi to initial special value * bts: Add counters for successful 1,2 phase pkt access * tbf_ul: Update FSM names for dummy reject TBFs * cosmetic: Add parenthesis around expression to clarify it * pdch::rcv_resource_request(): Use local var to store bts pointer * tbf_ul: Improve documentation of tbf_alloc_ul_pacch() * Add counter for successful contention resolution procedures * doc: Update counters_generated.adoc using osmo_vty_interact.py * bts_pch_timer: Fix timer working only for MI type IMSI * tests/alloc: Extend test_bts_pch_timer() to validate MI type TMSI * bts_pch_timer: Avoid resend Paging Request over PCUIF if T3113 is armed * pdch: Log line detaching TBF at start of the function * pdch: Log TS enable/disable transitions * pdch: Log DL TBF originating the new UL TBF * ts_alloc: Simplify tfi_find_free logic * ts_alloc: rename function to clraify what it does * ts_alloc: rename variable to clarify meaning * pdch: Update ms_reserved_slots in GprsMS when TS becomes disabled * pdch: Drop previous UL TBF from MS who sent PktResReq through SBA * pdch: Increase log level of line informing about TS control change * tbf_ul_ass_fsm: Log both TBFs if old TBF is handling assignment for new one * cosmetic: gprs_pcu.h: Fix typo in comment * tbf_dl_ass_fsm: Log both TBFs if old TBF is handling assignment for new one * tbf_dl_ass_fsm: Fix missing transition to NONE if DL TBF is nonexistent * tbf_{dl,ul}_ass_fsm.c: use proper macro to log tbf * pcu_main: Mark -r cmdline param as deprecated * vty: Introduce command 'gsmtap-remote-host' and 'gsmtap-category enable-all' * Fix MS ending up with assigned imsi 000 * bts: Add counter availablePDCHAllocatedTime * tbf_dl_ass_fsm: Drop unsued X2000 timer callback * T_defs_pcu: Set default val for X2000 to 0 ms * Move T3172 T_defs_bts->T_defs_pcu to have it configurable in VTY [ Alexander Couzens ] * gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originated BSSGP-RESET * gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN * gprs_bssgp_pcu: add comments to the pcu states [ Harald Welte ] * pdch_ul_controller: Fix compiler warning on gcc-10.2 * manual: remove revhistory, as we don't maintain it manually anyyway * manual: Update copyright years * vty: Add configuration for Gb DSCP and socket priority * manual: Include QoS chapter and add osmo-pcu specific example [ Vadim Yanitskiy ] * gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES * PCUIF protocol: add message definition for interference report * pcu_l1_if: ignore PDCH interference reports, do not log errors [ Oliver Smith ] * test: add 'make update_exp' target * Add counters: pcu.sgsn.N.rx_paging_{cs,ps} * Add counters: pcu.bts.N.pch.requests * Add counters: pcu.bts.N.pch.requests.timeout * bts: delete pch_timer list in destructor * tests: make update_exp: build check_PROGRAMS first * debian/control: remove dh-systemd build-depend * Add stats: pcu.bts.N.pdch.available/occupied * Add stats: pcu.bts.N.pdch.occupied.gprs/egprs * pdch: has_gprs_only_tb_attached: use m_num_tbfs [ Neels Hofmeyr ] * T_defs_bts: remove unit from doc strings * Revert "Stop abusing T3169" * fix: handle NULL return of as_dl_tbf() and as_ul_tbf() * coverity: fix null deref from recent UL TBF leak fix [ Daniel Willmann ] * gprs_bssgp_pcu: Fix crash when configuring an existing ns bind -- Pau Espin Pedrol Tue, 16 Nov 2021 16:47:29 +0100 osmo-pcu (0.9.0) unstable; urgency=medium [ Pau Espin Pedrol ] * Pass paging group instead of imsi where later is not needed * Allow Gb PAGING-PS without P-TMSI * Support Gb PAGING-CS * Support PAGING-CS and PAGING-PS on on PTP-BVCI * tests/rlcmac: print test name at the start * tests/rlcmac: Memzero decoded struct * tests/rlcmac: Fix missing commas with unexpected results * tests/rlcmac: Use osmo_hexdump to print buffers * tests/rlcmac: Don't check stderr output * tests/rlcmac: Add test to showcase that decode_gsm_ra_cap() fails * csn1: Extend CSN_SERIALIZE to allow 0 bit of length * csn1: Allow CHOICE elements to re-process the bits used for the choice * csn1: Fix pedantic compiler warnings in csn.1 dissectors * csn1: Drop format_p union from CSN_DESCR * gsm_rlcmac.cpp: Fix trailing whitespace * cosmetic: csn1.cpp: Fix whitespace * csn1.cpp: Rework ProcessError() function to print errors * rlcmac: Return error code from csn1 encoder/decoder * Check return code of rlcmac decode/encode functions * rlcmac: Transform a few LOGPC messages to LOGP * Fix trailing newline mess with LOGP(C) in rlcmac/csn1 * llc_queue::{dequeue,enqueue}() refactor * gsm_rlcmac: fix Packet_Resource_Request_t: s/Slot/I_LEVEL_TN/ * tests/llc: Change unrealistic time jump to avoid runtime error under ARM * Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere * Use downlink BSSGP RA Cap IE * tests/RLCMACTest: free allocated bitvectors * tests/RLCMACTest: Several fixes and improvements to RAcap tests * rlcmac: Don't pass array element to CSN1 descriptors * csn1: Validate recursive array max size during decoding * rlcmac: Fix bug receiving RA cap * rlcmac: Log names of de/encoded rlcmac packet types * rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits * cosmetic: rlcmac: Fix comment typo and whitespace introduced recently * rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t * pcu_l1_if.cpp: Add missing header ctype.h * gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec' * cosmetic: Do not indent header includes inside extern C block * gsm_rlcmac.cpp: Avoid declaring variable in for loop * csn1.h: Fix trailing whitespace * tbf.cpp: Include c++ header required for new operator's replacement type * gsm_rlcmac: Disable unused CSN1 descriptors * Move gsm_rlcmac.cpp -> .c * rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description * rlcmac: add dissection of 2G->3G/4G PS handover * csn1: Fix Several typos & whitespace * csn1: verify enough bits present to decode whole CSN_UINT_ARRAY * csn1: Properly verify CSN_BITMAP length * csn1: Remove code block from CSN_NEXT_EXIST_LH * pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks * pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block * tbf: Avoid crash: don't set TBF window size if setup failed * bts: Rename mslot_class_from_ra * bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST * bts: Return uint8_t in egprs_mslot_class_from_ra() * Use OSMO_FD_* instead of deprecated BSC_FD_* * Expect ms object to exist before calling tbf_alloc_ul_tbf() * Expect ms object to exist before calling tbf_alloc_dl_tbf() * pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand * Drop unneeded arg 'ta' in tbf_alloc_ul() * bts: Drop specific functions to increase counters * bts: Drop specific functions to add values to counters * bts: Drop specific functions to add values to stats * pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() * sysmo: femtobts.h: Avoid redefining global variables * rlc: Drop unused function gprs_rlc_data::put_data * rlc: Move prepare() function out of gprs_rlc_data struct * tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost * Get rid of class GprsCodingScheme * gsmtap: Set signal level and SNR fields * gprs_ms: Small clean ups in IMSI storage related code * gprs_ms: Transfer known EGPRS MS class when mergling old MS * tbf: Drop unneeded method set_tlli_from_ul * pdch.cpp: Fix logging line format in rcv_block wrong length * Set correct GSMTAP channel type for PDTCH messages returning error * decoding.cpp: Improve logging in malformed UL data parsing * tbf_dl: uint8_t is enough to store a TA value * encoding: Encode TA as unsigned and check validty against GSM48_TA_INVALID * encoding.cpp: Fix missing spacing in function param * pdch.cpp: Avoid dropping existing DL TBF during rcv_resource_request * pdch.cpp: Avoid resetting (egprs_)ms_class to unknown if not found in MS RadioAccCap * pdch.cpp: Fix wrong annoying log line about non-scheduled ResourceReq received * pdch.cpp: Store TLLI promptly on newly created TLLI in rcv_resource_request * Fix typo in log message * pdch: Drop unneeded notice log message in rcv pkt meas report * Introduce log macro helper LOGPMS * configure.ac: Fix trailing whitespace * doc: Update VTY reference xml file * Support setting rt-prio and cpu-affinity mask through VTY * pdch: rcv pkt meas rep: Allocate MS object early in path and use it * Fix recent typo preventing MS from registering * gitignore: Add __pychache__ dir * tbf: Don't log rlcmac_diag() output in separate lines * gprs_ms_storage.h: Set pointer to NULL instead of 0 * Free all MS TBFs when receiving GPRS Suspension Request * cosmetic: fix indentation alignment * vty: Add 'show bts pdch' command * cosmetic: Fix indentation of for loops * cosmetic: Fix typo in comment * Fix crash accessing NULL tbf->pdch[first_ts] * contrib/jenkins: Enable parallel make in make distcheck * Improve debug logging for alloc algos * Fix several calls to LOGPAL * Move gprs_rlcmac_ul_tbf::window to correct file * Move constructor gprs_rlcmac_dl_tbf::BandWidth to correct file * tbf: Make window() available to tbf base class * tbf: Implement enable_egprs() once * tbf: Set MS during constructor time * Move ul_tbf allocation code to correct file * Move dl_tbf allocation code to correct file * tbf: Drop unused function disable_egprs() * tests: ms: Pass correct pointer in constructor instead of NULL * tbf: Clean up gprs_rlcmac_dl_tbf::handle() * alloc_algo_b: Select TRX with least assigned TFIs during TBF alloc * bts: define egprs_enabled as bool * cosmetic: Fix ws between if keyword and parenthesis * tbf_dl: Update (egprs_)ms_class for already known MS * cosmetic: tests: pcu_emu: fix trailing whitespace * gprs_ms: Use proper function to get CS * Move BTS initial values inside bts.cpp * pcuif: Improve BTS-supported CS/MCS handling * Move EGPRS MS mode set to gprs_ms.cpp * Take into account BTS supported (M)CS values when retrieving the maximum * Enable egprs support through PCUIF from BTS/BSC * pdch: Process received CS1-4 data blocks regardless of egprs_enabled * tbf_dl: Don't fake EGPRS MS class when no related info is available * tbf_ul: Allow non-egprs phones if EGPRS is enabled * Get rid of bts->egprs_enabled * Fix configuration of initial_(m)cs * Fix mcs_is_valid(): UNKNOWN value is not a valid (M)CS * gprs_ms: Avoid enabling EGPRS if no MCS are supported * tbf_ul: Log mismatching TLLI on log message * Fix ctr reports: Remove ctr description from already removed counter * encoding: Fix duplicate word in log str * sched: Fix sending GSMTAP DL data blocks with unset USF * sched: Use correct GMSTAP category for EGPRS DL data blocks * Support multiplexing of GPRS and EGPRS TBFs in one PDCH * pdch: packet_paging_request: Put back non-fitting paging entry where where it was * pdch: Log hexdump of decde failure for dl rlcmac block * csn1: Fix readIndex pointer change in CSN_VARIABLE_ARRAY * csn1: Log CSN_VARIABLE_ARRAY values as hex * main: generate coredump and exit upon SIGABRT received * tbf: Log previous TS when changing Control TS * Implement downgrade to DL MCS1-4 when USF for GPRS_only MS * Dl TBF: Get rid of LLC UI dummy blocks following other data * rlcmac: Fix typo in MT_PACKET_CELL_CHANGE_NOTIFICATION value_string * gprs_rlcmac_sched: Use helper structure to store several tbf pointer params * sched: Convert code handling next_list array to be size independant * Convert GprsMS and helpers classes to C * tbf: Fix wrong verb used in log message * .gitignore: ignore files ending with ~ * doc: Improve CS/MCS GPRS/EGPRS considerations in User Manual * tbf: remove 'software error' logs from tbf_free * ms: Replace struct var with rate_ctr * AllocTest: Avoid queuing tons of to-be-freed ms * gprs_ms: Mark ms_ctrg_desc static * Workaround ASan false positive runtime errors under some platforms * Split PCU global PCU object from BTS object * Move T_defs_pcu from BTS to PCU object * Move force_two_phase field from BTS to PCU * Move alpha,gamma fields from BTS to PCU * Move dl_tbf_preemptive_retransmission field from BTS to PCU * Move dl_arq_type field from BTS to PCU * Move cs_adj* fields from BTS to PCU * Move cs_downgrade_threshold field from BTS to PCU * Move (m)cs_lqual_ranges fields from BTS to PCU * Move ns_dialect field from BTS to PCU * Move fc_* fields from BTS to PCU * tests/tbf: Allocate PCU per test instead of globally * Move ws_* fields from BTS to PCU * Move llc_* fields from BTS to PCU * Fix configuration mess of initial_cs/mcs between PCUIF and VTY * Unify BTS into a C usable structure * Get rid of bts singletons * Rename 'bts_data' leftovers to 'bts' * bts: combine bts_{init,cleanup} into consturctor/destructor methods * Get rid of unused gsm_timer.{cpp,h} * Convert gprs_bssgp_pcu.cpp to C * Move tbf::free_all static methods to proper object files * Convert osmo_bts_sock.cpp to C * Allow multiple bts objects in PCU * bts: Store RAC+CI from info_ind * Get rid of singleton gprs_bssgp_pcu_current_bctx() * Initial handling support for RIM messages * gprs_pcu: Use libosmocore osmo_cgi_ps_cmp API * ms: Drop always-false check * sched: Check if egprs is enabled in TBF rather than MS being egprs capable * tbf: Drop always-true condition checking for MS * encoding: fix typos in comment * ms: Set proper initial MCS values setting mode EGPRS_GMSK * ms: Properly handle EGPRS_GMSK mode in ms_max_cs_dl/ul() * Fix Dl EGPRS data blocks being generated occasionally on GPRS TBFs * sched: Avoid picking TBF with nacked dl blocks when GMSK is required * tbf: Make tbf_ms() param const * Introduce NACC support * NACC: Fix crash freeing struct if CTRL conn was refused during alloc * NACC: delay CTRL conn socket init until it's needed * NACC: allow setting keep time for entries in neigh and si cache * NACC: Configure neighbor and SI resolution timeout values * NACC: Send only Pkt Cell Chg Continue if SI retrieve fails * doc: Mark PCU node red in network node diagram * doc: Introduce section documenting NACC support * nacc: Improve log line failing to establish CTRL neigh conn * Update TS 04.60 references to new TS 44.060 * Drop comment about an already implemented TODO * Move src/tbf.txt to doc/ * encoding: Fix comment description of S/P field * tbf: Reuse stored result in variable in check_polling() * tbf: Constify some methods * nacc: Fix typo in function name * nacc: Implement Pkt Cell Change Continue retransmission * nacc: Avoid RIM procedures targeting cells under same PCU * rlc.h: Fix struct bit fields on big endian systems * cosmetic: fix typo in comment * nacc_fsm: Move code filling struct to helper function * nacc_fsm: Remove NACC_EV_RX_SI from in_event_mask of some states * nacc_fsm: Support receiving Pkt Cell Change Notify in state WAIT_RESOLVE_RAC_CI * nacc_fsm: nacc_fsm: Support receiving Pkt Cell Change Notify in state WAIT_REQUEST_SI * nacc_fsm: Support receiving Pkt Cell Chg Notif while in some advanced states * nacc_fsm: Improve log when sending RIM RAN-INFO to gather SI from remote cell * vty: Write 'neighbor resolution' config to file * cosmetic: fix line indentation * sched: Avoid selecting TBF to tx NACC Dl msg if no TFI is assigned * tests: Explicitly drop category from log * tests: Replace deprecated API log_set_print_filename * Use NULL as default value for pointer type * find_multi_slots: Avoid calling mslot_class_get_tx() on each iteration * find_multi_slots: Avoid multiple calls to mslot_class_get_rx() * find_multi_slots: Mark mslot_class properties const * find_multi_slots: Avoid multiple calls to mslot_class_get_type() * Use ALPHA value received in SI13 from PCUIF [ Vadim Yanitskiy ] * pcu_l1_if.cpp: fix NULL-pointer dereference in imsi2paging_group() * gsm_timer: fix comparison of constant LONG_MAX with an integer * encoding: fix log_alert_exit(): do not treat error as format string * tests/alloc: fix implicit conversion from 'double' to 'int8_t' * gprs_bssgp_pcu: fix invalid use of non-static data member 'frame' * gprs_bssgp_pcu: fixup: fix length check in gprs_bssgp_pcu_rx_dl_ud() * csn1: fix csnStreamDecoder(): avoid conditional calls to bitvec_read_field() * VTY: get rid of pcu_vty_go_parent() / pcu_vty_is_config_node() * VTY: install talloc context introspection commands * pcu_sock: fix memleak, allocate pcu_sock_state on stack * pcu_sock: cosmetic: fix typo in a comment message * tbf: cosmetic: fix spacing in gprs_rlcmac_tbf::create_ul_ass() * tbf: fix NULL pointer dereference in create_[ul|dl]_ass() * encoding: assert return value of bitvec_set_u64() * csn1: fix some mistaken CSN.1 error names * csn1: fix csnStreamDecoder(): catch unknown CSN_CHOICE values * tests/rlcmac: mark Packet Polling Request as malformed * csn1: fix existNextElement(): use bitvec_get_bit_pos() * tests/rlcmac: additionally match debug output of the CSN.1 codec * csn1: get rid of C++ specific code, compile with GCC * csn1: fix csnStreamDecoder(): do not subtract no_of_bits twice * csn1: fix csnStreamDecoder(): always keep remaining_bits_len updated * csn1: fix csnStreamDecoder(): update bit_offset in CSN_EXIST{_LH} * csn1: bitvec_get_uint() may return a negative, use %d * csn1: use proper format specifier for unsigned integers * gsm_rlcmac: fix misleading LOGP statement in decode_gsm_ra_cap() * tests/rlcmac: fix malformed MS RA capability in testRAcap() * tests/rlcmac: also verify encoding of MS RA Capability * tests/rlcmac: add a new test vector for Packet Resource Request * csn1: fix csnStreamDecoder(): skip bits unhandled by serialize() * tests/rlcmac: also enable logging for DRLCMACDATA category * rlcmac: fix encode_gsm_*(): do not suppress encoding errors * csn1: fix: do not return 0 if no bits left in the buffer * BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore * BSSGP: fix: properly encode P-TMSI in RR Paging Request * pdch: fix packet_paging_request(): properly print paging MI * pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore * fix: properly include pure C headers from C++ code * l1if: fix pcu_rx_rach_ind(): use proper format string specifiers * sba: fix possible memleak in SBAController::alloc() * TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI * fix egprs_mslot_class_from_ra(): multislot class may not be present * l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g * csn1: fix M_CHOICE: restirct maximum length of the choice list * csn1: fix csnStreamEncoder(): also check length of the choice list * csn1: fix csnStreamEncoder(): always check the choice index * csn1: fix: never use enumerated types in codec structures * encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible * RLC/MAC: implement decoding of EGPRS Packet Channel Request * encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) * doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g * bts: refactor handling and parsing of RACH.ind * BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request * bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP * bts: fix send_gsmtap_rach(): properly pack 11 bit RA * bts: cosmetic: use DUMMY_VEC for padding where possible * encoding: drop log_alert_exit(), use OSMO_ASSERT() instead * encoding: assert() presence of Downlink TBF * direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI * debian/control: change maintainer to the Osmocom team / mailing list * pcu_l1_if: use proper format specifier for PCUIF version * pcu_l1_if: constify the argument of pcu_rx_info_ind() * pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr' * pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop * pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind() * gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance * tbf: cosmetic: use GSM_MACBLOCK_LEN where possible * tbf: allocate the bitvec on stack in create_{dl,ul}_ass() * encoding: constify 'tbf' in UL/DL assignment functions * encoding: do not encode out of range Timing Advance values * encoding: fix RRBP field in write_packet_uplink_assignment() * encoding: use bool for use_egprs in write_packet_uplink_assignment() * encoding: pass pdch slot directly to encoding functions * encoding: clarify docstring for write_packet_downlink_assignment() * encoding: use CSN.1 codec to generate Packet Uplink Assignment * encoding: implement handing of hopping parameters * encoding: fix gen_freq_params(): do not check pdch twice * pcuif_proto: version 10: add frequency hopping parameters * pcu_l1_if: cosmetic: use ARRAY_SIZE() in pcu_rx_info_ind() * pcu_l1_if: correct logging level in pcu_rx_info_ind() * pcu_l1_if: cosmetic: make {local,remote}_sockaddr scoped variables * pcu_l1_if: use proper format string specifiers: %d -> %u * pcu_l1_if: print NSVC address in more common format * gprs_bssgp_pcu: make osmo_sockaddr local/sgsn arguments const * gprs_bssgp_pcu: fix possible memleak in gprs_nsvc_create_and_connect() * struct gprs_rlcmac_bts: remove unused 'nsei' field * gprs_bssgp_pcu: fix: do not crash on receipt of subsequent INFO.ind * doc/manuals: (re-)generate XML VTY reference automatically * fix tbf_select_slot_set(): use LOGP() instead of LOGPC() * main: remove line breaks in print_help(), increase spacing * main: add --vty-ref-mode, use vty_dump_xml_ref_mode() * BSSGP: use tlvp_val8() in gprs_bssgp_pcu_rx_paging_cs() * BSSGP: constify argument 'tp' of gprs_bssgp_pcu_rx_paging_{cs,ps} * TLLI 0x00000000 is a valid TLLI, use 0xffffffff instead * gprs_rlcmac_sched: fix incorrect SBA frame number assignment * bts: fix uninitialized memaccess in BTS::send_gsmtap_rach() * bts: fix uninitialized memaccess in BTS::send_gsmtap() * tests/rlcmac: add more test vectors for Packet Resource Request * contrib/osmo-pcu.spec.in: require libosmo* version 1.4.0 * contrib/osmo-pcu.spec.in: add missing libosmoctrl dependency * vty: register libosmocore's FSM introspection commands [ Anders Broman ] * csn1: Update M_NULL CSN_DESCR to match wireshark * csn1: packet-csn1.c:179: warning: 'pui8' may be used uninitialized in this function * csn1: Fix warning with -Wmissing-prototypes * csn1: Try to fix cast discards '__attribute__((const))' qualifier from pointer target type * gsm_rlcmac.cpp: hanged all M_BIT macros to M_UINT, as M_BIT does not use the referenced hf. [ Jeff Morriss ] * csn1: shuffle decrements of remaining_bits_len [ Pascal Quantin ] * csn1: Fix an infinite loop in CSN.1 dissector when having more than 255 padding bits * gsm_rlcmac.h: Remove Uplink messages from the RlcMacDownlink_t structure * gsm_rlcmac: Enhance dissection of PSI1 * gsm_rlcmac.cpp: Do not skip too many lines of the CSN_DESCR when the field is missing * gsm_rlcmac.cpp: fix an out of bounds access * gsm_rlcmac.cpp: fix another global-buffer-overflow error reported by ASAN * gsm_rlcmac.cpp: fix global-buffer-overflow error reported by ASAN [ Guy Harris ] * csn1: Don't cast away constness [ Alexis La Goutte ] * csn1: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7 [ Bill Meier ] * gsm_rlcmac.h: #if 0 unused stuff [ Gerald Combs ] * gsm_rlcmac.h: Make sure we have a corresponding 'u' member to RlcMacDownlink_t for every call [ Vincent Helfre ] * gsm_rlcmac: add dissection of NAS container * gsm_rlcmac: improve dissection of MS RA Capability IE [ AndersBroman ] * gsm_rlcmac: Update : PACKET RESOURCE REQUEST to Release 14.0.0 [ Keith ] * Send UL-CTRL Packet to GSMTAP even if we fail to decode. * Don't check ul_control_block before decoding into it. [ Harald Welte ] * csn1.c: Almost all of the logging is DEBUG, not NOTICE * TODO: remove those that have obviously been implemented 5+ years ago * bts.cpp: Increase constructor priority * Use osmo_fd_setup() whenever applicable * Use osmo_fd_*_{disable,enable} * gb manual: 08.16 -> 48.016 / 08.18 -> 48.018 * gb manual: NS is implemented in libosmogb, not libosmocore * manuals/gb/ns.adoc: Update documentation regarding SNS capability * migrate to DLBSSGP as log sub-system for BSSGP [ Eric ] * configure.ac: fix libtool issue with clang and sanitizer * tbf: add virtual destructor [ Philipp Maier ] * gprs_debug: Use only LOGL_NOTICE as default loglevel * vty: add attributes to VTY commands indicating when they apply * pcu_main: add commandline option --vty-ref-xml * gprs_bssgp_rim: add serving BSS NACC application [ Oliver Smith ] * contrib: import RPM spec * contrib: integrate RPM spec * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in * contrib/jenkins: don't build osmo-gsm-manuals * configure.ac: set -std=gnu11 [ Neels Hofmeyr ] * use new osmo_mobile_identity api (avoid deprecation) * paging: pass struct osmo_mobile_identity, not encoded IE bytes [ Alexander Couzens ] * pcuif_proto: version 0xa: add support for IPv6 NSVCs * Revert "pcuif_proto: version 0xa: add support for IPv6 NSVCs" * pcuif_proto: version 10: add support for IPv6 NSVCs * Use the new NS2 lib * Rework NS configuration over the info indication * pcu_l1_if: fix misaligned assignment of remote address * NS2: follow the change of ownership * gprs_bssgp_pcu: follow ns2 library changes * NS2: rework handling of unknown primitive * ns2: follow ns2 dialect changes * ns2: follow changes to add a unique name to all binds * ns2: follow ns2 sns api changes * gprs_ns2: set default dialect to ipaccess * gprs_rlcmac_sched: don't leak a sched_dummy() * gprs_rlc_ts_alloc: ensure no rolling slots are allocated * follow gprs_ns2 API enum changes * gprs_ns2: migrate to the new vty syntax * gprs_bssgp: rework and rename ns_create_nsvc -> ns_configure_nse * gprs_bssgp: rename gprs_ns_config -> gprs_ns_update_config * gprs_bssgp: use gprs_ns2_sns_add_bind() to allow the NSE to use the binds for IP-SNS configuration -- Pau Espin Pedrol Tue, 23 Feb 2021 14:41:00 +0100 osmo-pcu (0.8.0) unstable; urgency=medium [ Alexander Couzens ] * tests: test encoding of egprs ul ack/nacks * tbf_dl: add comments to the scheduler * encoding: fix space, tabs [ Vadim Yanitskiy ] * osmobts_sock.cpp: pcu_sock_cb(): use libosmocore's socket API * osmobts_sock.cpp: pcu_sock_read(): use stack buffer, not heap * osmobts_sock.cpp: pcu_sock_read(): further simplify the code * osmobts_sock.cpp: do not print the same debug message twice * VTY: refactor pcu_vty_show_ms_all(): use show_ms() * VTY: fix command 'show tbf all': properly filter TBFs * BSSGP: do not reject SUSPEND ACK / NACK messages * BSSGP: properly print BVCI for signalling messages (BVCI=0) * tests/tbf: suspend warnings about the link quality measurements * GprsMs::update_cs_ul(): clarify the meaning of old_link_qual * gprs_bssgp_destroy(): fix memleak and NULL-pointer dereference * PTCCH: implement basic message codec and API * PTCCH: properly handle RTS.req for PCU_IF_SAPI_PTCCH * pcuif_proto.h: extend RACH.ind with TRX / TS numbers * PTCCH: properly handle RACH.ind for PCU_IF_SAPI_PTCCH * VTY: add warning about changing PCU socket path at run-time * VTY: cosmetic: use osmo_talloc_replace_string() [ Pau Espin Pedrol ] * cosmetic: tbf: Rename T and N arrays * Use proper API osmo_timer_setup() to set up timer struct * Introduce osmo_tdef infra and timer VTY commands * bts.cpp: Fix osmo_tdef initialization on older g++ compilers * Use osmo_tdef for BSSGP T1 and T2 * Use osmo_tdef to implement T3190 * tests: TbfTest: Unify stderr and stdout to ease debugging * Use osmo_tdef to implement ms-idle-time * Use osmo_tdef to implement dl-tbf-idle-time * pdch.cpp: Refactor bitvec param passing in rcv_control_block * pdch.cpp: Use pcu_l1_meas previously filled by lower layers * cosmetic: fix whitespace * Move out tbf subclasses from tbf.h to their own headers * Move tbf_{dl,ul} child constructors to respective .cpp files * tbf_dl: Setup m_llc_timer in constructor using osmocom API * tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE * vty: Fix osmo_tdef timers not listed in write config * Log RACH Requests using GSMTAP * Log AGCH and PCH blocks using GSMTAP * pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding * pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer * pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items * pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN * Fix assertion hit upon CCCH Paging Request * doc: vty: Update osmo-pcu_vty_reference.xml * Clarify (M)CS related VTY attributes * Remove dash from name used in VTY cmd prompt * tbf_dl.cpp: Fix typo in log line * pcu_l1_if: Check pag_req id_lv len fits buffer * prs_bssgp_pcu.cpp: Mark priv funcs as static and remove trailing whitespace * Fix trailing whitespace * fix typo in log message * Log BVCI PTP value upon msg recv * Split identity_lv param into mi+mi_len [ Oliver Smith ] * doc: update generated VTY reference * tbf_dl: make preemptive retransmission optional * Forward ETWS Primary Notification to MS * tests/app_info: fix compiling with older g++ * configure.ac: set C and C++ dialects [ Harald Welte ] * manual: Fix copy+paste error * manual: Fix documentation missing "-D" command line option * manual: Add missing documentation for '-i' command line option -- Pau Espin Pedrol Fri, 03 Jan 2020 19:40:02 +0100 osmo-pcu (0.7.0) unstable; urgency=medium [ Rafael Diniz ] * Added support for daemonize to osmo-pcu. * Fix help message formatting of osmo-pcu. [ Max ] * Don't install pcuif_proto.h header * Move C include to proper place * Add define for dummy burst string * Add encoding tests for Immediate Assignment * Clarify write_immediate_assignment() signature * Restructure IA Rest Octets encoders * Rewrite Packet Downlink Assignment * Rewrite EGPRS Packet Uplink IA Rest Octets for MBA * Rewrite EGPRS Packet Uplink IA Rest Octets for SBA * MCS: internalize 'family' parameter * EDGE tests: reduce code duplication * MCS: remove dead code * EDGE tests: remove no-op check * Use msgb_eq_data_print() in tests * Tighten lqual table limits check * Enable LGLOBAL logging for TBF tests * Log (M)CS UL update errors * MCS: move Coding Scheme enum outside of class definition * Make get_retx_mcs() into regular function * MCS: remove unused function * Debian: bump copyright year * Use unique NSEI/BVCI/NSVCI in TBF tests * MS store: move test helper to unit test * Explicitly clean up BTS singleton * MCS: move HeaderType enum outside of class definition * MCS: use value_string for conversion * TBF-DL: log MCS as string * Fix TA index encoder * MCS: move Mode enum outside of class definition * MCS: add mcs_is_*() helpers * MCS: add Channel Coding Command encoder * Fix Channel Coding Command for MCS * Rewrite Packet Uplink IA Rest Octets for MBA * Rewrite Packet Uplink IA Rest Octets for SBA * Use Timing Advance Index in UL assignments * TBF: update MCS counters * TBF-DL: cosmetic update for helper routines * Update IA Rest Octets encoding * TS alloc: expand tests log * vty: add commands to show TBF of a certain kind * Update MCS selection for retransmission * cosmetic: use const pointer for bts_data * Add test for MS mode and (M)CS settings * Use libosmocore for IMSI parsing [ Harald Welte ] * Mark gprs_ns_reconnect() as static (not used outside of C file) * Optionally Use the NS Sub-Network-Service (SNS) on Gb * pcu_l1_if: Fix erroneous endian-swapping of the CellID * Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP * gprs_debug: Use named initializers and explicit array indicies * bssgp: Fix dead code: PDUT_STATUS can never reach this part [ JF Dionne ] * encoding: Fixes TMSI vs MI bit selection in repeated page info [ Oliver Smith ] * tests: use -no-install libtool flag to avoid ./lt-* scripts * debian: create -doc subpackage with pdf manuals * contrib/jenkins.sh: run "make maintainer-clean" [ Daniel Willmann ] * Include pdch.h in bts.h even if we're not compiling C++ * oc2g: Remove custom alarms * oc2g: Change log type (Litecell15->Oc2g) * jenkins.sh: Add oc2g build support * manuals: Add script to regenerate vty/counter documentation * manuals: Update VTY documentation [ Jean-Francois Dionne ] * Initial commit for OC-2G support. [ Minh-Quang Nguyen ] * OC-2G: Fix missing header * OC-2G: Fix TA adjustment * OC-2G: Always use positive TA information provided in PH-RA-IND [ Alexander Couzens ] * gprs_bssgp_pcu: make gprs_bssgp_ns_cb public * gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance * encoding: correct encoding of CRBB in ACK/NACK when not byte aligned * encoding: use `/* */` for comments instead of `#if 0 #endif` * egprs_rlc_compression: fix white spaces * tests/BitcompTest: fix wording in log message * rlc: replace int with uint16_t * Encoding: drop struct gprs_rlcmac_bts* from all functions * decompress_crbb: add length argument for search_runlen * Encoding: write_packet_ack_nack_desc_egprs: don't use a reference for rest_bits * bts.cpp: ensure left-shift operation does not exceed uint32_t * Encoding: use uint16_t when interacting with the window object * Encoding: ACK/NACK: always encode with length field present [ Keith ] * Cosmetic: Osmcoom -> Osmocom [ Vadim Yanitskiy ] * src/pcu_l1_if.cpp: fix: properly pass measurements from PCUIF * gprs_bssgp_pcu_rx_dl_ud(): fix: BSSGP_IE_IMSI is optional * gprs_bssgp_pcu.cpp: check return code of gsm48_mi_to_string() * gprs_bssgp_pcu_rx_dl_ud(): use OSMO_IMSI_BUF_SIZE [ Thorsten Alteholz ] * fix spelling errors detected by lintian [ Eric Wild ] * ubsan: fix shift [ Pau Espin Pedrol ] * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds * Require newer libosmocore to avoid compile failures -- Pau Espin Pedrol Wed, 07 Aug 2019 21:09:53 +0200 osmo-pcu (0.6.0) unstable; urgency=medium [ Harald Welte ] * debian/rules: Don't overwrite .tarball-version * gprs_rlcmac_received_lost(): Fix regression / uninitialized now_tv * initial checkin of manuals to public repo * Add link to Asciidoc source code of manual * Initial place-holder for the new Gb/IP interface documentation * Gb message sequence chart: flip sides (SGSN should be right) * Gb message sequence chart: Add notion of PCU unix domain socket * Gb: Various spelling fixes * gb: Some language improvements, formatting changes * consistently use '3GPP TS' not sometimes 3GPP TS and sometimes TS. * gb/NS: Clarify the language regarding the UDP port numbers / socket * vty-ref: Update URI of docbook 5.0 schema [ Pau Espin Pedrol ] * Cleanup of systemd service files * configure.ac: Set CXXFLAGS during --enable-sanitize * Install systemd services with autotools * Move examples/ to doc/examples/ * Install osmo-pcu.cfg to docdir/examples * Allow easily disabling GFDL references [ Stefan Sperling ] * check for overlong unix socket paths [ Max ] * deb: add missing copyright file * OsmoPCU: fix Gb documentation front page * OsmoPCU: expand NS documentation * OsmoPCU: expand BSSGP documentation * OsmoPCU: add MSC chart [ Neels Hofmeyr ] * Importing history from osmo-gsm-manuals.git * make clean: also remove generated image files * add 'make check' target * fix 'make clean': shell glob, ignore failure * refactor Makefile build rules, don't use the FORCE [ Jonathan Brielmaier ] * fix various typos across all manuals [ Philipp ] * configuration: fixing typos [ Alexander Couzens ] * OsmoPCU: add rate counter documentation [ Daniel Willmann ] * Change OpenBSC mentions to OsmoBSC where applicable [ Oliver Smith ] * build manuals moved here from osmo-gsm-manuals.git * Fix DISTCHECK_CONFIGURE_FLAGS override * contrib/jenkins.sh: build and publish manuals * contrib: fix makedistcheck with disabled systemd -- Harald Welte Mon, 21 Jan 2019 19:03:52 +0100 osmo-pcu (0.5.1) unstable; urgency=medium [ Harald Welte ] * Don't register SIGHUP handler without actually handling SIGHUP [ Pau Espin Pedrol ] * tbf: Fix memset(0) on object with no trivial copy-assignment * rlc: Fix memset(0) on object with no trivial copy-assignment * jenkins.sh: use flag --enable-werror for sysmo and none * tbf: Use incrementing id for rate_ctr_group_alloc * tbf: Replace '.' in counter names with ':' [ Stefan Sperling ] * fix a one-byte stack buffer overrun in osmo-pcu * read monotonic clock with clock_gettime() instead of gettimeofday() * fix time-delta calculations for measurement reports * change log level of "DL packet loss" log messages * check bssgp_tlv_parse() return code in gprs_bssgp_pcu_rcvmsg() -- Pau Espin Pedrol Fri, 27 Jul 2018 21:56:38 +0200 osmo-pcu (0.5.0) unstable; urgency=medium [ Neels Hofmeyr ] * jenkins: use osmo-clean-workspace.sh before and after build * vty: skip installing cmds now always installed by default * implement support for 3-digit MNC with leading zeros * configure: add --enable-werror * mslot_class: find_free_tfi(): use uint32_t to shift 1 << 31 * mslot_class: two more: use uint32_t to shift 1 << 31 * Revert "Use Timing Advance Index in UL assignments" * Revert "Rewrite Packet Uplink Assignment" * Revert "Rewrite Packet Downlink Assignment" * configure: fix --enable-sysmocom-dsp and --with-sysmobts flags * configure: properly quote CFLAGS in lc15 check * Revert "Rewrite EGPRS Packet Uplink Assignment" * use osmo_init_logging2() with proper talloc ctx [ Minh-Quang Nguyen ] * PCU: Fix TA adjustment * PCU: display TA information in TBF stats [ Max ] * Remove unused parameter * Move multislot table to separate file * Replace '.' in counter names with ':' * Fix compiler warning * TBF: log timer override * TBF: fix compiler warning in test * TBF: expand timer logging * vty: print class and TBFs for each MS * DL window: constify resend_needed() function * TBF: move EGPRS enablement into (U|D)L-TBF * TBF-DL: fix misleading idle time check * TBF: remove unused variable * Remove unused includes and forward declarations * Fix tests after rate_ctr change * Introduce LOGTBF* for consistent logging * TBF: implement independent T31xx timers * TBF: add N3101 counter * Fix warnings * Add function to get max supported MS class * Add --enable-sanitize configure option * Enable sanitize for CI test * Add tests for pcu_lsb() * Add optional profiling support * TBF: unify timer handling * TBF: log timer invocation source * TBF: bail out for unknown timers * Fix llc_queue_size() type * TBF-DL: mark rcvd_dl_ack() parameters as boolean * window: move encoding into functions * cosmetic: clarify coding scheme and puncturing * Make TBF state private * TBF: cleanup state flag handling * Clarify RACH-related interfaces * TBF-UL: add simpler test helper * Avoid code duplication in TBF test * TBF: move window parameters to UL/DL level * TBF-DL: move priority computation into function * TBF: unify EGPRS window calculation * Don't access TBF internals in vty functions * Fix jenkins.sh to match jenkins job axis filter * Allocate global context for TypesTest * Fix sanitizer build * Rewrite EGPRS Packet Uplink Assignment * Rewrite Packet Downlink Assignment * Rewrite Packet Uplink Assignment * Use Timing Advance Index in UL assignments * Allow specifying sysmocom headers explicitly * TBF: log source of state transitions * jenkins.sh: Disable building doxygen for deps * Set V_N and V_B to known initial state * TBF: add dedicated log categories * TBF: make UL/DL state internal * TBF: make UL ack state internal * TBF: make poll state internal * TBF: adjust test log levels * Add tests for find_multi_slots() * AllocTest: adjust test_alloc_b() * AllocTest: expand test output * AllocTest: remove assumption on max MS class * Add multislot classes from latest spec * cosmetic: fix whitespace issue with include files * TBF: decrease L1 logging verbosity in test * TBF: override send function via linker option * Simplify TS alloc: adjust allocator signatures * Simplify TS alloc: fix allocation calls * Simplify TS alloc: avoid TS reassignment * Simplify TS alloc: use defines for constants * Simplify TS alloc: adjust function signatures * TS alloc: print suggested TRX on allocation errors * Simplify TS alloc: internalize TRX check * TBF: decrease logging verbosity for traffic * TBF: add helpers for assignment type handling * TBF: show assignment kind in vty * vty: drop unused function * RACH: improve single block detection * TBF: move common test code into functions * emu: use libosmocore definitions * Use explicit type for pcu_lsb() * Move paging generation into PDCH * Move include guard to the top * Update header includes * Simplify TS alloc: split off RX mask computation * Simplify TS alloc: separate capacity computation * Simplify TS alloc: split allocation * Simplify TS alloc: split USF/UL allocation * Move PDCH-related functions into separate files * Simplify TS alloc: don't use PDCH for free TFI * Simplify TS alloc: constify max dl slot func * TBF: make network counters internal * Simplify TS alloc: move slot assignment * Simplify TS alloc: move slot check into functions [ Pau Espin Pedrol ] * Print error cause of pcu socket connect failure * gprs_bssgp_pcu.cpp: Comment unused function parse_ra_cap [ Stefan Sperling ] * Make osmo-pcu wait for BTS to become available at start-up time. * improve documentation of Encoding::write_paging_request() [ Alexander Couzens ] * pcuif_proto.h: fix whitespaces and indention * pcuif_proto: add version 8 features [ Philipp Maier ] * cosmetic: remove runaway semicolon * pcu_l1_if: add frame number to log output * tbf: add frame number to log output -- Pau Espin Pedrol Thu, 03 May 2018 16:20:00 +0200 osmo-pcu (0.4.0) unstable; urgency=medium [ Holger Hans Peter Freyther ] * Initial release. [ Max ] * Use value string check from osmo-ci * cosmetic: tighten direct-phy related code * Support receiving SI13 from BTS * Move gsmtap and accounting into separate function * cosmetic: convert explicit warnings to fixme/todo * Assert valid CS * TBF-DL: extend index check for RLC block copy * TS alloc: properly count UL slots * cosmetic: reformat multislot classes table [ Philipp Maier ] * gb: allow only packets from a specific SGSN [ Harald Welte ] * tests: Don't use private version of log_info but global gprs_log_info * Call osmo_init_logging() before static BTS constructor * Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP * Debian: Cosmetic changes to control file; add better Description * Debian: print test results in case of failure + clean-up autotest * Debian: migrate from DEB_BUILD_HARDENING to DEB_BUILD_MAINT_OPTIONS * Debian: upgrade to debhelper 9 / Standards 3.9.8 -- Harald Welte Sun, 29 Oct 2017 12:03:05 +0100 osmo-pcu (0.3.0) UNRELEASED; urgency=medium * Initial release. -- Holger Hans Peter Freyther Fri, 01 Apr 2016 18:59:00 +0200