Francisco Paisana
8912a8ce6c
added extra comments to memory pool code. generalized object pool to mutexed and non-mutexed cases
4 years ago
Francisco Paisana
a73cbcdc9d
added mem_pool for growing object pools. Applied the mem pool to the rrc::ue creation
4 years ago
Francisco Paisana
2abe486e18
separate control loops for PUCCH and PUSCH TPC
4 years ago
Pedro Alvarez
0c20b7a455
Added support for S1AP modify bearer request support. This includes:
...
- Handle received E-RAB S1AP at s1ap.cc.
- Added methods to rrc.cc, rrc_ue.cc and rrc_bearer_cfg.cc to handle erab modify request.
- Made RLC add_bearer() function capable of re-creating the RLC entity.
- Send RRC reconfiguration to the UE and reply to the EPC with S1AP
modify bearer response.
This commit also adds support to srsEPC to send S1AP modify bearer request for
testing purposes.
4 years ago
Francisco
43e0a3209d
fill enb rrc metrics with drb info
4 years ago
Pedro Alvarez
7eebd71627
Added S1AP E-RAB release command/response handling to srsENB.
...
Added the ability to srsEPC to send the E-RAB release command.
4 years ago
David Rupprecht
848496bb0f
Moved get_earfcn to srslte get_carrier_freq func
4 years ago
Xavier Arteaga
b501f2eeaf
SRSENB/UE: Added NR workers
4 years ago
Andre Puschmann
07d2bc4fe8
change license header to agnostic version with hint to root LICENSE file
4 years ago
Francisco
7a74bf28d1
forward declare s1ap types in enb interfaces
4 years ago
Francisco
66712023bb
remove unneeded includes of full rrc asn1 lib
4 years ago
Francisco
68eda336bd
remove ENB_METRICS_MAX_USERS compile time macro and use run-time variable to set maximum number of UEs the srseNB can have connected at a given instant.
4 years ago
Francisco
324cb80cac
rename cell_info_common->enb_cell_common and cell_ctxt_dedicated->ue_cell_ded
4 years ago
yagoda
bdc1964335
consolidating RRC eMBMS configuration into single function, setting some parameters to const
4 years ago
yagoda
b90574975b
refactoring asn1 eMBMS code, removing asn1 from PHY and MAC in eNodeB
4 years ago
Francisco
92c1c2a182
more efficient measObjToAddModList reconfiguration by ensuring consistency in EARFCN ordering
4 years ago
Francisco
68d463b08f
remove var_meas_cfg_t class
4 years ago
Francisco
25bfb6d84d
move rrc measconfig handling functions to separate file. Update measconfig tests
4 years ago
Francisco
1cb65f07f1
enable meas gaps in RRC and enb parser
4 years ago
Francisco Paisana
bf7c587e4f
add UL 64QAM support to eNB RRC and scheduler
4 years ago
Francisco Paisana
510959b50f
update nr asn1 files, and asn1 tests
4 years ago
Francisco Paisana
980278fdec
add comments regarding radio resource asn1 setting in the eNB
4 years ago
Francisco Paisana
b40a5a958e
use common function to fill rrc reconf message in handover
4 years ago
Francisco Paisana
836e7d7ede
refactor scell addition in the srsenb::rrc to follow the same style of other rrc recfg fields
4 years ago
Francisco Paisana
a8e11d7991
removal of the special case for rrc reconf update
4 years ago
Francisco Paisana
f26b5ccde7
fix drb reestablishment during handover
4 years ago
Francisco Paisana
7bf196a6e0
removal of srb handling from srsenb::rrc::bearer_cfg_handler
4 years ago
Francisco Paisana
2ef1e286b2
fix set of rrc reconf message radio resource cfg fields
4 years ago
Francisco Paisana
890113fd32
now the rrc enb is using a common function for rr_cfg reconf for the first reconf message
4 years ago
Francisco Paisana
ce78fa82ce
now the rrc enb is using a common function for rr_cfg setup/reest
4 years ago
Francisco Paisana
97f2e4336e
refactor of functions for filling the asn1 radio resource config structs. This functions are used during rrc setup/reest/reconf
4 years ago
Francisco Paisana
1ce928ab2e
use of current / future ue sched config structs in the srsenb::rrc::ue::mac_controller as an approach to deal with the multi-step mac reconfiguration of the UE
4 years ago
Francisco Paisana
1e6d902873
cleanup of srsenb::rrc::ue::mac_controller api
4 years ago
Francisco Paisana
f1bdf33d10
addition of cells provided in cell_meas_list of rr.conf to cellsToAddModList in the rrc reconfiguration message
4 years ago
Francisco Paisana
b7ed8b1858
- added react method to to_state<...> transitions
...
- s1 handover composite state simplified
- the eNB now starts a HO cancellation when it receives an invalid
Handover Command
- the FSM log now prints the current state when it receives an unhandled
event
4 years ago
Francisco Paisana
74c18ecf6c
implementation of SCell Deactivation
4 years ago
Francisco Paisana
c46402c836
fix phy configuration during handover on srsenb. The function srsenb::rrc::ue::fill_scell_to_addmod_list assumes that the phy_cfg of the PCell is up-to-date, which was not the case. With this PR, the srsenb rrc updates the phy_cfg before the ho cmd is sent, but, in the case of intra-enb ho, the updates are not submitted to the phy before the reception of the crnti mac ce
4 years ago
Francisco Paisana
0f51d70aac
fix measObj addition in srsenb. Now the enb considers both scells and meas_cells in the rr.conf
4 years ago
Francisco Paisana
d42cdca729
fix scell activation in the phy during intra-enb handover.
4 years ago
Francisco Paisana
4c88404801
fix measurement report handling in case of intra enb handover
4 years ago
Francisco Paisana
942c28881d
converted member method of list of cells in the enb to a free function
4 years ago
Francisco Paisana
3a924a1d80
avoid sending cellsToAddModList if cell offsets are zero
4 years ago
Francisco Paisana
da70c0fdaf
fix cellsToAddModList handling. Now the eNB always adds PCell+SCells as measObjects in the RRC Reconfiguration messages. It may also further include cellsToAddModList if they are provided in the rr.conf file
4 years ago
Francisco Paisana
141960fbda
remove unnecessary shared_ptrs and use value semantics instead for the var_meas_cfg of the different enb cells
4 years ago
Ismael Gomez
59b6301cc8
Remove legacy arbritrary 1s timeout for eNB requests
4 years ago
Francisco Paisana
fddcc3d8ea
In the case of Handover, postpone the activation of the CQI and SR config present in the HO command for after the RA proc completion to the target eNB
4 years ago
Francisco Paisana
13caf287f9
fix S1 Handover with UE CA. The HandoverPreparation message was not being filled correctly
4 years ago
Francisco Paisana
cc469fc7a3
fix reestablishment after S1 handover by setting ncc accordingly
4 years ago
Francisco Paisana
0036941af4
added extra state to S1 target enb mobility FSM. Accounts for out-of-order arrival of MMEStatusTransfer. Also, now we avoid creating DRBs before the MMEStatusTransfer
4 years ago
Francisco Paisana
bb5dd92dca
implemented s1 handover cancellation procedure to force the target enb to release the ue ctxt
4 years ago
Francisco Paisana
8c9e596f89
refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code
4 years ago
Francisco Paisana
7cd4f45d62
fsm refactor.
...
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
4 years ago
Francisco Paisana
5d1343fe75
implemented S1 bearer status transfer
4 years ago
Francisco Paisana
db8af399f8
extended rrc tenb s1 handover test. implemented layer reconfig during s1 handover
4 years ago
Francisco Paisana
7605c7df23
added s1ap handover notification, fixed s1ap asn1 bug, and fixed bad fields for admitted erabs in ho req ack
4 years ago
Francisco Paisana
26f46ea067
add S1 Handover Request handling in target eNB
4 years ago
Francisco Paisana
5e06430455
removal of stack handler interface
4 years ago
Pedro Alvarez
89b6e0f714
Send paging message to all cells.
4 years ago
Francisco Paisana
fe8f8be62d
apply separate cqi configurations to scells
4 years ago
Francisco Paisana
e550bf726d
updated fsm to allow enter methods to receive event that caused them
4 years ago
Francisco Paisana
97d20ca579
remove obsolete bearer cfg methods
4 years ago
Francisco Paisana
0929a9de62
created rrc mac_controller class to handle the configuration of scheduler
4 years ago
Ismael Gomez
493b7ea2da
Remove SNR threshold based link failure detection
4 years ago
Pedro Alvarez
fb088a8c54
Restoring PDCP state only when using RLC AM.
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
Ismael Gomez
60b5fb9a74
Refactor variable name
4 years ago
Pedro Alvarez
20c5ea7d17
Fix warning with GCC 10.1 with EEA/EIA prefrence list.
4 years ago
Francisco Paisana
7ce23e0afb
extend handover intraenb handover fsm to account for multiple C-RNTI CEs
4 years ago
Francisco Paisana
e4a91a207d
remove unused variables
4 years ago
Francisco Paisana
b843585abc
add srsgnb stack class
4 years ago
Francisco Paisana
613003ac53
add srsenb::rrc class
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
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
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
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
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
71520d681a
changes in pucch res allocation api to allow replacing p/scells
5 years ago
faluco
7ff251f112
- Fixed warnings caught by Clang 9.0.0
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
Francisco Paisana
442ce0d7b0
fix cqi allocated check in rrc::ue
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
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
0526ae8ab1
updated rrc mobility parsing. added some utility methods
5 years ago
Pedro Alvarez
b176eef8e7
Using a single map to store erab_info messages.
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
Xavier Arteaga
5b7493cab5
Added 256QAM modulation tables to scheduler
5 years ago
Francisco Paisana
344eaf49ec
use logmap in the whole enb and ue
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
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
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
349aed5e0d
use sib configuration to set SCellToAddModList
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
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
afc209711c
Fix jump depending on uninitialized variable in srsenb::sched_ue::set_bearer_cfg_unlocked
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
Xavier Arteaga
bf4ecc8064
Fix srsenb PHY and unit/component tests
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
2dc31ea440
added interface to configure multiple cells from the RRC
5 years ago
Andre Puschmann
369592544c
store last RRC Connection Reconfig with transaction identifier
5 years ago
Xavier Arteaga
a6105a3020
SRSENB: made possible custom UL/DL frequencies for each carrier
5 years ago
Francisco Paisana
5468189cd9
fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab)
5 years ago
Francisco Paisana
ee24b59924
converted s1ap to new s1ap asn1 lib. Cleaned up bitstring packing/unpacking and bitstring 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
Andre Puschmann
476f970ee1
replace FIXME with TODO
5 years ago
Pedro Alvarez
c5979f59eb
Clang format UE, eNB and lib ( #850 )
...
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
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
Francisco Paisana
6b4488d5c1
added sending of enb status transfer from SeNB
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
Andre Puschmann
30aac5a89a
fix wrong c-type cast accessing UE database and uninit mem
5 years ago
Francisco Paisana
177e880293
removed extra threads from enb rrc
5 years ago
Francisco Paisana
ff62ae6ad0
created the method chain in RRC to receive and handle the response to a S1AP HORequired
5 years ago
Francisco Paisana
50ed2ccfec
added the handling of ho preparation failure and an ue class to s1ap
5 years ago
Francisco Paisana
57cd40ca31
added an ho required message send from SeNB to MME
5 years ago
Francisco Paisana
56fdf047e6
added default cell_list config to the rr.conf, but commented
5 years ago
Francisco Paisana
37a9501db3
added scell parsing to the rr.conf
5 years ago
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
5 years ago
Francisco Paisana
35c9f02579
added quant cfg parsing and addition to measCfg
5 years ago
Francisco Paisana
b6b1dd1814
extended mobility test
5 years ago
Francisco Paisana
427fdb83fe
using std::make_tuple now to support old compilers. Move operator== definitions for meascfg types to rrc_asn1_types
5 years ago
Francisco Paisana
200e18ee3a
added diff computation for reportconfig and measid. Tests passing
5 years ago
Francisco Paisana
1524e28c3a
finished the function to compute diffs between cells/measObjs of two var_meas_cfg objects. Added tests for this. Now the update of a UE's var_meas_cfg is made via a shared pointer.
5 years ago
Francisco Paisana
b7559171b7
added logic to insert cells from conf file into var_meas_cfg and calculate diffs between meas_objs
5 years ago
Francisco Paisana
22f2781f28
fixed bug associated with the initialization of srsenb::rrc::ue. Disabled std::map::operator[] as a result
5 years ago