408 Commits (51c6e8d1a6b97a124a8c7d7eb4069c961d1d9596)

Author SHA1 Message Date
Francisco Paisana 556fcb69e7 fix handover my defering to next tti the reestablishment of bearers 5 years ago
Francisco Paisana 71cac8f5b8 fix phy cell selection triggering 5 years ago
Francisco Paisana 37ce475398 fix+refactor of the ue rrc handover preparation procedure to avoid deadlocking 5 years ago
Pedro Alvarez 960c0e97cd Added handling of RRC re-establishment to srsENB.
* Added the appropriate code for handling and sending the
   re-establishment procedure messages to rrc_ue.c/.h.
 * Triggered RRC reconfiguration after the reception of RRC
   re-establishment complete
 * Refreshed K_eNB at the reception of re-establishment
   request
 * Changed the mapping of TEIDs to RNTIs in the GTP-U layer,
   as the RNTI might change with reestablishment.
5 years ago
Francisco Paisana 29fd147d41 remove unused rrc variables 5 years ago
Francisco Paisana 76a3c0ed1c removed deadcode 5 years ago
Francisco Paisana 4cf756434f add srsue::rrc_nr srsue::ue_stack_nr 5 years ago
Francisco Paisana 6a164e032d added srsue::rrc_nr 5 years ago
chaolinyi bbe25a00d4 Update proc_ra.cc to bugfix RA-RNTI calculation
Bugfix the wrong ra_rnti calculation in ra_proc::state_pdcch_setup.
According to TS 36.321 Subsection 5.1.4 Random Access Response reception, we can see the formula on RA-RNTI, which is,
    RA-RNTI= 1 + t_id + 10*f_id,
where t_id is the index of the first subframe of the specified PRACH (0≤ t_id <10), and f_id is the index of the specified PRACH within that subframe, in ascending order of frequency domain (0≤ f_id< 6). Then, reading the srslte source code, we can see that, the code should bugfix. 
BTW, the wrong code can run normal for LTE_FDD, causing of the info_f_id = 0; but it should be wrong, when it is LTE_TDD.
5 years ago
Francisco Paisana 9a0ea6e08c use log_helper for log macros 5 years ago
Francisco Paisana 0b701022a3 added ue nr mac 5 years ago
Francisco Paisana d36ae722d5 added extra debug logs 5 years ago
Ismael Gomez 5d42d16b79 Do not cancel Regular BSR after triggering SR. Fixes mac_test 5 years ago
Ismael Gomez b5ccbf1891 Simplify relationship between BSR, SR and RA procedures. Fix issue #1346 5 years ago
Pedro Alvarez 2ea78c8feb Added configuration options for stack logging. 5 years ago
Andre Puschmann 25ab36ddd5 nas: fix UE not attaching if PLMN isn't found after switching on
if no cell/PLMN can be found if the UE is switched on, the UE was never
trying again.
In theory this would be handled by T3410, but the timer
is not started in case the PLMN search isn't done yet.
5 years ago
Francisco Paisana de4d58d8fe fix coverity scan issues in master 5 years ago
Francisco Paisana b506e29b72 removed common ce_typeenum 5 years ago
Xavier Arteaga 77d5dedddc Fix LGTM warnings and recommendations 5 years ago
Xavier Arteaga 562590e595 Fix LGTM warnings 5 years ago
Pedro Alvarez ad0abe740b Added support to PDCP SN len of 7. Also added a check for valid configs in pdcp entity. 5 years ago
Francisco Paisana 28467d568d eliminated old way to schedule tasks using the heap 5 years ago
Andre Puschmann 2e7e61f53e rrc_meas: fix another compile error on 32bit 5 years ago
Andre Puschmann 8c925e90f5 rrc: fix compile error on 32bit machines 5 years ago
Andre Puschmann 20d9a83dac fix printfs of 64bit numbers when compiling for 32 bit
this caused issues when compiling in 32bit on RPi2
5 years ago
Francisco Paisana c09f76ed6c unified stack task defer method 5 years ago
Andre Puschmann d35c9e2b89 nas: add support ot UE test loop mode B
extend GW-NAS interface to signal test mode activation.
The method is a noop in the normal GW but is implemented in
the TTCN3 DUT according to TS 36.509 for Mode B
5 years ago
Andre Puschmann 66a799661e gw,tft: move traffic flow template matching into own class
this prepares the reuse of the matching functions for the TTCN3 DUT.
create own matcher class that the GW uses.
5 years ago
Francisco Paisana a2ade9edd1 break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder 5 years ago
Francisco Paisana 2950d26daa remove asn1 namespace from srsue files 5 years ago
Daniel Willmann 925225dbeb Implement Close UE Test Loop/Complete messages
This commit implements support for the CLOSE_UE_TEST_LOOP message.
Currently the mode is not saved and looping the data is not implemented.
Only the *_COMPLETE message is sent back as a response.
5 years ago
Andre Puschmann a4abd96ab6 nas: use MME security header when receiving identity request
this basically avoids sending a integrity protected or ciphered
identity response to a plain identity request
5 years ago
Andre Puschmann 4f8f6bf90c nas: add comment as to why attach request is only integrity protected 5 years ago
Andre Puschmann acc2948b45 nas: fix security handling
First of all, with this the NAS conformance tests pass with ciphering and
integrity turned on. Before only integrity was working.

Mainly the NAS was applying the integrity protection and/or ciphering
incorrectly because it wasn't taking the secuirty status of the PDUs
into account. Some where already correct, some not. The patch
streamlines the handling for all outgoing messages.
5 years ago
Xavier Arteaga 25312e81b4 SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object 5 years ago
Xavier Arteaga 051e8fcc52 SRSUE: Apply default PHY config to SCell as well 5 years ago
Xavier Arteaga 6d355ab61e SRSUE: Fix HO initial CFO 5 years ago
Francisco Paisana 30ae2226c1 common interface for stack multiqueue tasks, background tasks and timers 5 years ago
Andre Puschmann 62e4bd9469 log_ptr: fix issue if accessing log_ptr that was reset already
during deinit of the UE/eNB it could happen that the log_ptr
was already set to null but the stack thread was still accessing
it through log_h->info()

i've moved the old macro into a new header and used as as much
as possible. there are still places in the code where similar
macros are used but we would need to change the variable name
to replace them
5 years ago
Andre Puschmann dbb8b6a360 nas: add helper for entering new state in FSM
the helper will log the event
5 years ago
Andre Puschmann ef80502047 nas: print attach attempts on console 5 years ago
Andre Puschmann f477c1d2e5 nas: allow starting a attach request procedure even if a PLMN is already selected
previously the NAS would cancel a attach request procedure if the PLMN
is already selected. PLMN selection, however, in not necessarily happening
before requesting RRC to establish a connection.
5 years ago
Andre Puschmann d8680cc9a8 nas: add helper to pack attach request and send to RRC 5 years ago
Andre Puschmann cf28276a3a nas: add helper function to reset NAS security context 5 years ago
Andre Puschmann 94c6034339 nas: rename start_attach_request to start_attach_proc
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
5 years ago
Andre Puschmann 0e76b9ed15 nas: set NAS key set identifier to no key available when attaching with IMSI 5 years ago
Andre Puschmann 9cfe692825 nas: fix reset of attach attempt counter according to 24.301 Sec 5.5.1.1 5 years ago
Andre Puschmann d0480141e5 nas: move re-arming and stopping of attach request related timers
t3402, t3410 and t3411 are now managed in the sender
function of the attach request. previosly they were only
correctly started in the high-level NAS call start_attach_request()
which may not be called if NAS itself resends the request
5 years ago
Andre Puschmann 15c47fab56 nas: adding t3402 to restart attach after initial attach attempt counter expired 5 years ago
Andre Puschmann 7ef56cb637 nas: add an attach attempt counter as described in 24.301 5 years ago
Francisco Paisana 1538917c3f fix ue metrics 5 years ago
Francisco Paisana 599588ff51 removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking 5 years ago
Ismael Gomez 95c6916987
Improve robustness in RF Overflow (#1124)
* Use task id to track old background tasks in RA procedure

* Improve robustness against RF overflow in PHY

* Increase SNR out-of-sync threshold

* Do not change frequency if it's the same

* Increase sync priority

* Increase time to start receiving to reduce input buffer occupation

* Use scoped lock in sf_worker
5 years ago
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 5 years ago
Francisco Paisana 8e837e173d printf has already a way to pad spaces. If we use it, we can avoid accidentally adding extra logs because we did srslte::logmap::get("MAC") instead of srslte::logmap::get("MAC ") 5 years ago
Francisco Paisana aeed623734 removed pdu processing from the ue rrc cmd queue. Instead, now the rrc processes the incoming pdus right away. This is essential to fix the security cmd issue in the ue 5 years ago
Xavier Arteaga 5e6828c3a0 SRSUE: fix add/mod meas object 5 years ago
Andre Puschmann 3f10224729 refactor airplane mode simulation and move to NAS
- move handling to NAS
- use switch off to enable airplane mode (don't wait for EPC response)
- add tiny FSM to control airplane mode activation/deactivation
- only start on/off counter after state has been entered
5 years ago
Francisco Paisana e91a7ea513 removed stack-mac interface dedicated methods. We use now the task dispatch methods instead 5 years ago
Francisco Paisana de03c96c3b mac::process_pdus now uses the stack task dispatch interface 5 years ago
Francisco Paisana 7f6bde59fc move write_pdu_pcch and write_pdu_bcch_bch to stack thread 5 years ago
Francisco Paisana de3c28e52d added task dispatch capabilities to stack interface 5 years ago
Francisco Paisana 46a1be3e76 updated mac-rlc interface to use unique_byte_buffer 5 years ago
Francisco Paisana 82cb6baef0 now the whole ue and enb mac uses the logmap 5 years ago
Francisco Paisana 602690246e avoid calling rrc::run_tti multiple times in a tti jump 5 years ago
Francisco Paisana 45bc123967 remove manual tti counters from the rrc 5 years ago
Francisco Paisana 138347b6b5 nas using stack timers 5 years ago
Francisco Paisana 770f04b92a the rrc now only works with the stack latest tti, instead of mac's tti 5 years ago
Francisco Paisana e3e5b5be11 removed tti from some mac subcomponent interfaces 5 years ago
Francisco Paisana d3f49d0e3c changed interface sync-stack to allow tti jumps > 1 5 years ago
Francisco Paisana fb967d17a2 now we can disable tprofs individually 5 years ago
Francisco Paisana e73cbb09b0 created tprof statistic for sliding windows 5 years ago
Francisco Paisana 597334c4bf limit the rlc queue size for suspended bearers 5 years ago
Ismael Gomez cf4f4508ce Normalize throughput in CSV/stdout metrics with respect to number of TTIs 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Daniel Willmann b7e11b7bda Use RRC establishment cause mo-signalling for NAS Attach procedure 5 years ago
Daniel Willmann 275f26d875 liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types 5 years ago
Francisco Paisana 5330249625 created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure 5 years ago
Andre Puschmann 70ffe79b43 add support for periodic airplane mode simulation in srsUE 5 years ago
Xavier Arteaga 65711d06dc PRACH TA base default to 0 and apply clang-format 5 years ago
Xavier Arteaga e8f9bfc6ba Addition of PRACH TA correction 5 years ago
Pedro Alvarez 96c82b3fc6 Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
Refactored PDCP, RRC and USIM accordingly.
5 years ago
Andre Puschmann f2e1bfa699 refactor naming for s/p/cell structs and {enb,ue}_cc_idx 5 years ago
Pau Espin Pedrol 1d81ef9e24 gw: Proper error log on non-existing netns 5 years ago
Andre Puschmann 5b8b718482 simplify NAS security handling and fix missing call in act test mode complete
add extra method to apply NAS security config, if configured,
that can be used by each NAS message sender
5 years ago
Andre Puschmann 664170fec6 pcap: add CC index when writing PCAP 5 years ago
Andre Puschmann df31a5c4cc store CC idx in DL/UL HARQ entity 5 years ago
Andre Puschmann 8e4f2a4d59 add UE parameter to enable TTI stats calculations 5 years ago
Andre Puschmann 8b46f631c1 add basic TTI stats in stack 5 years ago
Andre Puschmann ae4cfb50f2 print warning to console if TUN interface couldn't be setup 5 years ago
Andre Puschmann 9e113f8b27 pdcp: allow to configure security for rx/tx seperately
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.

this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.

This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
5 years ago
Andre Puschmann 51864bc03c rrc: print release cause when receiving rrc connection release 5 years ago
Francisco Paisana ac52208409 removed most of clang-tidy warnings, introduced logmap in asn1, fixed info object naming in s1ap and ngap for successful and unsuccessful outcomes 5 years ago
Andre Puschmann dffa2af461 fix NAS re-attach after detach request from network
needed to add a timer to delay transmission of attach request
to allow RRC release on eNB side
5 years ago
Andre Puschmann e4f85ec390 remove re-arming of t3411 after PLMN search
t3411 is restarted after attach or TAU failure only
5 years ago
Andre Puschmann 5b31c1db43 nas: delete security context when receiving attach reject with cause 3, 6, or 35 5 years ago
Francisco Paisana e859d622c7 added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas 5 years ago
Francisco Paisana 4739f3084f fix logs for SIB acquire 5 years ago
Francisco Paisana b8b8740258 fix wraparound in si proc and error in scell parsing 5 years ago
Andre Puschmann 39f2011699 fix issue in SS where Msg4 wouldn't be sent because ConnectionSetup is provided too late 5 years ago