289 Commits (67690136be2bd8a1e26dd6aeab56dec9a7ec1b4a)

Author SHA1 Message Date
Pedro Alvarez 66d4f320e5 Added intereface to set PDCP state after reestablishment. 4 years ago
Pedro Alvarez 217f16d137 Getting PDCP state on re-establishment. 4 years ago
Pedro Alvarez 33567d81db Added interface to get internal PDCP state. 4 years ago
Andre Puschmann e2146e90ad enb: remove usleep after sending RRC Connection Release to UE
this cause a "dead-lock" with ZMQ because it made the stack
thread sleep for 50ms. With a sync-queue size of 1 (now the default
using ZMQ) the zmq-based radio to timeout. as a result
the rx/tx between UE and eNB stopped so the UE never reached
RRC Idle state.
4 years ago
Francisco Paisana cd0202aeaf use alternative method for conres CE scheduling 4 years ago
Francisco Paisana df1f8836b1 fix issue #1418 by changing the ConRes CE scheduling mechanism 4 years ago
Francisco Paisana 6509399ed3 fix for move-only events 4 years ago
Ismael Gomez 60b5fb9a74 Refactor variable name 4 years ago
Francisco Paisana 857c4de420 extended handover test to check for correct SR/CQI resource setup 4 years ago
Francisco Paisana 7ce23e0afb extend handover intraenb handover fsm to account for multiple C-RNTI CEs 4 years ago
Francisco Paisana 613003ac53 add srsenb::rrc class 4 years ago
Francisco Paisana 6908e0fab1 disabled all UL in the MAC during handover, including scheduling requests 4 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.
4 years ago
Francisco Paisana 452c043370 created a global map of lcids to srbs/drbs for NR 5 years ago
Francisco Paisana 6a164e032d added srsue::rrc_nr 5 years ago
Francisco Paisana 43635c3fa1 added cqi cfg to handover command 5 years ago
Francisco Paisana 026628a84f use of reestablishment method to reset the RLC bearers during handover 5 years ago
Francisco Paisana d36ae722d5 added extra debug logs 5 years ago
Francisco Paisana 860174a819 remove comment and changed handover_type enum 5 years ago
Francisco Paisana b37923312e added intraenb handover fsm and respective test 5 years ago
Francisco Paisana 65ef16c7f1 void sending rrc connection release as msg4 5 years ago
Francisco Paisana 61680d64d7 move rrc::ue to separate file 5 years ago
Pedro Alvarez 51f8ba60da Make MBMS MCS configurable for the eNB. 5 years ago
Francisco Paisana 04961148e9 removed old code to compute meas obj diffs 5 years ago
Francisco Paisana 45cd893e21 update handover test 5 years ago
Francisco Paisana f43985b6cd small updates for testing handover and configuring the rrc 5 years ago
Francisco Paisana f2af447b1a use of unique_byte_buffer for sib scheduling to allow for padding 5 years ago
Francisco Paisana 598bad1f0e changed rrc ue cfg files names 5 years ago
Francisco Paisana ea5ba93f25 changed file names 5 years ago
Francisco Paisana ad03d7caf7 move position of security cfg 5 years ago
Francisco Paisana d43448e8a1 created security cfg handling class for rrc ue and refactor bearer_list handling 5 years ago
Francisco Paisana 09cafaa4bb update ded_info_nas_list handling 5 years ago
Francisco Paisana 2e4e22dc68 revert clang-format change 5 years ago
Francisco Paisana 1ac91f2f93 updated erab_setup_test 5 years ago
Francisco Paisana 0515229240 perform mac bearer addiction via the bearer handler class 5 years ago
Francisco Paisana 6bcb5910c9 usage of new bearer list cfg class for srb1/srb2 setup 5 years ago
Francisco Paisana ca0db7fffe created generic methods to apply toaddmodlist and removelists. 5 years ago
Francisco Paisana c65c081b51 created separate files to handle rrc bearers 5 years ago
Francisco Paisana dbcaec6689 avoid dangling reference 5 years ago
Francisco Paisana 71520d681a changes in pucch res allocation api to allow replacing p/scells 5 years ago
Andre Puschmann c892ae56be rrc_cell_cfg: fix potential div by zero
similar fix has been applied for SR resources
5 years ago
Andre Puschmann 248e2b5f7e rrc: fix potential division by zero 5 years ago
yagoda 210eae8e7e fixing small rr.conf config error 5 years ago
Francisco Paisana aab989022d avoid forward declarations 5 years ago
Francisco Paisana 08e1f01c72 allocation of the sr/cqi/pucch_cs resources takes place at a frequency basis now 5 years ago
Francisco Paisana ee994468f7 separate sr and pucch_cs allocation from rrc class 5 years ago
Francisco Paisana b16c7c1cfa created separate cqi res allocation types 5 years ago
Francisco Paisana 4b525127c9 created separate cell ctxt common list 5 years ago
yagoda 94f62b54ad fixing some bugs in embms with new stack and cc scheduler in enodeb 5 years ago
Francisco Paisana b69b274c63 comment removed 5 years ago
Francisco Paisana 6f02c067b3 fix cell ptr assignment 5 years ago
Francisco Paisana 5ef6031b44 added ability to use single-carrier if we are unable to allocate resources for the scells 5 years ago
Francisco Paisana 439193e4b0 added code to handle fail to alloc ue cqi and sr 5 years ago
Francisco Paisana de4d58d8fe fix coverity scan issues in master 5 years ago
Ismael Gomez 485771749e Allocate Scell resources when creating it rather than at UE creation 5 years ago
Ismael Gomez c0054140e9 Configure properly PUCCH CS mode for CA in ConnectionReconfiguration. Allocate n_pucch_cs resource and cqi/sr at rrc::ue constructor 5 years ago
Francisco Paisana 0fc36d44d7 disable handover altogether to avoid crash 5 years ago
Francisco Paisana b8e6ba02e4 remove warnings related to unused vars and fwd declarations with trivial dtors 5 years ago
Xavier Arteaga d7e7399e7b srsENB: PHY configuration in two stages 5 years ago
Xavier Arteaga 1bbf1caabc Reverted PUCCH3 default CA DL HARQ method 5 years ago
Xavier Arteaga a59884a14a SRSENB: configure PUCCH3 as default HARQ feedback for CA 5 years ago
yagoda 8e0b106c22 fixing some warnings from LGTM 5 years ago
Jason Tang 7b7308ac1b Fix CSFB 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 7a132f9ccd more enb interface comments 5 years ago
Francisco Paisana 0526ae8ab1 updated rrc mobility parsing. added some utility methods 5 years ago
Francisco Paisana 64557740fc use mac_buffer_state interface to schedule CEs in scheduler 5 years ago
Francisco Paisana ec94819f08 changed mechanism for conres ce scheduling to be controlled by rrc 5 years ago
Pedro Alvarez 882a610504 Fix mistake in adding dedicated DRB to scheduler. 5 years ago
Pedro Alvarez b176eef8e7 Using a single map to store erab_info messages. 5 years ago
Pedro Alvarez 84b012051c Added ability to reconfigure more than one DRB in the eNB RRC reconfiguration. 5 years ago
Pedro Alvarez 9b60d7977e Make sure that the NAS buffers for multiple erabs are initialized. 5 years ago
Pedro Alvarez cc2b474754 Starting to add array of erab_info messages. 5 years ago
Pedro Alvarez f872e6ec39 Marking nas_pending a vector to support multiple erab setup on sending RRC reconf. 5 years ago
Francisco Paisana ca7e667a22 small fix in list size check 5 years ago
Francisco Paisana 4d0068243b fixing scell activation in the enb rrc 5 years ago
Xavier Arteaga 5b7493cab5 Added 256QAM modulation tables to scheduler 5 years ago
Xavier Arteaga a4225b189b SRSENB: Added initial UE capability parser 5 years ago
Ismael Gomez 425c70c8d7 Fix CQI scheduling allocation for CA 5 years ago
Francisco Paisana 40da4495ce do a loop in rrc::tti_clock() to process all pending events 5 years ago
Francisco Paisana 076aa6b1f8 fix mobility test for when the eutra_capability is received 5 years ago
Pedro Alvarez 88f56721ee Fix issue where connection was still setup when no EPC was connected. 5 years ago
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 5 years ago
Francisco Paisana 4baeee10c5 avoid dangerous [] map operator 5 years ago
Francisco Paisana 1839b9a6e5 cleaned up paging code to avoid extra processing steps in worker threads 5 years ago
Francisco Paisana 9c028ab723 removed user_mutex from srsenb::rrc. All that needed to happen was the prach_worker calling add_user from stack thread (done in an earlier PR), and the get_metrics run in the stack thread. I achieved the latter with an extra metrics queue 5 years ago
Andre Puschmann dff00c77c0 srsenb: fix mobility test after adding UE cap enquiry 5 years ago
Andre Puschmann ce45aabfec srsenb: enable UE capability enquiry during attach
the UE capability information isn't used so far but can now
be analyzed in the PCAP
5 years ago
Ismael Gomez 5846e64a4d
Deallocate all CQI resources when deallocating users (#1097) 5 years ago
Ismael Gomez 73447972d8
Fix issue with simultaneous CQI and ACK/NACK transmission in CA (#1067)
* Fix memory corruption when phy calling mac scheduler and not yet initiated

* Do not drop CQI if collision with ACK/NACK and PUSCH

* Allocate CQI resources for SCell properly

* Use UE_PCELL_CC_IDX macro

* Protect ul_sched from being called if not yet started
5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Andre Puschmann 1099e75e7c fix SCell carrier list population for MAC config
the issue caused to assign 0 as enb_cc_idx for the first SCell always
5 years ago
Francisco Paisana 567790c1a2 Renamed struct to store cell context in rrc. Moved sib buffers to this struct. Created helper methods for lookup 5 years ago
Francisco Paisana fe3195bb27 add default pcell to ue_cfg in RRC 5 years ago
Francisco Paisana 349aed5e0d use sib configuration to set SCellToAddModList 5 years ago
Andre Puschmann f14697cdaa schedule PMI for SCells right after PCell, disable SRS for SCells 5 years ago
Andre Puschmann fdb7b0fa41 fix simple typo 5 years ago
Andre Puschmann c534ee2b55 fix SCell packing in RRC reconfig 5 years ago
Andre Puschmann b7aad27d86 move packing of SCell list into extra method and add fill PHY config on the spot
previously we've packed the RRCReconfig with SCellToAddMod list and have then
parsed the message again to pack the PHY config dedicated for the new SCell carrier. This
is now done in one step.
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
Francisco Paisana 9ad80ee29f added initial_dl_cqi to the enb rr.cfg parser 5 years ago
Francisco Paisana 698899d309 added scells to enb rrc reconf message 5 years ago
Andre Puschmann f2e1bfa699 refactor naming for s/p/cell structs and {enb,ue}_cc_idx 5 years ago
Andre Puschmann 2edecea33e fix SIB transmission for CA
Avoid double buffering of SIBs in MAC as this would require one buffer for each CC.
Instead, use byte_buffer managed by RRC that contains packed SIBs to avoid
double memcpy for each SIB tx. Only use MAC provided buffer in error case.

Also avoid MAC calling RLC for each SIB and call RRC directly.
5 years ago
Andre Puschmann 120ad76c63 refactor cell param handling and fix SIB transmissions
- move cell specific eNB params to cell list in rr.conf
- make sure DL EARFCN and DL freq can be used to manually overwrite a single cell config
- fix SIB packing and transmission for multi cell configs
- introduce cell list to MAC
- adapt default enb.conf.example and rr.conf.example
5 years ago
Pedro Alvarez bd3598f774 Moved srsEPC to the new S1AP library. Deleted liblte_s1ap.cc and liblte_s1ap.h. 5 years ago
Pedro Alvarez afc209711c Fix jump depending on uninitialized variable in srsenb::sched_ue::set_bearer_cfg_unlocked 5 years ago
Francisco Paisana 7210c35c6c checked all methods of srsenb::pdcp to see if they are called by different threads. Since it is all single-threaded, I removed the locks 5 years ago
Xavier Arteaga 4c61ffd391 SRSENB: set UE common PHY configuration in RRC::UE constructor 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 b8b8740258 fix wraparound in si proc and error in scell parsing 5 years ago
Francisco Paisana d831522692 addition of SCell Activation CE Cmd to scheduler and MAC 5 years ago
Xavier Arteaga 385102fa2d SRSENB: minor format, renaming and interface changes 5 years ago
Xavier Arteaga bf4ecc8064 Fix srsenb PHY and unit/component tests 5 years ago
Andre Puschmann cccabdaf4f removing unneeded install targets for static libs (reported by Filipe) 5 years ago
Francisco Paisana c8fc0d91b3 changed the supported cc list to a vector of structs 5 years ago
Francisco Paisana 42b15c7bed use common ue_cfg interface to set the ue antenna info 5 years ago
Francisco Paisana 5f557700f2 changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete 5 years ago
Francisco Paisana b66bc3a6b0 create a sched_interface struct for antenna info dedicated. This way we remove the asn1 as a dependency in the scheduler 5 years ago
Francisco Paisana 88a22e7dbf support cc cfg from rrc 5 years ago
Francisco Paisana 2dc31ea440 added interface to configure multiple cells from the RRC 5 years ago
Andre Puschmann ed179fd311 timers: rename value() to time_elapsed()
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
5 years ago
Andre Puschmann 179fd394b2 enb: add SRB2+DRB1 to scheduler AFTER receiving Reconfig Complete
this commit fixes and issue where, after receiving paging and the resulting
PRACH from the UE, the eNB would create DRB1 and already schedule DL traffic
on this bearer. However, since the UE has not received the reconfig message
yet, the DL traffic is dropped since DRB1 isn't set up yet.

the commit also does not reset the BSR state of the bearer inside MAC since
this caused to a stall of the received DL PDU. The value would initially be set to
a non-zero value (after receiving the DL PDU from EPC). But when the bearer
was (re-)introduced to MAC, it would reset the BSR to zero, and, since
MAC never polls RLC, the PDU wasn't sent down until the next PDU arrives
and sets the BSR to a non-zero value again.
5 years ago
Andre Puschmann 369592544c store last RRC Connection Reconfig with transaction identifier 5 years ago
Andre Puschmann f999e256f9 add error handling for RRC msg packing in eNB 5 years ago
Xavier Arteaga 5dcb6b5960 SRSENB: Set default PRACH sequence root index in SIB2 5 years ago
Francisco Paisana 5ae3afd2b8 created cbit_ref for unpacking const buffers 5 years ago
Francisco Paisana 5468189cd9 fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab) 5 years ago
Francisco Paisana 2a83eee0ee fix security key setup 5 years ago
Francisco Paisana 83758e4f55 fix integrity/ciphering bit setting 5 years ago
Francisco Paisana ee24b59924 converted s1ap to new s1ap asn1 lib. Cleaned up bitstring packing/unpacking and bitstring types 5 years ago
Francisco Paisana b6c53d786b updated s1ap rrc interface with new asn1 lib types 5 years ago
Andre Puschmann fef6893ce4 make user activity handling independent of system time
this commit removes the getsystime() call from the activity handling.
it uses a single timer per UE to handle its activity.

three different timer values exist. one for the Msg3 reception. This
is like before and is quite low to quickly remove fake UEs from the
RRC. The second is a generic value (set to 1s for now) that covers
the entire UE configuration phase where multiple messages are sent
back and forth until the UE is fully set up and the default
bearer runs. From there on, the UE inactivity timer is used which
may be much bigger than 1s.
5 years ago
Francisco Paisana f280720564 this fix was detected by Syed in the mailing list 5 years ago
Andre Puschmann 75672324b9 fix RRC connection reconfig for new bearer
this fixes the packing of a RRC connection reconfig after creating
a new ERAB

it also adds a PDCP config factory based on the received request
5 years ago
yagoda 845c0fc2c0 fixing lcid issue with eMBMS, adding MRNTI user to stdout metrics 5 years ago
Andre Puschmann 476f970ee1 replace FIXME with TODO 5 years ago
Andre Puschmann c7ee887170 add factory function for creating PDCP config 5 years ago
Andre Puschmann 8a064cd3a6 pass msg_type from caller when logging RRC message
before the type of some message wasn't displayed correctly,
like SIBs, for example because the logger didn't
know the filed to retrieve the type string
5 years ago
Andre Puschmann 60d07f1656 assign msg-type to temp variable before logging ASN1 message in RRC 5 years ago
Andre Puschmann c379ef6cb1 fix uninit var 5 years ago
Francisco Paisana d270518d69 updated rrc to new srsasn1 version 5 years ago
Francisco Paisana 6b4488d5c1 added sending of enb status transfer from SeNB 5 years ago
Francisco Paisana c7f11e5690 fixed issue with the liblte_s1ap transparent container packing 5 years ago
Francisco Paisana 39fcf25e0d added extra tests for handover. Did a some refactoring to move boilerplate out of the test mobility function 5 years ago
Francisco Paisana a18a7e307e moved all the parsing of the libconfig files to separate functions that can be called from individual tests. Created several stack layer dummy classes for testing. Extended the rrc_mobility test to check correctness of RRC HOPreparation struct 5 years ago
Francisco Paisana 524c80a804 added handling of ho command 5 years ago
Pedro Alvarez e68956bcf6 Adding discard timer timeout to PDCP config. 5 years ago
Francisco Paisana 0f01b0acc2 clean paging_opportunity function 5 years ago
Francisco Paisana 77f63f7bcd removed gtpu mutex 5 years ago