Commit Graph

3824 Commits

Author SHA1 Message Date
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
Pedro Alvarez 9463b95dc1 Remove unused mutex in the SPGW. 2019-04-03 09:52:18 +02:00
Pedro Alvarez 3933b269d7 Added GTP-C message passing between MME and SPGW using UNIX sockets.
* Added S11 sockets to SPGW select and MME select
  * Added send_s11_pdu message to SPGW and MME
  * Remove pointer for replies in handle_s11_pdu
2019-04-03 09:52:18 +02:00
Pedro Alvarez 3e9f10e20d Adding S11 initialization in MME and SPGW as unix sockets. 2019-04-03 09:52:18 +02:00
Francisco Paisana 8a0ae614c2 added default value to ack_nack_repeat 2019-04-02 11:03:37 +02:00
Francisco Paisana f778c6ca8d make mcch check 2019-04-02 11:03:37 +02:00
Francisco Paisana 41338293ea added a default radioframe alloc 2019-04-02 11:03:37 +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
Andre Puschmann 3405a1bff6 add multi-channel support for soapy 2019-03-20 14:07:15 +01:00
Andre Puschmann beec489dd4 fix issue in SoapySDR tx routine
correct offsetting tx buffer when first call couldn't tx all samples
2019-03-20 14:07:15 +01:00
Pedro Alvarez 6e500c5b86 Changed initilization of the NAS at the EPC, to make it easier to add new interfaces. 2019-03-20 14:00:02 +01:00
Pedro Alvarez add60c1288 Applied clang-format to the EPC. 2019-03-20 14:00:02 +01:00
Andre Puschmann d8814a05f0 use stack-allocated messages for tx/rx'ing RRC messages (cherry-picked) 2019-03-19 11:31:10 +01:00
Pedro Alvarez aa3a2a3dba Fix compilation issue with GCC 8.x using complex numbers. 2019-03-13 13:18:17 +01:00
Andre Puschmann 3702a6660e fix compilation for gcc 4.x 2019-03-11 14:39:47 +01:00
Francisco Paisana 7fd8ca82c6 fix complex.h issue 2019-03-11 13:31:43 +01:00
Andre Puschmann 347f427c33 remove unused variables 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 8e38ef2ee4 print PDU length when logging RRC message 2019-03-07 21:25:10 +01:00
Francisco Paisana 18f61b13d9 fixed asn1 to_json converter for extensions 2019-03-01 11:06:39 +01:00
Andre Puschmann e84d26ae4e fix RLC UM reestablishment 2019-03-01 11:01:58 +01:00
Andre Puschmann c49dddc09a fix RLC UM bug and enable Rx after reestablishment 2019-02-22 09:51:59 +01:00
Andre Puschmann c4c44c33f4 use blocking pool_allocate in pdu_queue 2019-02-21 16:10:04 +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
Francisco Paisana 75acb046d9 small p_a initialization fix 2019-02-20 16:14:58 +01:00
Andre Puschmann 6b04435edc move setting of EARFCNs straight into parse_args function 2019-02-20 16:14:53 +01:00
Andre Puschmann afb591ee97 add ctor for worker class in thread_pool 2019-02-20 16:14:48 +01:00
Andre Puschmann 4204321fde fix uninitialised variables in enb during startup 2019-02-20 16:14:42 +01:00
Andre Puschmann 94481c1963 removed warning in RLC if LCID isn't valid for all methods called by BSR procedure
this was causing many warnings in the log because the BSR checks with RLC
if a bearer has data even if it doesn't exist
2019-02-11 23:58:19 +01:00
Andre Puschmann 0aef6f8d4a fix various uninitialized variables 2019-02-10 09:08:06 +01:00
Andre Puschmann 99e0bda779 let valgrind fail when test app returns 0 but valgrind still found an error
this allows to trace uninitialized variables etc with our default
memcheck runs because now valgrind will fail such a test, even though
the test executable returned zero on exit
2019-02-08 22:37:51 +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
Francisco Paisana 43a8a8e195 checking the number of prbs available for DL requires an additional check for the prb=6 (#322) 2019-02-05 11:50:33 +01:00
Francisco Paisana 15abb2b020 set the correct size of the buffer for paging 2019-02-04 15:01:44 +00:00
Andre Puschmann 52dd4ca980 disable binpack parameters in clang-format 2019-02-01 17:11:55 +01:00
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 2019-02-01 17:11:55 +01:00
Andre Puschmann 84c8626808 print error when RLC bearer LCID change is not successful 2019-02-01 16:34:45 +01:00
Andre Puschmann 5dfc126a30 improve RLC logging when LCID is not valid 2019-02-01 16:33:22 +01:00
Andre Puschmann 7343453e25 fix bug in rf_imp
- set thread gain run variable to false by default
2019-01-31 15:31:40 +01:00
Andre Puschmann ef544e64c2 expose RF device as paramter for pdsch_enodeb/_ue 2019-01-31 15:31:33 +01:00
Andre Puschmann 61f3a55bc5 initialize and reset avg_noise in phch_common 2019-01-22 21:49:37 +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 a436baed39 fix build string for builds without valid .git folder 2019-01-22 12:09:52 +01:00
Andre Puschmann 777f5b22dc bump version for deb packages to 18.12 2019-01-22 12:09:52 +01:00
Andre Puschmann 4b2117615d update Debian packaging scripts
This commit extends and reorganizes the Debian packaging script
according to suggestions made by Ruben Undheim <ruben.undheim@gmail.com>.
2019-01-22 12:09:52 +01:00