Commit Graph

866 Commits

Author SHA1 Message Date
Andre Puschmann a559077b54 fixed uninitialized member in radio.h 2019-05-02 12:06:21 +02:00
Xavier Arteaga c18a59730c Solved PHY unit test memory leaks 2019-04-30 15:56:47 +02:00
Xavier Arteaga baac179d95 Added vector complex sine generator 2019-04-30 15:08:39 +02:00
Xavier Arteaga 7bd3a9a43b Added ringbuffer read function with timeout 2019-04-30 15:06:39 +02:00
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 2019-04-30 15:02:08 +02:00
Xavier Arteaga 06a9d8eb6f Added vector estimate frequency 2019-04-30 14:52:16 +02:00
Xavier Arteaga 4187781268 Random module return pointer object and solved NAN issue 2019-04-30 14:48:13 +02:00
Francisco Paisana 1674c8939f automatically resolve invalid prach_offset for prb6 2019-04-29 15:53:59 +02:00
Ismael Gomez 47acbc1e08 Compute per-antenna and per-port chest metrics in chest_res 2019-04-29 15:25:01 +02:00
yagoda 3842beab0f - fixing pmch file test for standard LTE rates
- adding special value for MTCH stop
- adding error messages for config values incompatible with MBMS
2019-04-29 12:04:42 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Andre Puschmann 205db6f229 add missing license headers 2019-04-26 21:20:12 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann f2266bb264 add uint64 (sample based) time stamp helpers 2019-04-22 15:35:26 +02:00
Xavier Arteaga ed6b138cb2 Added safe and good quality random generator in phy/utils 2019-04-21 21:41:17 +02:00
Xavier Arteaga c42fbbe6a5 Created 3GPP fading channel emulator 2019-04-21 15:27:31 +02:00
David Rupprecht b84e49310e Enable encryption in reconfiguration and after security mode command (NOT TEST) 2019-04-11 21:38:01 +02:00
David Rupprecht eb3a83ac45 User Plane key in configuration interface 2019-04-11 21:38:01 +02:00
Pedro Alvarez ca603810ce Adding Downlink data notification and paging functionality to the EPC.
This entails:

  * Adding S1AP paging messaging to the MME.
  * Adding the Downlink Data Notification, Donlink Data Notification Acknoledgment, and Downlink Data Notification Failure Messages.
  * Adding the logic at the GTP-U to detect that Downlink Data notification needs to be sent.
  * Proper handling of the new GTP-C messages at the MME GTPC and SPGW GTPC classes
  * Add queuing mechanisms at the GTP-U while waiting for paging response. Queue is flushed when paging fails (timeout or other).
  * Make sure eNB's SCTP information is properly stored.
  * Make sure UE's GUTI information is properly stored.
2019-04-09 16:59:44 +02:00
Pedro Alvarez 1db959c661 Added NAS timer functionality to the EPC. This entails:
* Adding timer creation at NAS using timerfd_create
  * Adding the ability to add and remove the timer file descriptor to the MME main select loop
  * Adding the ability to the MME for the NAS to check if a timer is running
  * Adding the timer expiry handling functionality at the MME
2019-04-08 13:05:54 +02:00
Francisco Paisana dc0b903130 added default enum inits 2019-04-02 11:03:37 +02:00
Pedro Alvarez 5f7b6ba79e Split GTP-C and GTP-U functionality into seperate classes in the SPGW. Added GTP-U specific logging in the EPC. Added handle_s11_pdu function to both the MME GTP-C entity and the SPGW GTP-C entity. 2019-04-02 09:17:00 +02:00
Pedro Alvarez add60c1288 Applied clang-format to the EPC. 2019-03-20 14:00:02 +01:00
Francisco Paisana 7fd8ca82c6 fix complex.h issue 2019-03-11 13:31:43 +01:00
Andre Puschmann 1cc6ae3c60 enable c++11 support 2019-03-11 13:31:43 +01:00
Andre Puschmann e84d26ae4e fix RLC UM reestablishment 2019-03-01 11:01:58 +01:00
Francisco Paisana 80031d0846 shortened enumerated string/number conversion implementations. 2019-02-21 15:56:23 +01:00
Francisco Paisana ca3ea5e658 shortened enumerated types declarations 2019-02-21 15:56:23 +01:00
Francisco Paisana e50c062084 added extra separator comments 2019-02-21 15:56:23 +01:00
Andre Puschmann afb591ee97 add ctor for worker class in thread_pool 2019-02-20 16:14:48 +01:00
Andre Puschmann c8f8c16d50
make EIA and EEA algorithms configurable (#323)
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.
2019-02-08 22:37:16 +01:00
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 2019-02-01 17:11:55 +01:00
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 2019-01-22 12:23:57 +01:00
Andre Puschmann 2e1b8240e6 fix uninitialized timeval struct in metrics_hub
This was causing issue in some builds done on the Ubuntu
PPA systems leading to an SIGILL when starting the UE/eNB
2019-01-22 12:23:24 +01:00
Andre Puschmann 77ca1d9882 load config file from user's home directory first before checking etc 2019-01-22 12:09:52 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Andre Puschmann 646eb9c0e3
Merge pull request #313 from softwareradiosystems/next_mme_encryption
NAS MME encryption
2019-01-15 21:31:25 +01:00
Andre Puschmann 4655ad92fe fix mem leak in radio 2019-01-15 16:33:17 +01:00
Pedro Alvarez 584c190773 Merge branch 'next' into next_mme_encryption
Updating next_mme_encryption to the latest next.
2019-01-14 14:16:59 +00:00
Pedro Alvarez 997c24c099 Added config of cipher_algo and integ_algo initialization in NAS class. 2018-12-18 18:27:31 +00:00
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
Andre Puschmann ba87819ff1 retransmit random RLC AM PDU in case tx window is full 2018-09-25 10:46:36 +02:00
Andre Puschmann 34535c7efb fix RLC AM issues reported by clang-tidy 2018-09-25 10:46:36 +02:00
Andre Puschmann c9186f110c add log_filter dtor 2018-09-25 10:45:15 +02:00
Pedro Alvarez 49c44a2bd4 Moved int_helpers to lib so that the EPC can use those functions too. 2018-09-24 14:08:00 +01:00
Ismael Gomez 4068ad0064 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-21 17:03:35 +02:00
Ismael Gomez d0c392e3dd Increase radio preamble buffer 2018-09-21 17:03:25 +02:00
Andre Puschmann b73f48f91e Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-21 10:23:04 +02:00
Ismael Gomez a0c87dcd15 Increased maximum burst samples 2018-09-20 19:25:57 +02:00
Andre Puschmann d981f129e0 Merge branch 'master' into next 2018-09-20 12:54:05 +02:00
Joseph Giovatto 2dddfa2aac added ability to track tput per bearer (#233)
added mac_metrics for ul/dl harq retex counts
2018-09-20 11:22:22 +02:00
Ismael Gomez 4a8d83721a Fix unnecessary memory usage in radio 2018-09-20 09:45:46 +02:00
IgnasJ 67c8bf1368 Fixes for srsLTE on ARM (#229)
* 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.
2018-09-19 17:34:59 +02:00
Ismael Gomez 0294923e2b Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-19 16:42:11 +02:00
Ismael Gomez 197d855d3f Fix issue #240 2018-09-19 16:41:59 +02:00
Xavier Arteaga a9fcd64b1f Fixes #259: Turbodecoder AVX2 instructions under LV_HAVE_AVX (instead of LV_HAVE_AVX2) 2018-09-19 12:35:37 +02:00
Andre Puschmann 184539b87d add LCID change API to UE interface, add method to reestablish single RLC bearer 2018-09-18 15:09:24 +02:00
Andre Puschmann 10bc01a7ae add API to change LCID of RLC bearers 2018-09-17 13:11:03 +02:00
Andre Puschmann 27459bf706 add API to change LCID of PDCP bearers 2018-09-17 13:10:44 +02:00
Andre Puschmann adbec3ee70 fix warning in common.h reported by clang-tidy 2018-09-13 17:12:32 +02:00
Ismael Gomez 243a7708d4 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-07 14:06:27 +02:00
Ismael Gomez 826fbccf11 Fixed memory leaks in new decoder 2018-09-07 14:05:45 +02:00
Andre Puschmann c0899ddda9 refactor RLC AM, add tx/rx subclasses 2018-09-07 10:49:52 +02:00
Ismael Gomez bc9d342959
New optimization on the PHY for both UE and eNodeB (#251)
* 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
2018-09-04 17:51:35 +02:00
Pedro Alvarez 0d80ae795b Added IMSI attach from unknown UE as a static function. 2018-08-27 19:17:23 +01:00
Pedro Alvarez 860e1b5491 Changing Handling of initial UE NAS messages to use static methods. Handling of unknown GUTI attach request should be ok. 2018-08-27 16:06:18 +01:00
Pedro Alvarez 93222f582c Changed authentication response to use downlink_nas_transport(). 2018-08-21 15:17:08 +01:00
Pedro Alvarez f6b8982939 Moved most of the GUTI attach to nas.cc. 2018-08-20 15:48:23 +01:00
Pedro Alvarez 1fba7f0afa Moved function that gets NAS type string to liblte_mme.cc 2018-08-14 18:42:48 +01:00
Pedro Alvarez 127e214b07 Added function to print string of NAS message type based on the message code. 2018-08-14 17:19:19 +01:00
Pedro Alvarez 7077530a29 Merge branch 'next' into nas_cleanup 2018-08-13 11:59:23 +01:00
Andre Puschmann f56592b0fe add getter for PDCP ul/dl counter 2018-08-08 16:26:32 +02:00
Andre Puschmann 91492b87ef add del_bearer for RLC/PDCP 2018-08-06 13:17:51 +02:00
Andre Puschmann 3b8371d090 add detach support (for switch off) 2018-08-06 11:10:12 +02:00
Andre Puschmann 2ef2baf72a increase size of buffer_pool
- 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.
2018-07-30 15:11:31 +02:00
Andre Puschmann 89df8f1582 unify RLC interface for writing SDUs w/ and w/o blocking 2018-07-25 16:08:07 +02:00
Andre Puschmann 3950629a75 remove obsolete RLC_MODE struct and move existing one to rlc_interface.h 2018-07-25 16:06:42 +02:00
Andre Puschmann ee5b055829 rename pdcp function for GW to is_lcid_enabled() 2018-07-25 15:09:19 +02:00
David Rupprecht bf4c84ef7b Fixed clear function in blocked queue (#199) 2018-07-25 09:54:22 +02:00
Andre Puschmann 6a2dc8677b remove obsolete header 2018-07-24 16:44:40 +02:00
Andre Puschmann b8438e9cc3 extend PDCP interface to allow non-blocking write of SDUs 2018-07-24 15:49:09 +02:00
Andre Puschmann 27d3d697df refactor RLC part#2
- move metrics into entities
- make configure interface return true/false on success/failure
- add own srslte mode type
2018-07-23 17:30:32 +02:00
Pedro Alvarez de8679b536 Continuing to cleanup. Starting to compile again. 2018-07-23 15:30:19 +01:00
Andre Puschmann 8e8fab027b refactor RLC base class
- add rwlock
- put RLC entities into map
- general cleanup
2018-07-23 15:42:54 +02:00
Pedro Alvarez f03967776a Continuing to clean nas.cc 2018-07-20 19:50:46 +01:00
Pedro Alvarez b25c12a084 Fixing nas.cc 2018-07-18 19:25:59 +01:00
Pedro Alvarez 85672d4a3f Fixing up s1ap.cc 2018-07-18 17:25:37 +01:00
Andre Puschmann b8b5ad9755 Merge branch 'pdcp_refactor' into next 2018-07-17 17:42:13 +02:00
Xavier Arteaga a21db86a78 SCH Codeblock CRC is computed at same time than parity 0 2018-07-17 15:37:57 +02:00
Andre Puschmann 47a8b1343f add rwlock to PDCP 2018-07-17 15:27:04 +02:00
Andre Puschmann 93c11e4416 turn PDCP array into map 2018-07-17 12:50:10 +02:00
Andre Puschmann b257204471 fix public PDCP interface 2018-07-17 12:17:55 +02:00
Andre Puschmann 31ba175b37 add public PDCP entity interface 2018-07-17 12:17:55 +02:00
Pedro Alvarez 3663d59920 Starting to add s1ap_interface_gtpc and s1ap_interface_nas. Adapting send initial context setup request accordingly. 2018-07-16 13:50:12 +01:00
Andre Puschmann be3b2fbc08
Merge pull request #239 from softwareradiosystems/epc_stacktrace
Epc stacktrace
2018-07-13 14:28:13 +02:00
Pedro Alvarez 84e7925f69 Fixed up a comment. 2018-07-13 12:06:27 +01:00
Pedro Alvarez 8017b792cf Changing SRSLTE_PHY_DEBUG back to SRSLTE_DEBUG. 2018-07-13 11:59:03 +01:00
Pedro Alvarez 597cf18b9d Changing common/debug.h to crash_handler.h 2018-07-13 11:57:15 +01:00
Andre Puschmann 291d80119c fix conflicts after merging 2018-07-13 12:42:54 +02:00
Ismael Gomez 3f38165827 Add log to pool deallocate 2018-07-12 18:41:25 +02:00
Ismael Gomez 2d5cdc4f35 Add log to pool deallocate 2018-07-12 18:13:27 +02:00
Ismael Gomez 5474f6d55f Add log to pool deallocate 2018-07-12 18:13:19 +02:00
Ismael Gomez 3cb9f51460 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-12 18:12:32 +02:00
Andre Puschmann 936001aaf5 add blocking allocation to buffer_pool 2018-07-12 17:52:53 +02:00
Pedro Alvarez c3ef88e112 Fixing conflicts with next. 2018-07-12 15:43:27 +01:00
Andre Puschmann a9b023258c refactor RLC UM to have separate tx/rx objects 2018-07-12 16:13:03 +02:00
Andre Puschmann 4c59f52f9a
Merge pull request #237 from softwareradiosystems/epc_pcap
Epc pcap
2018-07-12 16:00:31 +02:00
Ismael Gomez 3122d8e959 RLC reestablish to re-enable tx_enabled 2018-07-12 11:18:14 +02:00
Ismael Gomez 75e8df2e9f Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-11 15:33:22 +02:00
Andre Puschmann 55b3b61ec1 Merge branch 'master' into next 2018-07-11 13:00:47 +02:00
Ismael Gomez bd5c1fd83a deallocate dedicatedInfoNAS in rrc 2018-07-11 12:56:14 +02:00
Ismael Gomez 074db8478c deallocate dedicatedInfoNAS in rrc 2018-07-10 19:52:46 +02:00
Pedro Alvarez bd43b6e937 Cleanup comment. 2018-07-10 15:56:57 +01:00
Andre Puschmann 9b894799f0 add support for ciphered authentication response 2018-07-10 12:34:25 +02:00
Pedro Alvarez ff49e56871 Starting to add s1ap_pcap class. 2018-07-09 18:25:43 +01:00
Pedro Alvarez 7aaa9a1789 Moved srslte_debug_handle_crash to common/debug.c 2018-07-09 14:33:50 +01:00
Pedro Alvarez 96786e96da Splitting the lib debug into phy and common debug. 2018-07-09 13:15:35 +01:00
Ismael Gomez 005fe87ae9 RLC reestablish to re-enable tx_enabled 2018-07-09 00:26:58 +02:00
Ismael Gomez 493706eab1 Incorrect default value in buffer pool 2018-07-06 16:20:15 +02:00
Ismael Gomez 2da9787907 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-06 15:31:29 +02:00
Ismael Gomez a2615628aa Increase buffer pool size for enb 2018-07-06 15:30:51 +02:00
Pedro Alvarez b460ece601 Merge branch 'mbms_tun' into next 2018-07-06 13:01:14 +01:00
Andre Puschmann 355330dab9
Merge pull request #234 from softwareradiosystems/log_fix
Log fix
2018-07-06 13:07:55 +02:00
Ismael Gomez 85a7daa09d Move RLC buffer size to common 2018-07-06 09:08:29 +02:00
Ismael Gomez 589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues (#229)
* 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
2018-07-05 11:00:19 +02:00
Pedro Alvarez 0e135adc6f Starting to change gtpu_read_header and gtpu_write_header to lib. 2018-07-03 14:30:20 +01:00
Andre Puschmann 87fd218c72 remove unused cond variable in logger 2018-07-03 13:17:48 +02:00
Andre Puschmann 4deb251071 remove duplicate run-state variable in logger_file 2018-07-03 13:09:43 +02:00
jctallon 50589108c6 Mbms fixes (#225)
* 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.
2018-07-02 17:51:09 +02:00
Andre Puschmann 05ede38ea6 remove obsolte config.h 2018-06-29 15:31:34 +02:00
Ismael Gomez 8c92f3fddc
Improvements and fixes on srsENB scheduler (#228) 2018-06-29 11:25:22 +02:00
Andre Puschmann 46436efb3b
Merge pull request #227 from softwareradiosystems/qci_epc
Qci epc
2018-06-28 14:30:48 +02:00
Andre Puschmann 1cba6b18ee
Merge pull request #221 from softwareradiosystems/op_vs_opc
Op vs opc
2018-06-28 12:44:39 +02:00
Xavier Arteaga f01f7b4945 Added Vector max abs SIMD function 2018-06-28 09:28:17 +02:00
Pedro Alvarez 0a6540d8bf Saving QCI into ESM context. Different QCIs should be working now. 2018-06-27 17:45:19 +01:00
Ismael Gomez e18ba937dc Limit uplink signal normalization to avoid clipping 2018-06-27 16:29:40 +02:00
Pedro Alvarez 66db3deeb4 Starting to add Bearer QoS parameter to create session request. 2018-06-27 15:10:17 +01:00
Pedro Alvarez 1b43c40422 Starting to add Bearer QoS IE to Create Session Request. 2018-06-26 18:53:04 +01:00
Pedro Alvarez f301bb6373 Merging next into op_vs_opc and resolving conflicts. 2018-06-26 11:36:40 +01:00
Andre Puschmann 064d7bd2dc use original UE establishment cause in S1AP initial UE message 2018-06-25 18:19:57 +02:00
Xavier Arteaga 5e4fb48184 Refactored CQI reporting logging in UE. Fixes #199 2018-06-25 14:57:12 +02:00
Andre Puschmann ecfa685dde add ctor to radio_multi, fix tearing down radio when not initialized 2018-06-20 16:40:10 +02:00
Andre Puschmann 01f6395d70 add option to force IMSI attach by not loading NAS ctxt from file 2018-06-19 14:23:47 +02:00
Pedro Alvarez 75c5e476f1 Added OPc option to UE. (needs testing.) 2018-06-18 15:19:04 +01:00
Pedro Alvarez 02bc1c9956 Revert "Starting to add OP/OPc support."
This reverts commit 1766e11076.
2018-06-18 11:34:45 +01:00
Pedro Alvarez e3d1cff4a3 Revert "Adding OPc option to security functions."
This reverts commit 0eeb70bede.
2018-06-18 11:29:40 +01:00
Pedro Alvarez 0eeb70bede Adding OPc option to security functions. 2018-06-18 11:24:35 +01:00
Pedro Alvarez 1766e11076 Starting to add OP/OPc support. 2018-06-15 13:28:23 +01:00
Ismael Gomez 6120f20290
Changes in RRC and S1AP to make enb more robust on UE add/rem operations.
* Consolidated functions in S1AP

* Fixed ASAN in some GCC

* Stop quicker the enb

* Minor typo edit

* Fixed mutexing issues in RRC and possibly RLC/PDCP when adding/removing users
2018-06-12 17:31:07 +02:00
Xavier Arteaga 301415a00a Fixed AGC out of bounds gain 2018-06-11 13:14:47 +02:00
Xavier Arteaga d9db80d17c Merge branch 'next' into pdsch-coworkers 2018-06-06 17:35:09 +02:00
Xavier Arteaga 6ab69b1d4c Added PDSCH coworkers 2018-06-06 16:59:00 +02:00
yagoda 4569247458 setting tx and rx mod in rlc um for mch to 1 2018-06-06 06:42:30 +02:00
Ismael Gomez 67e90d5a9b Code style: Use { } even in 1-line if 2018-06-04 18:38:18 +02:00
Ismael Gomez 863fe4fcd0 Revert "check in SRSLTE_CONFIG_DIR for configs by default"
This reverts commit fb77cb87ca.
2018-06-04 17:36:59 +02:00
Andre Puschmann fb77cb87ca check in SRSLTE_CONFIG_DIR for configs by default 2018-06-04 15:01:16 +02:00
Andre Puschmann 36c650399b rework app startup to search for config files in user's home directory 2018-06-01 15:33:15 +02:00
Ismael Gomez 0a2e9d7b8b Do not reset metrics in the hub 2018-05-31 15:32:01 +02:00
Xavier Arteaga 681b98ae50 Added vector CFO 2018-05-25 16:06:32 +02:00
Andre Puschmann cb15dee3d4 Merge branch 'embms_merge_final' into next 2018-05-23 21:25:37 +02:00
yagoda 54bdfd83ec adding support for mbsfn subframe configuration to pdsch examples 2018-05-22 16:03:25 +02:00
Ismael Gomez 4662b83fe9 Use bzero instead of {} for initializing structs 2018-05-22 15:14:03 +02:00
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 2018-05-22 10:39:05 +02:00
Andre Puschmann 234ec178b2 cleanup pdu.h 2018-05-22 10:28:50 +02:00
Ismael Gomez bad007cdd9 Increase/decrease nbytes counter inside mutexed queue 2018-05-21 23:24:55 +02:00
Ismael Gomez 467ba4e326 Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading 2018-05-21 23:00:57 +02:00
yagoda 65f2747a8e removing mch handler in rlc, fixing embms autostart 2018-05-20 19:24:44 +02:00
yagoda d0cb214725 fixing sheduling issues and merge errors 2018-05-17 20:23:18 +02:00
yagoda 0ae22e0822 fixing scheduling issues for mbms 2018-05-17 20:20:20 +02:00
Andre Puschmann 9ca2b89282 fixing compile warnings 2018-05-17 17:27:44 +02:00
Andre Puschmann 9ce3be974a Merge branch 'next' into embms_merge_final 2018-05-15 22:32:56 +02:00
Andre Puschmann 2fb0dc62a0 refactor config for multicast RLC bearers 2018-05-15 22:23:21 +02:00
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 2018-05-15 17:27:10 +02:00
yagoda 49c3578f64 introducing embms support in common upper layer functions 2018-05-15 16:57:23 +02:00
yagoda ec918eab76 adding support for embms in common functions and interfaces 2018-05-15 16:50:57 +02:00
yagoda 9d7d6c9415 adding adaptations to the phy layer for mbms 2018-05-15 16:13:03 +02:00
Andre Puschmann a30ad8952c fix indent and simplify auth request packing 2018-05-15 12:40:29 +02:00
Andre Puschmann d0457211ad adding support for CHAP auth 2018-05-15 12:40:29 +02:00
Andre Puschmann 4dc2951d59 perform initial attach with ESM info transfer 2018-05-15 12:40:29 +02:00
Andre Puschmann 455d4491c5 make RES length variable when packing auth response 2018-05-15 12:40:29 +02:00
Andre Puschmann 3fe6dad323 adding hard SIM card support using PCSC 2018-05-15 12:40:29 +02:00
Andre Puschmann 51e093e611 Merge branch 'next' into rlc_updates 2018-05-11 15:55:03 +02:00
Ismael Gomez 040c33497d merged PR#189 and added check for non-empty queue in get size tail 2018-05-10 21:32:32 -05:00
Ismael Gomez 4515dd94ea Use blocking queue for RRC measurement fixes #193 2018-05-10 13:41:21 -05:00
Ismael Gomez 04609cd07d Check msg_queue size_tail_bytes existence of buffer 2018-05-10 13:41:17 -05:00
Ismael Gomez ba40a4de84 Add checks for when RLC TM queue is corrupted and reset it 2018-05-10 13:39:34 -05:00
Ismael Gomez f3f4528a2f Testing commit to force a Reestablishment 1s after CONNECT 2018-05-10 13:28:55 -05:00
Andre Puschmann 85028d2aed use pretty function name in buffer_pool debug
- this avoids ambiguity between names, for example
  in reassemble_rx_sdus() for rlc_am an rlc_um
2018-05-10 16:41:37 +02:00
Andre Puschmann 718a15608c dealloc SCH pdu in MAC instead of pdu_queue
- this is basically e9fcb10c9e
  but with the counterpart in the eNB's MAC
2018-05-10 16:36:55 +02:00
Andre Puschmann 595ed70cae Revert "Deallocate SCH pdu on demux instead of pdu_queue"
This reverts commit e9fcb10c9e.
2018-05-08 21:41:33 +02:00
Andre Puschmann 05696a5ca7 Merge branch 'next' into rlc_updates 2018-05-04 14:13:50 +02:00
Ismael Gomez e9fcb10c9e Deallocate SCH pdu on demux instead of pdu_queue 2018-05-02 12:15:23 +02:00
Ismael Gomez aa1724b8f3 Add missing-field-initializers flag and properly initialize structs 2018-04-29 17:55:19 +02:00
Joseph Giovatto ab1d9e98f3 Format and typelimit warnings (#169)
* merge with origin 4fc7dbc3 8daa8346

* fixed whitespace diff

* added .gitignore

* added format warning flags to C_FLAGS
added typelimit check to C_FLAGS and CXX_CLAGS

* Revert "added format warning flags to C_FLAGS"

Apply to branch format_and_typelimt branch

This reverts commit bf7467e82ec7b056ad06dc50cc964fcce18be99b.

* check for format warnings to top level C_FLAGS
added typelimit warnings to top level C_FLAGS and CXX_FLAGS
beset effort attempt to remedy warnings
removed unused param names in hex_log baseclass methods due to multitude of unused-warnings
2018-04-29 17:26:35 +02:00
Andre Puschmann 8fde56c582 unify rlc_am_stress test to allow also UM tests 2018-04-27 15:40:05 +02:00
Andre Puschmann a2f6166365 Merge branch 'next' into rlc_updates 2018-04-27 15:03:17 +02:00
Ismael Gomez 3ab74fb552 Exposed continuous TX mode to ue.conf 2018-04-27 10:23:38 +02:00
Ismael Gomez 3bf9ca6195 Send end of burst on idle 2018-04-26 17:33:21 +02:00
Ismael Gomez 785298e4c5 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-04-26 14:03:49 +02:00
Andre Puschmann d8bfd2713c initialize byte_buffer content in ctors 2018-04-26 13:20:34 +02:00
Ismael Gomez 62787bdd41 Remove unused include 2018-04-26 12:46:17 +02:00