Commit Graph

7140 Commits

Author SHA1 Message Date
Xavier Arteaga a85d79c6b7 Added ZMQ option to delay/advance Rx samples 2021-02-02 15:23:14 +01:00
Xavier Arteaga 73001c9541 Implement NR-DCI conversion to string 2021-02-02 15:23:14 +01:00
Xavier Arteaga 83a5ce96ed Initial NR OFDM symbol size compatibility 2021-02-02 15:23:14 +01:00
Xavier Arteaga 10a7b63c6a NR-UE PHY transmits PRACH in all oportunities 2021-02-02 15:23:14 +01:00
Andre Puschmann df967d95b1 rrc_nr: extract new UE identity from RRC reconfig that tell MAC
required for contention-free RA on NR carrier
2021-02-02 14:13:25 +01:00
Andre Puschmann f5c945dc2f mac_nr: add interface to set C-RNTI and contention ID from RRC
used during contention-based/free RA
2021-02-02 14:13:25 +01:00
Francisco cd68e604b0 fix s1ap UE find method 2021-02-01 22:27:49 +00:00
Francisco 2bde28252c send UE capability indication through S1AP 2021-02-01 22:27:49 +00:00
Francisco d64ce7df77 implementation of S1 E-RAB Release Indication and Error Indication messages 2021-02-01 22:27:49 +00:00
faluco ac62e3c398 Fix the priority of logging levels in places where we before logging we check if a certain log level is enabled. 2021-02-01 20:18:55 +01:00
Andre Puschmann cbedb65247 nas: log warning when NAS timer expires
this allows to let test cases fail based on warnings when
NAS events/actions timeout
2021-02-01 17:08:57 +01:00
herlesupreeth 47fff7226a Send NAS PDU in E-RAB Release Command and issue RRCConnectionReconfiguration to UE
This commit addresses the following points

- If a NAS-PDU IE is contained in the E-RAB RELEASE COMMAND message, the eNB shall pass it to the UE.
- Issue RRCConnectionReconfiguration for the DRB to be removed
- Cleaning of DRB in RLC and GTP-U
- Fix for Malformed E-RAB Setup Response upon reaching max. DRBs
2021-02-01 14:31:24 +01:00
Andre Puschmann dadb34f0ab rrc: fix missing newline in console output 2021-02-01 14:26:49 +01:00
faluco 806268f6cf
Por asn1 code in lib directory to srslog (#2253)
* Match hex dump indentation with srslog.

* Port asn1 utils to use srslog. Converted logging functions from taking varargs to variadic template functions.

* Remove trailing new lines in log lines from asn1 utils.

* First round of upgrades to srslog to asn1 tests.

* Second round of porting asn1 tests to srslog.
2021-02-01 11:58:28 +01:00
Frederick Pelchat fa1f9594cb Fix Issue #615 Only first 8 bits of TAC passed by the ENB to the EPC 2021-02-01 10:44:20 +01:00
Andre Puschmann 1aadc5c53e mac_nr: tiny cleanups of MAC class, use of new logger 2021-02-01 09:58:43 +01:00
Andre Puschmann 73cb0dabf2 mac_nr: move UE MAC class into own subfolder
this should simplify further MAC NR extensions and lead
to a more organized folder structure
2021-02-01 09:58:43 +01:00
Andre Puschmann 1a23b2f9bb ue: don't show NR PDSCH constallation plot in normal EUTRA mode
only initialize NR PDSCH plot when nof NR worker is greater 0
2021-02-01 09:58:27 +01:00
Andre Puschmann f88943653b mac: implement MAC RAR PDU unpacking for NR
* add class for mac_rar_pdu_nr
* extend test case
2021-01-30 11:58:25 +01:00
Andre Puschmann da9e3363f1 mac_pdu_nr: rename MAC PDU class for NR to adhere naming conventions
* mainly to have _nr as trailing name for filename and class
* also add "sch" to class and filename (RAR PDU will have extra class)
2021-01-30 11:58:25 +01:00
Xavier Arteaga 6b4a17dc66 Fix uninit condition 2021-01-30 11:57:49 +01:00
Francisco 2befbd1825 setup of forwarding tunnels during enb s1 handover 2021-01-29 18:46:11 +00:00
Francisco ee3d8a5c77 fix gtpu_test memcpy param overlap bug 2021-01-29 17:22:58 +00:00
Francisco b9271f26da change naming from mme to sgw in gtpu_test 2021-01-29 17:22:58 +00:00
Francisco e8f6a436af update gtpu test to account for scenario of buffered PDCP SNs, and buffering of direct path until indirect tunnel is closed 2021-01-29 17:22:58 +00:00
Francisco a55c4cdca5 avoid gtpu extension header pdcp number magic number 2021-01-29 17:22:58 +00:00
Francisco 56ec2c286e add gtpu test for tunneling 2021-01-29 17:22:58 +00:00
Francisco 13649e4e19 Implement new GTPU functionality:
- multiple tunnels per E-RAB
- data forwarding between connected GTPU tunnels
- forwarding GTPU End Marker between connected tunnels
- TeNB GTPU handles in-sequence delivery when multiple tunnels for the same ERAB exist.
2021-01-29 17:22:58 +00:00
Pedro Alvarez cb32cb4ed7 Changed clang-format to remove newline at beggening of block. 2021-01-29 17:57:00 +01:00
Andre Puschmann cc750d96ee nas: when receiving detach request, don't enter plmn_search automatically
this patch fixes an issue with TC_9_3_1_17 after the "send attach in RRC connected" issue
has been fixed. The TC failed because the UE would always attempt to re-attach, even
after receiving an explicit detach request WITHOUT re-attach from the network.

According to TS 24.301 Sec. 5.5.2.3.2 the handling of that message largely depends
on the detach cause sent by network. Since we don't currently parse and handle
that the simplest solution here is to just enter deregistered:::null.

The patch is also part of the fix for issue #2237
2021-01-29 17:49:46 +01:00
Andre Puschmann 2576ada9e1 nas: do not abort attach procedure if RRC is already connected
this is an attempt to fix issue #2237 that cause the UE to fail to
attach because the attach request wasn't resent after T3410+T3411
expired.

this was only because RRC wasn't idle at that stage and the attach
request generation was aborted.

The patch fixes this by passing the NAS PDU directly to RRC in
connected state.

The patch also converts the blocking PDU alloc to a non-blocking one.
2021-01-29 17:49:46 +01:00
faluco c18e35bc93
Upgrade loggers in srsepc (#2167)
* Started logger replacement in epc main.

* Replaced loggers in nas and s1ap.

* Replace loggers in nas statics.

* Replaced loggers in s1ap ctx mngmt.

* Replace loggers in s1ap erab mngmt.

* Replaced loggers in s1ap mngmt proc.

* Replaced loggers in s1ap nas transport.

* Replaced loggers in s1ap paging.

* Replaced loggers in mme.

* Replaced loggers in mme gtpc.

* Started removing logger injection in init functions and cleaned up argument passing to nas statics.

* Remove logger injection from mme and s1ap.

* Replaced loggers in the hss class.

* Replaced loggers in gtpc.

* Replaced loggers in GTPU and SPGW.

* Replaced loggers in MBMS.
2021-01-29 11:29:20 +01:00
faluco 5981469f9f
Upgrade loggers in srsue (#2163)
* Replaced UE logger in the ue class.

* Replaced loggers in the main phy class and prach.

* Replaced loggers in phy common and ta_control.

* Replace loggers in cc and sf workers.

* Replaced loggers in intra_measure, scell_recv, search, sfn_sync, sync.

* Remove last uses of the old loggers in the main phy class.

* Remove stray newline in logs.

* Replaced loggers in ue gw.

* - Started to replace loggers in the ue stack.
- Replaced loggers in usim and pcsc.
- Adapted nas and usim tests.

* Replace loggers in nas.

* Added missing log init calls in two previously modified tests.

* Replaced logger in nas idle procs.

* Replaced loggers in nas emm state.

* Replaced loggers in tft packet filter and adapted tft test.

* Replaced loggers in main RRC class.

* Replaced loggers in RRC cell.

* Replaced loggers in RRC meas.

* Replaced loggers in rrc procedures.

* Started logger replacement in MAC layer, more precisely in demux and dl_harq classes.
Been unable to inject loggers in construction for dl_tb_process due to very weird static assertions in the std::vector code being the type not constructible which is not true, so instead use the main MAC logger directly.

* Replaced loggers in mac mux class.

* Replaced loggers in mac pro_bsr.

* Replaced loggers in mac proc phr.

* Replaced loggers in mac proc SR and RA.

* Replace loggers in mac UL HARQ.

* Replaced loggers in main ue stack class.

* Fixed nas test crashing due to a null string.

* Ported mac_test to use the new loggers.

* Removed TTI reporting for the PHY log as the old logger did.

* Replaced loggers in UE phy tests.

* Configure loggers in nas_test.

* Replaced loggers in rrc_meas_test.

* Replaced loggers in rrc_reconfig_test.

* Added missing newline in tft_test.

* Fix compilation errors in TTCN3 tests.

* Fix linker error detected in CI and warning.

* Replaced loggers in TTCN3 tests.

* Fix a text replace error in some log messages.

* Remove trailing newlines from log entries.

* Remove old logger from rrc.

* Flush backend before printing the test status.

* - Fix compilation error from previous rebase.
- Remove trailing newlines from some missing log entries.
2021-01-28 17:17:43 +01:00
David Rupprecht 42aa5c4499 Fixed order to set c1 ind ul_dcch_msg 2021-01-28 17:15:52 +01:00
Andre Puschmann 3784439088 add backward as backtrace pretty printer
this patch adds the MIT-licensed header-only library backward-cpp
as possible alternative for our internal backtrace-to-file
writer.
2021-01-28 16:52:52 +01:00
faluco 711438f756
Port enb specific classes to use srslog (#2155)
* - Started porting the enb PHY layer to use srslog loggers.
- Updated srslog to manage the none level.

* Finished porting enb phy layer including the NR part.

* Ported MAC, GTPU, PDCP, RLC and S1AP enb classes to use srslog.

* Use new stack logger.

* Ported the enb RRC clases to use srslog.

* Remove unused log macros.

* Replace loggers in sched, sched_carrier, sched_helpers.

* Replaced loggers in sched grid.

* Replaced loggers in sched harq.

* Replaced loggers in sched ue.

* Replaced loggers in sched ue ctrl.

* Replace loggers in sched ue ctrl TPC.

* Replaced loggers in sched subclasses.

* Replaced loggers in rrc_meascfg_test

* Configure loggers in rrc_mobility_test.

* Fix compilation errors left out after the rebase.

* - Implement a custom log sink that will serve as a test spy to intercept and count the number of error and warning log entries.
- Adapt the erab_test_setup and rrc_mobility tests to use this new class and make them pass again.

* - Remove trailing new lines introduced in the rebase.
- Ported the sched_ue_cell class to srslog.

* Remove unused log member.

* Ported mac tests to srslog.

* - Removed remaining trailing newlines from log entries.

* Fix compiler errors detected in CI.

* Fix another static variable without definition passed to log lines.

* Fixed a bug in srslog::flush that would never end when the backend queue is full.

* Fetch the RRC logger instead of injecting it in the constructor.
2021-01-28 12:17:18 +01:00
Andre Puschmann 4709bacefd srsue: add DL NR-ARFCN param
* add PHY param to set DL NR-ARFCN
* use new band_helper class to convert ARFCNs to supported bands
* signal supported NR bands in UE capabilities
2021-01-28 12:06:02 +01:00
Andre Puschmann 617e0ddb67 band_helper: add helper class for RF bands
attempt to C++ify handling of radio bands and (E/NR)ARFCNs, etc.
2021-01-28 12:06:02 +01:00
Xavier Arteaga 4fe34b5e5b Apply minor comments in NR-PUCCH 2021-01-27 12:30:56 +01:00
Xavier Arteaga 4c6944b883 Implement NR-PUCCH Format 2 DMRS put/Estimate 2021-01-27 12:30:56 +01:00
Xavier Arteaga 958afaee60 Implement NR-PUCCH Format 2 encode/decode. Initial NR-PUCCH procedures. 2021-01-27 12:30:56 +01:00
Xavier Arteaga 4b6849b775 Polar: Add more information to ERROR traces 2021-01-27 12:30:56 +01:00
Xavier Arteaga 573ff24a47 Fix CRC for more sizes 2021-01-27 12:30:56 +01:00
Xavier Arteaga 1ee4d84f80 Added NR-PUCCH encode/decode format2 skeleton 2021-01-27 12:30:56 +01:00
Xavier Arteaga 4d96cf4a41 More NR-PUCCH support 2021-01-27 12:30:56 +01:00
Xavier Arteaga 697bdb4d6d Added NR-PUCCH Format 1 encoder, decoder and DMRS 2021-01-27 12:30:56 +01:00
Xavier Arteaga 33bb387f52 Initial NR-PUCCH formats 0 and 1 encoder 2021-01-27 12:30:56 +01:00
Xavier Arteaga e7562e5b3f Added ZC sequence LUT object 2021-01-27 12:30:56 +01:00
Xavier Arteaga d100919561 Initial NR-UCI encoder 2021-01-27 12:30:56 +01:00
David Rupprecht 9ccc36d4fa Make fake measurement frequency depend on measurement config 2021-01-27 10:37:09 +01:00