745 Commits (27552a1d7252d42dc6378fa7fbfd1637222095f4)

Author SHA1 Message Date
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. 6 years ago
Pedro Alvarez add60c1288 Applied clang-format to the EPC. 6 years ago
Francisco Paisana 7fd8ca82c6 fix complex.h issue 6 years ago
Andre Puschmann 1cc6ae3c60 enable c++11 support 6 years ago
Andre Puschmann e84d26ae4e fix RLC UM reestablishment 6 years ago
Francisco Paisana 80031d0846 shortened enumerated string/number conversion implementations. 6 years ago
Francisco Paisana ca3ea5e658 shortened enumerated types declarations 6 years ago
Francisco Paisana e50c062084 added extra separator comments 6 years ago
Andre Puschmann afb591ee97 add ctor for worker class in thread_pool 6 years ago
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.
6 years ago
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 6 years ago
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 6 years ago
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
6 years ago
Andre Puschmann 77ca1d9882 load config file from user's home directory first before checking etc 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Andre Puschmann 646eb9c0e3
Merge pull request #313 from softwareradiosystems/next_mme_encryption
NAS MME encryption
6 years ago
Andre Puschmann 4655ad92fe fix mem leak in radio 6 years ago
Pedro Alvarez 584c190773 Merge branch 'next' into next_mme_encryption
Updating next_mme_encryption to the latest next.
6 years ago
Pedro Alvarez 997c24c099 Added config of cipher_algo and integ_algo initialization in NAS class. 6 years ago
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
6 years ago
Andre Puschmann 0e7512f349 fix RLC UM params for eMBMS 6 years ago
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.
6 years ago
Ismael Gomez a8a0c3ebe7 Fixed compilation in zynq 6 years ago
Ismael Gomez 8f541cf4e1 Merge branch 'next' into neon_windowed_tdec 6 years ago
yagoda 3762738bc1 adding windowed neon turbodecoder (can be further optimized) 6 years ago
Andre Puschmann c88cc35fdf try to load config files from /etc/srslte before checking users's home 6 years ago
Andre Puschmann d6196ba234 simplify RRC-NAS interface and only have msg as param (RRC selects LCID) 6 years ago
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
6 years ago
Andre Puschmann df40259c26 fix issue in PDCP when bearer ID for DRBs was not starting with 1 6 years ago
Pedro Alvarez dc727a192b Changing way UL NAS count is used to generate the K_enb. 6 years ago
yagoda 69dc16c4c8 changes to fix arm compilation 6 years ago
Xavier Arteaga 8c3a0153b9 Added missing AVX512 intrinsics and flags. Fixes #291. 6 years ago
Andre Puschmann db910cb84b add CSV metrics for eNB 6 years ago
Andre Puschmann 8a1368c8d6 send connection reject if MME isn't connected 6 years ago
Andre Puschmann b71dab87f1 add function to query if RLC bearer exists (the implementation) 6 years ago
Andre Puschmann 0af19b070c add function to query if RLC bearer exists to UE interface 6 years ago
Andre Puschmann 1ed225a10b add getter for IPv4 and IPv6 addresses 6 years ago
Pedro Alvarez 5c29dba741 Changed Interface between NAS and GW to avoid the GW start function being called twice in IPv4v6 mode. 6 years ago
Pedro Alvarez ac1c300126 Adding the ability to set the interface local link IPv6 address. 6 years ago
Pedro Alvarez 25108e2e2b Added configuration options to UE for IPv6 PDN. Starting to send PDN connectivity requesting IPv6. 6 years ago
Andre Puschmann 23836a8ab3 Merge branch 'next' into nas_cleanup 6 years ago
Andre Puschmann 3f36594f1e fix copy ctors in bit_buffer_t 6 years ago
Andre Puschmann 481a1829dd stop metrics hub thread before calling stop on listeners 6 years ago
Andre Puschmann 270707b7a8 add missing initialization in block_queue 6 years ago
Andre Puschmann 93d17fed3e disable buffer pool logging by default 6 years ago
Andre Puschmann 6ca0d4494a do not transmit new PDUs after calling stop 6 years ago
Andre Puschmann 2645fb50b1 add aligned attribute to liblte_bit_msg_struct to fix issues on ARM 6 years ago
Andre Puschmann ebadf3029e Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Andre Puschmann e06e5b8b60 limit maximum allowd RLC SDU size 6 years ago
Pedro Alvarez d443604661 Merge next into gtp_cleanup_sn. Fixed some conflicts. 6 years ago
Andre Puschmann 96815e3a5f fix RLC AM handling of bigger MAC grants
- fix concatenation and header reconstruction
6 years ago
Andre Puschmann a6d9181881 fix RLC UM issue with very large MAC grants 6 years ago
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
6 years ago
Paul Sutton 0e4ab77fb0 GTPU cleanup, adding support for GTPU echo response (#265) 6 years ago
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
6 years ago
Pedro Alvarez 28f377128b Making sure both Echo request and echo response are supported types. Echo response/request is working again. 6 years ago
Pedro Alvarez a2befbd949 Fix mistake in echo reply/response message type. 6 years ago
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. 6 years ago
Pedro Alvarez c1f633c5c7 Dropping bitfields for now. Using #defines and uint8_t for the flags. 6 years ago
Pedro Alvarez ee04639337 Changed gtpu header flags to use a bitfield. Fixing compilation issues. 6 years ago
Andre Puschmann e64de7ec6b increase maximum buffer size to accomodate max TBS for Cat4 UEs 6 years ago
Pedro Alvarez 8dc029cc47 Merging next into NAS cleanup. 6 years ago
Pedro Alvarez b577c9ac8c Merge branch 'mnc_plmn_217' into next 6 years ago
Andre Puschmann 1985d7b37c fix byte_buffer copy and assignment ctor 6 years ago
Paul Sutton 569a7cbc94 GTPU cleanup, adding support for GTPU echo response 6 years ago
Andre Puschmann 07e42c1964 Merge branch 'rlc_am_subclass' into next 6 years ago
Pedro Alvarez c4a5af11d5 Fixed nibble order in mccmnc_to_plmn and plmn_to_mccmnc. Fixed corresponding PLMN test 6 years ago
Andre Puschmann 86e02921f0 fix regression in RLC base introduced during refactor causing eMBMS to fail 6 years ago
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.
6 years ago
Andre Puschmann ba87819ff1 retransmit random RLC AM PDU in case tx window is full 6 years ago
Andre Puschmann 34535c7efb fix RLC AM issues reported by clang-tidy 6 years ago
Andre Puschmann c9186f110c add log_filter dtor 6 years ago
Pedro Alvarez 49c44a2bd4 Moved int_helpers to lib so that the EPC can use those functions too. 6 years ago
Ismael Gomez 4068ad0064 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Ismael Gomez d0c392e3dd Increase radio preamble buffer 6 years ago
Andre Puschmann b73f48f91e Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Ismael Gomez a0c87dcd15 Increased maximum burst samples 6 years ago
Andre Puschmann d981f129e0 Merge branch 'master' into next 6 years ago
Joseph Giovatto 2dddfa2aac added ability to track tput per bearer (#233)
added mac_metrics for ul/dl harq retex counts
6 years ago
Ismael Gomez 4a8d83721a Fix unnecessary memory usage in radio 6 years ago
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.
6 years ago
Ismael Gomez 0294923e2b Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Ismael Gomez 197d855d3f Fix issue #240 6 years ago
Xavier Arteaga a9fcd64b1f Fixes #259: Turbodecoder AVX2 instructions under LV_HAVE_AVX (instead of LV_HAVE_AVX2) 6 years ago
Andre Puschmann 184539b87d add LCID change API to UE interface, add method to reestablish single RLC bearer 6 years ago
Andre Puschmann 10bc01a7ae add API to change LCID of RLC bearers 6 years ago
Andre Puschmann 27459bf706 add API to change LCID of PDCP bearers 6 years ago
Andre Puschmann adbec3ee70 fix warning in common.h reported by clang-tidy 6 years ago
Ismael Gomez 243a7708d4 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Ismael Gomez 826fbccf11 Fixed memory leaks in new decoder 6 years ago
Andre Puschmann c0899ddda9 refactor RLC AM, add tx/rx subclasses 6 years ago
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
6 years ago
Pedro Alvarez 0d80ae795b Added IMSI attach from unknown UE as a static function. 6 years ago
Pedro Alvarez 860e1b5491 Changing Handling of initial UE NAS messages to use static methods. Handling of unknown GUTI attach request should be ok. 6 years ago
Pedro Alvarez 93222f582c Changed authentication response to use downlink_nas_transport(). 6 years ago
Pedro Alvarez f6b8982939 Moved most of the GUTI attach to nas.cc. 6 years ago
Pedro Alvarez 1fba7f0afa Moved function that gets NAS type string to liblte_mme.cc 6 years ago
Pedro Alvarez 127e214b07 Added function to print string of NAS message type based on the message code. 6 years ago
Pedro Alvarez 7077530a29 Merge branch 'next' into nas_cleanup 6 years ago
Andre Puschmann f56592b0fe add getter for PDCP ul/dl counter 6 years ago
Andre Puschmann 91492b87ef add del_bearer for RLC/PDCP 6 years ago
Andre Puschmann 3b8371d090 add detach support (for switch off) 6 years ago
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.
7 years ago
Andre Puschmann 89df8f1582 unify RLC interface for writing SDUs w/ and w/o blocking 7 years ago
Andre Puschmann 3950629a75 remove obsolete RLC_MODE struct and move existing one to rlc_interface.h 7 years ago
Andre Puschmann ee5b055829 rename pdcp function for GW to is_lcid_enabled() 7 years ago
David Rupprecht bf4c84ef7b Fixed clear function in blocked queue (#199) 7 years ago
Andre Puschmann 6a2dc8677b remove obsolete header 7 years ago
Andre Puschmann b8438e9cc3 extend PDCP interface to allow non-blocking write of SDUs 7 years ago
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
7 years ago
Pedro Alvarez de8679b536 Continuing to cleanup. Starting to compile again. 7 years ago
Andre Puschmann 8e8fab027b refactor RLC base class
- add rwlock
- put RLC entities into map
- general cleanup
7 years ago
Pedro Alvarez f03967776a Continuing to clean nas.cc 7 years ago
Pedro Alvarez b25c12a084 Fixing nas.cc 7 years ago
Pedro Alvarez 85672d4a3f Fixing up s1ap.cc 7 years ago
Andre Puschmann b8b5ad9755 Merge branch 'pdcp_refactor' into next 7 years ago
Xavier Arteaga a21db86a78 SCH Codeblock CRC is computed at same time than parity 0 7 years ago
Andre Puschmann 47a8b1343f add rwlock to PDCP 7 years ago
Andre Puschmann 93c11e4416 turn PDCP array into map 7 years ago
Andre Puschmann b257204471 fix public PDCP interface 7 years ago
Andre Puschmann 31ba175b37 add public PDCP entity interface 7 years ago
Pedro Alvarez 3663d59920 Starting to add s1ap_interface_gtpc and s1ap_interface_nas. Adapting send initial context setup request accordingly. 7 years ago
Andre Puschmann be3b2fbc08
Merge pull request #239 from softwareradiosystems/epc_stacktrace
Epc stacktrace
7 years ago
Pedro Alvarez 84e7925f69 Fixed up a comment. 7 years ago
Pedro Alvarez 8017b792cf Changing SRSLTE_PHY_DEBUG back to SRSLTE_DEBUG. 7 years ago
Pedro Alvarez 597cf18b9d Changing common/debug.h to crash_handler.h 7 years ago
Andre Puschmann 291d80119c fix conflicts after merging 7 years ago
Ismael Gomez 3f38165827 Add log to pool deallocate 7 years ago
Ismael Gomez 2d5cdc4f35 Add log to pool deallocate 7 years ago
Ismael Gomez 5474f6d55f Add log to pool deallocate 7 years ago
Ismael Gomez 3cb9f51460 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 7 years ago
Andre Puschmann 936001aaf5 add blocking allocation to buffer_pool 7 years ago
Pedro Alvarez c3ef88e112 Fixing conflicts with next. 7 years ago
Andre Puschmann a9b023258c refactor RLC UM to have separate tx/rx objects 7 years ago
Andre Puschmann 4c59f52f9a
Merge pull request #237 from softwareradiosystems/epc_pcap
Epc pcap
7 years ago
Ismael Gomez 3122d8e959 RLC reestablish to re-enable tx_enabled 7 years ago
Ismael Gomez 75e8df2e9f Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 7 years ago
Andre Puschmann 55b3b61ec1 Merge branch 'master' into next 7 years ago
Ismael Gomez bd5c1fd83a deallocate dedicatedInfoNAS in rrc 7 years ago
Ismael Gomez 074db8478c deallocate dedicatedInfoNAS in rrc 7 years ago
Pedro Alvarez bd43b6e937 Cleanup comment. 7 years ago
Andre Puschmann 9b894799f0 add support for ciphered authentication response 7 years ago
Pedro Alvarez ff49e56871 Starting to add s1ap_pcap class. 7 years ago
Pedro Alvarez 7aaa9a1789 Moved srslte_debug_handle_crash to common/debug.c 7 years ago
Pedro Alvarez 96786e96da Splitting the lib debug into phy and common debug. 7 years ago
Ismael Gomez 005fe87ae9 RLC reestablish to re-enable tx_enabled 7 years ago
Ismael Gomez 493706eab1 Incorrect default value in buffer pool 7 years ago
Ismael Gomez 2da9787907 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 7 years ago
Ismael Gomez a2615628aa Increase buffer pool size for enb 7 years ago
Pedro Alvarez b460ece601 Merge branch 'mbms_tun' into next 7 years ago