Francisco Paisana
613003ac53
add srsenb::rrc class
5 years ago
Francisco Paisana
0916e29de4
add srsenb::rlc_nr class
5 years ago
Francisco Paisana
9001117b2d
add srsenb::pdcp_nr class
5 years ago
Xavier Arteaga
6398cd841d
SRSENB: PHY reports MAC all UL grants
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
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
026628a84f
use of reestablishment method to reset the RLC bearers during handover
5 years ago
Francisco Paisana
9a0ea6e08c
use log_helper for log macros
5 years ago
Francisco Paisana
edba7f57e4
corrected mac_nr_pdu includes
5 years ago
Francisco Paisana
0b701022a3
added ue nr mac
5 years ago
Francisco Paisana
d7b35ba7d1
added nr mac
5 years ago
Andre Puschmann
a0e4b18507
enb_mac: pre-allocate UE object for quicker PRACH/RAR handling
...
we've seen long delays in handling PRACH on low-power devices
such as the RPi4. This was mainly caused by long delays
in creating the UE object on the fly during PRACH handling.
This patch pre-allocates one UE object that is then used
during the PRACH.
5 years ago
Ismael Gomez
270c7ce9dc
Separate PHY interface to add rnti and pregenerate sequences. Calculate the sequences on the reception of ConnectionSetup instead of PRACH
5 years ago
Ismael Gomez
a1f0f8de35
Add callback to RLC to indicate BSR for TX and reTX queues (used in ENB) ( #1361 )
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
Xavier Arteaga
9d5c2d70df
SRSENB: Fix PHY reconfiguration for HO
...
Minimal aesthetic change
5 years ago
Pedro Alvarez
51f8ba60da
Make MBMS MCS configurable for the eNB.
5 years ago
Francisco Paisana
e8aff22e1b
using new rrc obj id util methods in handover code
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
Xavier Arteaga
b11ffaee7e
SRSENB: fix channel emulator for multiple channels
5 years ago
faluco
dacf265d20
Fix typo.
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
500a7f6357
created new separate ue class in sched tester to handle acks and harq tests
5 years ago
Pedro Alvarez
2ea78c8feb
Added configuration options for stack logging.
5 years ago
Ismael Gomez
8c82203c74
Removed unused pregenerate option
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
Xavier Arteaga
f200c01566
SRSENB: PUSCH EVM measure is optional and disabled by default
5 years ago
Pedro Alvarez
6a65cb0624
Accept both decimal and hexadecimal for enb_id
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
yagoda
faf1cf6975
limiting prach search space to number of prachs set in sib2
5 years ago
Francisco Paisana
12b2ea7dde
remove warnings for base classes with no virtual dtors
5 years ago
Francisco Paisana
b8e6ba02e4
remove warnings related to unused vars and fwd declarations with trivial dtors
5 years ago
Francisco Paisana
df06443470
use c++ variadic template instead of variadic function
5 years ago
Xavier Arteaga
d7e7399e7b
srsENB: PHY configuration in two stages
5 years ago
Francisco Paisana
367a190829
created dl-sch lcid type
5 years ago
Xavier Arteaga
77d5dedddc
Fix LGTM warnings and recommendations
5 years ago
Francisco Paisana
0526ae8ab1
updated rrc mobility parsing. added some utility methods
5 years ago
Francisco Paisana
20f6655c6b
use common method to build mac pdu. allow CE allocations in dci format2/2a
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
Francisco Paisana
d716d8bf7e
use mini state machine for ConRes CE scheduling instead of relying that there is data in the DL buffer
5 years ago
Francisco Paisana
d183d64409
added allocate_rnti method to mac. Useful both during PRACH and handover UE resource allocation
5 years ago
Francisco Paisana
6ddedd5972
moved pdu to common mac folder
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
Francisco Paisana
c09f76ed6c
unified stack task defer method
5 years ago
Xavier Arteaga
5b7493cab5
Added 256QAM modulation tables to scheduler
5 years ago
Xavier Arteaga
784bf81a1a
Multiple fixes HARQ ACK/NACK feedback and CSI reporting for MIMO and CA
5 years ago
Xavier Arteaga
8b265883e4
SRSENB: UL TA measurement waits for a start order before start measuring
5 years ago
Andre Puschmann
b994255b35
enb: fix handling of GTPU and S1AP init return values
...
if the eNB stack startup fails, for example due to binding
the wrong GTPU socket or similar issues, the eNB should stop
and log a message. Previously the return values for
S1AP and GTPU init were not even evaluated.
5 years ago
Francisco Paisana
c661025cda
fix log tti, and print a warning when the ul_harq tti does not match existing ones
5 years ago
Francisco Paisana
30ae2226c1
common interface for stack multiqueue tasks, background tasks and timers
5 years ago
Francisco Paisana
344eaf49ec
use logmap in the whole enb and ue
5 years ago
Ismael Gomez
9a264b62c4
Protect access to shared grants ( #1117 )
...
* Protect access to shared grants
* Set correct number of carriers for DL
* Fix previous issues
* Address comments
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
7a7385d0e5
Support multiple carriers for common buffers (RAR/BCCH/PCCH)
5 years ago
Francisco Paisana
a2866f661b
made the number of ue payload allocations proportional to number of active carriers. Made mac::ue_db use unique_ptrs
5 years ago
Francisco Paisana
8772d8f85c
use byte buffer pool for the ue tx_payload_buffer allocation. This halves the mac::ue object creation time
5 years ago
Ismael Gomez
fd3d4a7874
Refactor thread_pool: use std::mutex and fix some hidden potential bugs
5 years ago
Francisco Paisana
82cb6baef0
now the whole ue and enb mac uses the logmap
5 years ago
Ismael Gomez
5846e64a4d
Deallocate all CQI resources when deallocating users ( #1097 )
5 years ago
Andre Puschmann
76f1b87b69
fix uninit var in s1ap
5 years ago
Francisco Paisana
807d177b47
fix hanging issue, and simplified the handling of minRBG for different CFIs
5 years ago
Francisco Paisana
ede09cb9b2
added dynamic CFI capability to the eNB scheduler
5 years ago
Xavier Arteaga
ada8772f57
Initial srenb TA compensation
5 years ago
Ismael Gomez
cf4f4508ce
Normalize throughput in CSV/stdout metrics with respect to number of TTIs
5 years ago
Ismael Gomez
858165f177
Allocate a different PDU buffer for each carrier in MAC eNodeB ( #1069 )
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
5330249625
created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure
5 years ago
Francisco Paisana
e824cbd251
fixes in the mac log and cell parsing
5 years ago
Xavier Arteaga
5af89513eb
use double precission for frequency in srsue and srsenb
5 years ago
Xavier Arteaga
834a081c09
Add EPRE measurement to PUSCH decoder
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
Francisco Paisana
4217dba7e0
fix msg3 delayed allocation and update test
5 years ago
Andre Puschmann
2f8643fb97
add tx/rx pkt ok/nok to enb metrics, also add enb metrics test
...
This is what it'll look like if running the new test:
------DL--------------------------------UL-------------------------------------
rnti cqi ri mcs brate ok nok (%) snr phr mcs brate ok nok (%) bsr
46 16 1.5 28 15.2G 1000 1000 100% 14.2 12.0 20 15.2M 50 10 20% 100.0
ffff 1.2 1.5 6.2 1.00M 100 54 54% 22.2 99.1 28 1.00k 50 10 20% 100.0
5 years ago
Andre Puschmann
ab210c5f3c
tiny cosmetic changes to the error messages printing 0x and clear cc_idx use
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
Francisco Paisana
d18b476e37
use utility macro for printing function name
5 years ago
Francisco Paisana
9b4a0baa87
activate scells in the phy
5 years ago
Francisco Paisana
7548402632
change scell activation interface to use arrays. Added a method to the scheduler to get the current set of activated carriers
5 years ago
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
5 years ago
Andre Puschmann
a8acd235f6
extend eNB MAC to support multiple CC per UE
...
- add tx/rx softbuffers for each CC that a UE might have
- make sure to call assign correct buffers when iterating
over the CC for UL/DL grant assignment
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
a744729007
use range of rbgs
5 years ago
Francisco Paisana
46579da1ff
use signed integer to express the error
5 years ago
Francisco Paisana
bcbb08ebae
use initial_dl_cqi for first DL tx.
5 years ago
Francisco Paisana
3b937348a2
refactored some sched util methods
5 years ago
Francisco Paisana
fad897cb35
DL scheduler metric now takes into account the min and max of RBGs possible. This is to forbid segmentation of SRB0 allocations
5 years ago
Francisco Paisana
6317750de2
fix computation of ranged of allowed sched dl bytes
5 years ago
Francisco Paisana
414259e83b
fix allocation expected alloc bytes (min and max)
5 years ago
Xavier Arteaga
47b7c1b72b
SRSENB: remove assert macros from phy_ue_db.cc
5 years ago
Andre Puschmann
f2e1bfa699
refactor naming for s/p/cell structs and {enb,ue}_cc_idx
5 years ago
Francisco Paisana
e62972d38e
fix fdd delays in scheduler
5 years ago
Pedro Alvarez
08a4ce0970
Added the ability to save S1AP pcaps at the eNB.
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
Ismael Gomez
4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers ( #1019 )
5 years ago
Xavier Arteaga
da701cd82b
SRSENB: Added PUSCH TA and EVM measurement. Some more PHY cleanup.
5 years ago
Pedro Alvarez
bb9ff82490
Remove enb singleton and make sure log is initialized.
5 years ago
Pedro Alvarez
bd3598f774
Moved srsEPC to the new S1AP library. Deleted liblte_s1ap.cc and liblte_s1ap.h.
5 years ago
Xavier Arteaga
a61ff0b0fc
SRSENB cleanup phy common
5 years ago
Xavier Arteaga
cac2ee33b6
SRSENB: PHY uses tti_semaphore class instead of normal semaphores
5 years ago
Francisco Paisana
ec1f1cc677
remove const_casts from scheduler. Fix ODR issue
5 years ago
Francisco Paisana
e9a599857a
created a header for all common structs and helper functions
5 years ago
Francisco Paisana
02ccb8b32b
fix wrong calculation of sched tx and rx delays
5 years ago
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
5 years ago
Francisco Paisana
43e67b8536
created a harq entity that handles all harq procs. This entity accepts as arg the number of harq procs.
5 years ago
Francisco Paisana
1c041b2c1d
created harq entity class
5 years ago
Francisco Paisana
7e840bde86
fix tb idx assignment in scheduler mac sdu alloc
5 years ago
Francisco Paisana
d1356568e0
separated sf sched result from sf_sched class. The interface became way simpler. No need for finish_tti() method, sf_sched::new_tti() is called automatically when we access the sf_sched.
5 years ago
Francisco Paisana
bb38fa7119
fixed tti resetting after tti end
5 years ago
Francisco Paisana
47b05118ad
simplified msg3 allocation. Now we can allocate resources ahead of time (e.g. msg3 is 2 ttis ahead) using the sf_sched interface. It's guaranteed that the given allocations wont be erased when the respective tti starts
5 years ago
Francisco Paisana
8f7890c60a
store mask results in separate variables for testing, and reset sf_sched state at the end of the tti
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
b37d9b9930
fixed msg4 setting in sched tester
5 years ago
Francisco Paisana
3cc94c3694
simplified mutexing of the scheduler. One single mutex for everything, and removed rwlock
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
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
5 years ago
Andre Puschmann
c79e202fd9
fix typo
5 years ago
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
5 years ago
Francisco Paisana
ad9e126299
test for different enb_cc_idxs as pcell. Bug fixes
5 years ago
Francisco Paisana
0f3ef11f8b
now the scheduler only activates a scell after receiving a valid CQI for the SCell
5 years ago
Xavier Arteaga
2a6f54e13f
SRSENB: phy method cleanup and CLang tidy warning fixes
5 years ago
Xavier Arteaga
4c61ffd391
SRSENB: set UE common PHY configuration in RRC::UE constructor
5 years ago