this patch allows to configure the EIA and EEA algorithms
the UE uses and announces during attach. They can
be specified as a comma-separated list.
The patch also removes a dedicated NAS config class and uses
the default nas_args_t type for this. There was a full
duplication of members before.
The patch also converts nas_args_t and usim_args_t into a class
with a default constructor that initialize all booleans.
write_sdu and write_pdu are not re-entrant because all functions
that deal with the counters, e.g. integrity check and generate,
must be protected because MAC threads may call them at the same time.
this addresses issue #254
* Starting to add M2AP serialization structures.
* Added M2AP procedure ids.
* Added some M2AP max values.
* Removing m2ap.cc for now.
* Adding cause IE.
* Adding dummy m2ap.cc to check correct compilation of m2ap.h
* Fixed compilation issues in m2ap.h
* Adding Cell Information IE.
* Added Criticality diagnostics IE.
* Adding eNB-MBMS-ConfigurationDataItem.
* Adding MBMS-Service-Area-Id-List
* Added MBMS Service Area Id.
* Added Global eNB Id IE.
* Added Global MCE id IE.
* Added MBMS-Service-associatedLogicalM2-ConnectionItem IE.
* Added MBSFN_SUBFRAME_CONFIGURATION IE
* Added MCCHrelatedBCCH-ConfigPerMBSFNArea IE.
* Added MCH scheduling period IE.
* Added PMCH-Configuration IE.
* Added Time-to-Wait IE.
* Added TNL-Information IE.
* Starting to add M2SetupRequest msg.
* Adding M2 Setup Request message.
* Fixed up enums related to initiating messages, successful outcome and unscesseful outcome.
* Starting to add m2ap apck/unpack PDU functions.
* Started to add a test for M2 Setup Request Pack/Unpack.
* Filling in M2SetupRequest structure.
* Adding packing of more IEs in the M2SetupRequest.
* Starting to add unpacking functions to M2SetupRequest.
* Continuing to unpack M2SetupRequest. Unpacking PLMN Identity correctly now.
* Fixed up enb_id unpacking. eNB Id and eNB name unpacking correctly now.
* Starting to add unpacking for dataconfiguration item.
* Adding support for eCGI unpacking.
* Adding MBSFN Synchronization Area id Unpacking.
* Adding service area unpacking.
* Added unpacking functionality to the rest of the IEs in the M2 Setup Request. Unpacking the M2 Setup Request is passing unit test.
* Fized mistake in packing eNB Id. Starting to add packing to eCGI.
* Starting to pack value in ENB MBMS Configuration item.
* Fixed packing of ENB MBMS configuration item header.
* Packing of M2 Setup request is now passing the unit test.
* Starting to add M2setup response.
* Starting to add packing/unpacking succeful outcome.
* Starting to add M2SetupResponse to test.
* Continue to add testing to setup response. Choice type seems OK.
* Starting to add unpacking to MCE Id.
* Adding MCEname packing/unpacking.
* Continue to unpack m2setupresponse.
* Adding MBMS Area Id unpacking
* Added pddch length unpacking.
* Adding more IE unpacking.
* Adding more code to unpack M2 Setup response.
* Added M2 Setup response unpacking.
* Added M2 response packing. Fixed mistake on eCGI packing/unpacking, which broke M2 Setup request.
* M2 setup request and response pack and unpacking seems to work.
* Starting to add MBMS Session Start Request.
* Continue to unpack MBMS session start request.
* Added TMGI unpacking.
* Continue to add unpacking to MBMS session start request
* Starting to add TNL Information unpacking
* Added unpack for MBMS session start request.
* Strating to add MBMS session start request packing.
* Adding MCE MBMS M2AP Id packing.
* Added MBMS Session Start Reqeust pack and unpack.
* Added MBMS Session start response packing/unpacking.
* Starting to add unpacking of MBMS Scheduling information.
* Adding MCCH Update time Unpacking.
* Adding MBSFN Area Configuration List Unpacking.
* Starting to add unpack PMCH configuration Item.
* Adding AllocatedSubframesEnd unpack
* Fixed multiple mistakes in unpacking PMCH configuration.
* Unpacking MCH Scheduling Period
* Continue to unpack MBMS Session List Per PMCH Item.
* Added unpacking of PMCH Configuration List. Starting to add unpacking of MBSFN Subframe Configuration List.
* Adding radioframe allocation period and offset unpacking.
* Added unpacking of MBMS Scheduling Information (needs testing.)
* Added more testing to MBMS Scheduling Info.
* Small commit.
* Added more testing to the unpacking of MBMS Scheduling Information. Unpacking correctly now.
* Continue to pack MBMS Scheduling information. Packing PMCH Configuration.
* Fixed mistach in packing PMCH configuration list.
* Adding more packing to MBMS scheduling info message.
* Fixed more mistakes in MBMS Scheduling information packing. Passing tests now.
* Added MBMS Scheduling Information Response.
* Remove debug prints.
- add a simple and low-overhead has_data() method to check whether
an RLC entity has data to transmit or not
- use this method for all calls that are actually not interested
in the amount of data to send
- use the more expensive get_buffer_state() for all cases where
the actual size of the buffer is of importance
- this remove RF calibration parameters that were an extra
section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
device args in the normal rf config section
- With the current default tx queue length (16 SDUs) the BSR reported by the UE
is too low if the size of the SDU is relativly small (e.g. 100 B).
This effectivly causes the eNB to only allocate a small grant
to the UE and thus reduces the UL throughput for small SDUs.
* Fix ARM NEON code compilation
Fix LV_HAVE_NEON defintion incorrecly used instead of HAVE_NEON in some places
Replace vqabsq_s32 with vabsq_f32 as vqabsq_s32 requires int type (fails to compile)
Fix missing NEON code path in mat.h in srslte_mat_2x2_mmse_csi_simd()
* Fix timestamp overflow issue on 32-bit systems with Soapy driver
'time_t secs' can be 32-bit on some systems. This causes calculation:
'secs * 1000000000;' to overflow.
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit
* Optimised UL Interleaver
* Include TB CRC calculation in FEC encoder
* New threading priorities
- This solves an issue where in the worst-case an RLC AM instance would
block because no new data nor control PDUs could be created to flush
the buffers, effectivly causing a system stall.
- Happens in RLC AM stress test regularly with higher drop rates.
* fixed some issues with the UL scheduling
* Hack to fix UL scheduler
* minor fix
* Cleaned up code and fixed issue with the update_allocation function
* fixed the console printing in the enb
* log/console fix
* fixed the log print
* added a normalization factor
* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface
* Limit decimals in metrics stdout
* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users
* Fix deadlock bug for MIMO
* Remove headers
* Fix missing unlock causing overflows
* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)
* Fix mutex unlock in worker
* Configurable RLC tx buffer. Default to 512 for enodeb
* Check NULL SDU in write_sdu()
* Protect RLC objects and tx_queue from being destroyed while using it
* Remove superfluous code
* Disable SIB logging
* Fix block_queue for enb
* fixing the threading structure for mbms in the gtpu
fixing some leaks in pmch tests
fixing stack overflow caused by radio objext
* adding sib.conf.mbsfn.example
* creating a different thread_mch object for the gtpu
* Make mch_thread an isolated class
* excluding mbsfn subframes from noise estimation and cfo estimation
* fixing pdsch ue plotting to only show pmch constellation when mbsfn is activated.