Commit Graph

626 Commits

Author SHA1 Message Date
Andre Puschmann 955f5dd37a add mutex in pdcp entity
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
2018-12-18 11:54:54 +01:00
Andre Puschmann 0e7512f349 fix RLC UM params for eMBMS 2018-12-17 17:47:27 +01:00
Pedro Alvarez 3205121015 M2 interface packing/unpacking (#305)
* 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.
2018-12-12 15:22:35 +01:00
Ismael Gomez a8a0c3ebe7 Fixed compilation in zynq 2018-12-12 14:34:13 +01:00
Ismael Gomez 8f541cf4e1 Merge branch 'next' into neon_windowed_tdec 2018-12-12 11:47:50 +01:00
yagoda 3762738bc1 adding windowed neon turbodecoder (can be further optimized) 2018-12-12 11:27:07 +01:00
Andre Puschmann c88cc35fdf try to load config files from /etc/srslte before checking users's home 2018-12-11 17:40:48 +01:00
Andre Puschmann d6196ba234 simplify RRC-NAS interface and only have msg as param (RRC selects LCID) 2018-12-10 17:48:52 +01:00
Andre Puschmann c3441046c9 simplify RLC buffer status query procedures
- 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
2018-12-10 17:48:52 +01:00
Andre Puschmann df40259c26 fix issue in PDCP when bearer ID for DRBs was not starting with 1 2018-12-10 16:58:08 +01:00
Pedro Alvarez dc727a192b Changing way UL NAS count is used to generate the K_enb. 2018-11-30 21:42:43 +01:00
yagoda 69dc16c4c8 changes to fix arm compilation 2018-11-27 14:27:59 +01:00
Xavier Arteaga 8c3a0153b9 Added missing AVX512 intrinsics and flags. Fixes #291. 2018-11-21 18:09:09 +01:00
Andre Puschmann db910cb84b add CSV metrics for eNB 2018-11-20 12:15:04 +01:00
Andre Puschmann 8a1368c8d6 send connection reject if MME isn't connected 2018-11-16 14:56:39 +01:00
Andre Puschmann b71dab87f1 add function to query if RLC bearer exists (the implementation) 2018-11-02 21:46:03 +01:00
Andre Puschmann 0af19b070c add function to query if RLC bearer exists to UE interface 2018-11-02 21:28:03 +01:00
Andre Puschmann 1ed225a10b add getter for IPv4 and IPv6 addresses 2018-10-26 13:09:03 +02:00
Pedro Alvarez 5c29dba741 Changed Interface between NAS and GW to avoid the GW start function being called twice in IPv4v6 mode. 2018-10-26 11:42:27 +02:00
Pedro Alvarez ac1c300126 Adding the ability to set the interface local link IPv6 address. 2018-10-26 11:42:27 +02:00
Pedro Alvarez 25108e2e2b Added configuration options to UE for IPv6 PDN. Starting to send PDN connectivity requesting IPv6. 2018-10-26 11:42:27 +02:00
Andre Puschmann 23836a8ab3 Merge branch 'next' into nas_cleanup 2018-10-22 11:26:00 +02:00
Andre Puschmann 3f36594f1e fix copy ctors in bit_buffer_t 2018-10-17 14:44:58 +02:00
Andre Puschmann 481a1829dd stop metrics hub thread before calling stop on listeners 2018-10-15 11:01:59 +02:00
Andre Puschmann 270707b7a8 add missing initialization in block_queue 2018-10-15 09:39:21 +02:00
Andre Puschmann 93d17fed3e disable buffer pool logging by default 2018-10-10 16:29:57 +02:00
Andre Puschmann 6ca0d4494a do not transmit new PDUs after calling stop 2018-10-09 21:17:36 +02:00
Andre Puschmann 2645fb50b1 add aligned attribute to liblte_bit_msg_struct to fix issues on ARM 2018-10-05 12:10:43 +02:00
Andre Puschmann ebadf3029e Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-10-04 14:40:25 +02:00
Andre Puschmann e06e5b8b60 limit maximum allowd RLC SDU size 2018-10-04 14:39:42 +02:00
Pedro Alvarez d443604661 Merge next into gtp_cleanup_sn. Fixed some conflicts. 2018-10-04 12:09:13 +01:00
Andre Puschmann 96815e3a5f fix RLC AM handling of bigger MAC grants
- fix concatenation and header reconstruction
2018-10-03 14:58:24 +02:00
Andre Puschmann a6d9181881 fix RLC UM issue with very large MAC grants 2018-10-03 14:58:24 +02:00
Andre Puschmann bd6bb6903f fix block_queue pop and clear methods
- pop was bzero'ing the popped object which
  causes for more complex objects like std::string
- clear wasn't actually emptying the queue
2018-10-03 10:29:56 +02:00
Paul Sutton 0e4ab77fb0 GTPU cleanup, adding support for GTPU echo response (#265) 2018-10-01 22:18:11 +02:00
Andre Puschmann 0380c83175 remove RF device calibration settings from UE/eNB config
- 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
2018-10-01 21:59:07 +02:00
Pedro Alvarez 28f377128b Making sure both Echo request and echo response are supported types. Echo response/request is working again. 2018-10-01 18:23:04 +01:00
Pedro Alvarez a2befbd949 Fix mistake in echo reply/response message type. 2018-10-01 18:07:30 +01:00
Pedro Alvarez e925ef0a42 Added some more debug infor to error prints. Making sure that packet is not sent from the eNB if there is an error in the GTP-U header packing. Fixed error in checking msg_type. 2018-10-01 17:34:02 +01:00
Pedro Alvarez c1f633c5c7 Dropping bitfields for now. Using #defines and uint8_t for the flags. 2018-10-01 15:17:26 +01:00
Pedro Alvarez ee04639337 Changed gtpu header flags to use a bitfield. Fixing compilation issues. 2018-09-28 13:46:13 +01:00
Andre Puschmann e64de7ec6b increase maximum buffer size to accomodate max TBS for Cat4 UEs 2018-09-26 16:59:11 +02:00
Pedro Alvarez 8dc029cc47 Merging next into NAS cleanup. 2018-09-25 18:56:03 +01:00
Pedro Alvarez b577c9ac8c Merge branch 'mnc_plmn_217' into next 2018-09-25 17:24:30 +01:00
Andre Puschmann 1985d7b37c fix byte_buffer copy and assignment ctor 2018-09-25 17:26:12 +02:00
Paul Sutton 569a7cbc94 GTPU cleanup, adding support for GTPU echo response 2018-09-25 15:17:39 +01:00
Andre Puschmann 07e42c1964 Merge branch 'rlc_am_subclass' into next 2018-09-25 16:08:29 +02:00
Pedro Alvarez c4a5af11d5 Fixed nibble order in mccmnc_to_plmn and plmn_to_mccmnc. Fixed corresponding PLMN test 2018-09-25 14:55:12 +01:00
Andre Puschmann 86e02921f0 fix regression in RLC base introduced during refactor causing eMBMS to fail 2018-09-25 14:04:06 +02:00
Andre Puschmann 22b4396c39 increase default tx_queue length for RLC UM and AM
- 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.
2018-09-25 12:33:25 +02:00