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
Xavier Arteaga
b45223c880
Fix minor MAC Clang warnings
5 years ago
Xavier Arteaga
f35ed14f76
SRSENB: refactored PHY common UE database
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
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
052892916e
fix mme/enb id assignment. Also, now using the macro for invalid rnti and a boolean flag for the uninitialized mme s1ap id
5 years ago
Francisco Paisana
2f57db5352
changed invalid rnti to 0
5 years ago
Francisco Paisana
7557ef45c8
changed the s1ap to allow the insertion of users without rnti
5 years ago
Francisco Paisana
d831522692
addition of SCell Activation CE Cmd to scheduler and MAC
5 years ago
Francisco Paisana
838053e8f2
added SCell Activation CE to scheduler. Handling this CE in the MAC is still missing
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
Xavier Arteaga
231431f569
SRSENB: enabled CA PUCCH decode in eNb
5 years ago
Xavier Arteaga
40772eae19
SRSENB: UE PHY dedicated takes a flat configuration structure
5 years ago
Xavier Arteaga
35f4e5d69a
Initial PUCCH 1B with channel selection
5 years ago
Francisco Paisana
c9ac42f11d
renamed rlc pdu / mac sdu allocate functions, and added some comments describing what these functions do
5 years ago
Francisco Paisana
87038375d5
fixed the building of MAC SDUs in the scheduler. Now, we ensure there is always space for the MAC subheader and RLC header. The MAC subheader is correctly discounted from the remaining bytes in a TB.
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
095d0cda5a
fix regs leak
5 years ago
Francisco Paisana
e86862611c
update the scheduler interfaces to accommodate the configuration of multiple carriers
5 years ago
Francisco Paisana
2dc31ea440
added interface to configure multiple cells from the RRC
5 years ago
Andre Puschmann
d3cb2eac83
add RLC suspend/resume to eNB interface
5 years ago
Andre Puschmann
369592544c
store last RRC Connection Reconfig with transaction identifier
5 years ago
Francisco Paisana
c537d38650
separated sched tests based on output into a separate file. Added scheduler random tester to unit tests
5 years ago
Francisco Paisana
a9b8c3fd55
fix msg3 prb limit for prb==6. It has to collide with PUCCH
5 years ago
Francisco Paisana
39fff9ed68
fix potential bug with grouping of RARs with same RA-RNTI but different prach_tti. The scheduler might not clear the old tti on time before the grouping.
5 years ago
Francisco Paisana
de195e9521
changed the RAR schedule to support the allocation of nof_grants lower than the current nof_grants in the queue with same ra-rnti
5 years ago
Francisco Paisana
a74dcd947f
changed rar/msg3 scheduling to accommodate multiple rars per TTI
5 years ago
Francisco Paisana
dc782e514b
change the naming from tti --> sf for scheduling operations specific to a subframe
5 years ago
Xavier Arteaga
a6105a3020
SRSENB: made possible custom UL/DL frequencies for each carrier
5 years ago
Xavier Arteaga
604e61810e
SRSENB: moved set tx/rx frequency to txrx class
5 years ago
Xavier Arteaga
31dffb785f
SRSENB: fix segmentation fault
5 years ago
Xavier Arteaga
922481659b
SRSENB: minor corrections
5 years ago
Xavier Arteaga
b08c1f003e
SRSENB: enabled multiple cells from rr.cfg
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
ee24b59924
converted s1ap to new s1ap asn1 lib. Cleaned up bitstring packing/unpacking and bitstring types
5 years ago
Francisco Paisana
25bb36cdc3
converted ho preparation to new s1ap asn1 lib. Extended s1ap test
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
Andre Puschmann
b0bfc7956d
use const& in metrics interface
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
d59016ae68
use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb
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
b792a3158c
removed magic numbers for s1ap timers, and handled the error in the s1 ho cmd
5 years ago
Francisco Paisana
524c80a804
added handling of ho command
5 years ago
Pedro Alvarez
e1cdd51eba
Clang-formated before pull request
5 years ago
Pedro Alvarez
2e7ddef038
Continue to add discard_sdu to RLC interfaces.
5 years ago
Pedro Alvarez
a77dd4e959
Starting to add boiler-plate code to support Discard at RLC.
5 years ago
Francisco Paisana
ab3d7dd413
updated sched interface for multiple carriers
5 years ago
Francisco Paisana
1da86df597
added map between cc_idx and enb cell specifier
5 years ago
Francisco Paisana
eeb47f8fa4
fixed issue regarding repetition of ConRes tx
5 years ago
Francisco Paisana
e94e0a8641
changed the logic associated with the tx of the conres CE
5 years ago
Francisco Paisana
3159a5b84a
added cc_idx to dl_rach_info
5 years ago
Francisco Paisana
01847c5f5d
phy_config_enabled is general to all the carriers of the ue
5 years ago
Francisco Paisana
cab9327b1a
updated scheduler interfaces to accommodate multiple carriers
5 years ago
Francisco Paisana
6d4f746a61
moved tti_sched_result out of carrier_sched. Removed interdependencies between the two classes. Simplified ra_sched and bc_sched initialization
5 years ago
Francisco Paisana
7990e2f563
use of a common tti_params struct to store all values derived from tti_rx
5 years ago
Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
5 years ago
Francisco Paisana
ac4d3b9624
std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable
5 years ago
Francisco Paisana
011b2168a6
grouped different sched params/args/derived params into a single struct to simplify the ctor api of different sched sub components
5 years ago
Andre Puschmann
2195012dc1
fix uninit var in cfg parser
5 years ago
Pedro Alvarez
d4fb4d8c86
Fixup clang-format in pdcp before PR.
5 years ago
Pedro Alvarez
15613465cf
Moving some initialization from init function to constructor in the PDCP entities.
5 years ago
Francisco Paisana
77f63f7bcd
removed gtpu mutex
5 years ago
Francisco Paisana
73e06a0858
removed threads from eNB MAC
5 years ago
Francisco Paisana
e8487211e4
changed the naming of mch to m1u in the gtpu class
5 years ago
Francisco Paisana
2512e0fd79
removed thread from GTPU MCH
5 years ago
Francisco Paisana
1400777639
removed 1st thread from GTPU
5 years ago
Francisco Paisana
2de0eee9c7
clean up some comments
5 years ago
Francisco Paisana
76673d2d40
cleaned up socket util methods, and made the S1AP non-blocking.
5 years ago
Andre Puschmann
30aac5a89a
fix wrong c-type cast accessing UE database and uninit mem
5 years ago
Andre Puschmann
b6dd0de50a
move timers in eNB stack class up to force later dtor call
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
c8e50c1e19
DL/UL sched are called in a round-robin fashion
5 years ago
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
5 years ago
Paul Sutton
b2e6ef772b
Minor typo fix
5 years ago
Francisco Paisana
ee209fc0a2
added a stack thread to the eNB and move the tti_clock() method to this thread to avoid race conditions
5 years ago
Xavier Arteaga
2e1479e9d6
SRSENB: Added PHY CA PRACH workers
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
b88b8fde7b
moved the carrier scheduler and tti_result_t classes out of the main sched class. Now it is possible to instantiate more than one carrier_sched per sched
5 years ago
Francisco Paisana
2019fec37a
moved dl/ul scheduling to the a separate class carrier_sched
5 years ago
Francisco Paisana
00d24872d9
clang-format on all the scheduler files
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
Francisco Paisana
7e62d6d1f9
added parser for rrc_cnfg section of rr.conf file, and dummy rrc_mobility class
5 years ago
Francisco Paisana
b0d2584795
Merge pull request #735 from softwareradiosystems/pr_sched_changes
...
Scheduler changes
5 years ago
Francisco Paisana
8440126d35
removal of srslte::timers class
5 years ago
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
5 years ago
Francisco Paisana
6aec98e140
cleanup of some type names, and other minor changes
5 years ago
Francisco Paisana
c19e0d9423
moved the RAR/Msg3 scheduling to a separate class
5 years ago
Francisco Paisana
e0b8be61e5
provided a general way to access ue_db from the scheduler
5 years ago
Francisco Paisana
d79e49ed4c
moved the BC scheduling to a separate class/file
5 years ago
Francisco Paisana
837c16557f
started to implement separate SIB scheduler, and its tests. This is particualrly important for CA
5 years ago
Francisco Paisana
84ac16826f
modernized the scheduler code, and removed some clang-tidy warnings
5 years ago
Ismael Gomez
3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
...
* Added channel emulator to srsENB. Added support for fixed delay
* Bug in OFDM when using nonguru mode
* A few changes and refactor in eNodeB
5 years ago
Xavier Arteaga
73517f981e
Minor fixes
5 years ago
Xavier Arteaga
f9a795e985
SRSENB: cleanup and mutex rearange
5 years ago
Xavier Arteaga
10480f62b3
SRSENB: Split sf_worker and cc_worker
5 years ago
Xavier Arteaga
b3e8c4ae6a
SRSENB: Schedule RI reporting
5 years ago
Andre Puschmann
49279c89d8
send DL-DCCH on SRB2 after it has been established
5 years ago
Harald Welte
2e426948fe
[ENB] Add CFSB support
...
This commit introduces CSFB (circuit switched fall-back) capabilities to
srsLTE. Actually, all the eNB has to do is to send a
RrcConnectionRelease with the RedirectedCarrierInfo IE.
The MME triggers this by the S1AP CS Fallback Indicator IE, which may
be present either in the Initial Context Setup Requst or in the
UE Context Modification Request.
As srsLTE has no support for the UE Context Modification Request at all
yet (!), basic support for this message is introduced in this patch.
Both Mobile Originated and Mobile Terminated CSFB with a coupel of
different UE models have been verified using this patch in a setup
consisting of srsENB attached to an undisclosed EPC connected via SGsAP
to a complete Osmocom 2G network.
Closes : #358
Closes : #363
5 years ago
Francisco Paisana
67d6a25194
Moving mac timers to stack timers ( #638 )
...
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.
* moved timers out of the UE MAC
5 years ago
Harald Welte
756374419f
SRSENB: Add SIB7 (GERAN neighbor) support
...
This adds the required missing bits to the eNB config file parser
to enable minimalistic support of parsing SIB7 configuration.
SIB7 contains GERAN (GSM) neighbor cell information, which is important
if you are operating a combined 2G+4G netowrk and want to assist the UEs
to reselect GSM cells once they move out of LTE coverage.
An example SIB7 section looks as follows:
sib7 = {
t_resel_geran = 1;
carrier_freqs_info_list =
(
{
cell_resel_prio = 0;
ncc_permitted = 255;
q_rx_lev_min = 0;
thresh_x_high = 7;
thresh_x_low = 7;
start_arfcn = 871;
band_ind = "dcs1800";
explicit_list_of_arfcns = ( 873, 875, 877 );
}
);
};
Closes : #357
5 years ago
Harald Welte
844994f2cd
[ENB] Fix enabling of MAC pcap file
...
when using
[pcap]
enable = true
filename = /tmp/enb.pcap
in enb.conf, there is no pcap file created.
The problem is somewhere in the way how arguments are handled.
pcap.enable is properly parsed into args.pcap. However, later on,
lte_stack->init(args.stack, rrc_cfg, lte_phy.get()) only passes
args.stack down the road, not args.pcap. enb_stack_lte::init() then
basically uses args.stack.pcap and not args.pcap, and the latter appears
always false.
Let's remove pcap_args_t from all_args and only use the instance in
stack_args_t.
Closes : #359
5 years ago
Pedro Alvarez
6efa944b5e
Removed srslte prefix from pdcp_config_t
5 years ago
Pedro Alvarez
f90b69e5f4
More clang-format for PDCP
5 years ago
Pedro Alvarez
457f35699d
Reverted back to a single config structure between PDCP NR and PDCP LTE.
5 years ago
Pedro Alvarez
005d03cb1a
Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP
5 years ago
Andre Puschmann
e60a4490d2
streamline embms parameters and fix MCS selection
5 years ago
Francisco Paisana
424876c5e4
added DL TTI mask for MBMS
5 years ago
Ismael Gomez
feafec2725
Fix srsENB PHY log and reorganized expert args
5 years ago
Andre Puschmann
f1387d8cf8
fix uninitialized vars in scheduler_grid
5 years ago
Andre Puschmann
e0b583db5d
remove extra indirection from enb_phy
5 years ago
Andre Puschmann
4e86b2f6b2
introduce layerd architecture we use for UE to eNB
...
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
5 years ago
Andre Puschmann
92f0d58856
mac: move further init/config into ctor to allow early logging, etc.
5 years ago
Andre Puschmann
6a11030ae1
enb: fix race condition in workers overwriting the DL tx buffer
...
this adds a own tx buffer for each HARQ PID
5 years ago
Francisco Paisana
58e2e51044
removed rlc_interfaces. The rlc_cnfg types are now part of the rrc_interface_types. Removed implicit RB initialization in the RLC.
5 years ago
Francisco Paisana
34fde16b40
change scheduler mutex to std::mutex ( #546 )
...
* change scheduler mutex to std::mutex
* rename lck to lock
5 years ago
Andre Puschmann
58763fb714
stack: move initialization of log object into ctor
...
this fixes the issue when the stack is torn down if, for example,
the radio couldn't be loaded correctly. it will hence call stop() on all stack
components which are not initialzized yet, and logging therefore doesn't work.
the log object is know during contruction time and therefore can be passed
in as soon as possible.
5 years ago
Andre Puschmann
da35f41dd5
rework MAC logical channel prioritization
5 years ago
Francisco Paisana
ce29ed545d
moved mac thread to the stack. Protect the interface of the stack with PHY and gateway via a queue of tasks
5 years ago
Francisco Paisana
415d3418b6
reorganized enb to mirror ue director/class structure with a stack class
5 years ago
Andre Puschmann
e47010130f
extend thread class to set unique thread name in ctor
...
this will also extend all classes that use srslte::thread
to specify the name of the thread in the ctor as well
as to set the name of the worker threads in the thread pool
the thread name will be displayed in gdb.
6 years ago
Andre Puschmann
0e95867f13
remove task dispatcher class
6 years ago
Xavier Arteaga
1f52c32b84
SRSENB: Fixed CLang Tidy in enb.cc
6 years ago
Andre Puschmann
65f50cd7ba
introduce new UE layer design
...
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
6 years ago
Francisco Paisana
3bedc93ba5
added _t to unique_byte_buffer type
6 years ago
Francisco Paisana
f469e2178b
replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use
6 years ago
Francisco Paisana
0976ea6f27
created a unique byte buffer that automatically deallocates
6 years ago
Francisco Paisana
7be183c223
rework scheduler
6 years ago
Andre Puschmann
e4ea96aa79
add check for return value for RRC unpacking
...
- handle error cases accordingly
6 years ago
Andre Puschmann
4b01a2e4a0
update copyright notice
6 years ago
Andre Puschmann
205db6f229
add missing license headers
6 years ago
Ismael Gomez
7780b1aba5
add tdd/ca support
6 years ago
David Rupprecht
39c49ab1ef
Configurable sec algo preference list
6 years ago
David Rupprecht
fd34e22c84
Started with local preference selection algorithm
6 years ago
David Rupprecht
b84e49310e
Enable encryption in reconfiguration and after security mode command (NOT TEST)
6 years ago
David Rupprecht
eb3a83ac45
User Plane key in configuration interface
6 years ago
Andre Puschmann
1cc6ae3c60
enable c++11 support
6 years ago
Andre Puschmann
4204321fde
fix uninitialised variables in enb during startup
6 years ago
Andre Puschmann
86232c143e
expose RLC tx queue length through config struct
6 years ago
Francisco Paisana
0204db2e12
new asn1 rrc library
6 years ago
Andre Puschmann
8326299ec5
fix uninitialized variables
6 years ago
Andre Puschmann
2590ebd10b
fix bugs reported by coverity
6 years ago
Andre Puschmann
db910cb84b
add CSV metrics for eNB
6 years ago
Andre Puschmann
8a1368c8d6
send connection reject if MME isn't connected
6 years ago
Andre Puschmann
93d17fed3e
disable buffer pool logging by default
6 years ago
Andre Puschmann
5a3fa7c305
fix scheduler issues for 6 PRBs
6 years ago
Pedro Alvarez
de75a74932
Fixed some compilation issues.
6 years ago
Pedro Alvarez
796e3fd707
Adding M1-U options to eNB config
6 years ago
Pedro Alvarez
d443604661
Merge next into gtp_cleanup_sn. Fixed some conflicts.
6 years ago
Paul Sutton
0e4ab77fb0
GTPU cleanup, adding support for GTPU echo response ( #265 )
6 years ago
Andre Puschmann
0380c83175
remove RF device calibration settings from UE/eNB config
...
- this remove RF calibration parameters that were an extra
section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
device args in the normal rf config section
6 years ago
Andre Puschmann
af5a329fec
print build-info during enb startup
6 years ago
Pedro Alvarez
e925ef0a42
Added some more debug infor to error prints. Making sure that packet is not sent from the eNB if there is an error in the GTP-U header packing. Fixed error in checking msg_type.
6 years ago
Pedro Alvarez
7b4bc6f132
Integrity fail after service request ( #268 )
...
* Adding some debug prints to confirm the issue.
* Cleanup whitespaces.
* More debug prints
* Adding boolean to whether it is actually necessary to send NAS message in RRC reconfiguration.
* Deleting debug prints.
6 years ago
Ismael Gomez
42e46bc599
Fix MBSFN section optional and default PRACH configuration for MBSFN example
6 years ago
Ismael Gomez
cfb3a43aed
Lower priority of workers
6 years ago
Paul Sutton
569a7cbc94
GTPU cleanup, adding support for GTPU echo response
6 years ago
Andre Puschmann
10a43f04ba
Merge branch 'master' into next
6 years ago
Joseph Giovatto
dc3e88079a
moved earb_info from parent to be unique per ue to avoid overwrites ( #234 )
...
consult integrity check result before proceeding
6 years ago
Pedro Alvarez
49c44a2bd4
Moved int_helpers to lib so that the EPC can use those functions too.
6 years ago
Ismael Gomez
dabfbfb75a
Fixes #250
6 years ago
Ismael Gomez
6a791f1416
Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement)
6 years ago
Ismael Gomez
bc9d342959
New optimization on the PHY for both UE and eNodeB ( #251 )
...
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit
* Optimised UL Interleaver
* Include TB CRC calculation in FEC encoder
* New threading priorities
6 years ago
Andre Puschmann
4da8bf26f8
use non-blocking PDCP write in GW
6 years ago
Andre Puschmann
47a8b1343f
add rwlock to PDCP
6 years ago
Ismael Gomez
2d5cdc4f35
Add log to pool deallocate
6 years ago
Ismael Gomez
5474f6d55f
Add log to pool deallocate
6 years ago
Ismael Gomez
30dd539220
Add rwlock to sched class
6 years ago
Ismael Gomez
75e8df2e9f
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
6 years ago
Björn
23cc0ab011
enb: add bind address for s1ap connection ( #128 )
...
add s1c_bind_addr config option to specify the local bind address used for S1AP connections instead of using the GTP address.
This allows operation on setups with split S1U and S1C networks.
6 years ago
Ismael Gomez
881e278a10
Add rwlock to sched class
6 years ago
Ismael Gomez
2da9787907
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
6 years ago
Ismael Gomez
a2615628aa
Increase buffer pool size for enb
6 years ago
Pedro Alvarez
b460ece601
Merge branch 'mbms_tun' into next
6 years ago
Ismael Gomez
19ac35d933
Increased RLC UL buffer size
6 years ago
Ismael Gomez
cf5a6f0580
Increased PUCCH RLF threshold and default number of errors
6 years ago
Ismael Gomez
589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues ( #229 )
...
* fixed some issues with the UL scheduling
* Hack to fix UL scheduler
* minor fix
* Cleaned up code and fixed issue with the update_allocation function
* fixed the console printing in the enb
* log/console fix
* fixed the log print
* added a normalization factor
* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface
* Limit decimals in metrics stdout
* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users
* Fix deadlock bug for MIMO
* Remove headers
* Fix missing unlock causing overflows
* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)
* Fix mutex unlock in worker
* Configurable RLC tx buffer. Default to 512 for enodeb
* Check NULL SDU in write_sdu()
* Protect RLC objects and tx_queue from being destroyed while using it
* Remove superfluous code
* Disable SIB logging
* Fix block_queue for enb
6 years ago
Ismael Gomez
a8f6081837
Minor changes in scheduler logs and style
6 years ago
Pedro Alvarez
0e135adc6f
Starting to change gtpu_read_header and gtpu_write_header to lib.
6 years ago
jctallon
50589108c6
Mbms fixes ( #225 )
...
* fixing the threading structure for mbms in the gtpu
fixing some leaks in pmch tests
fixing stack overflow caused by radio objext
* adding sib.conf.mbsfn.example
* creating a different thread_mch object for the gtpu
* Make mch_thread an isolated class
* excluding mbsfn subframes from noise estimation and cfo estimation
* fixing pdsch ue plotting to only show pmch constellation when mbsfn is activated.
6 years ago
Ismael Gomez
8c92f3fddc
Improvements and fixes on srsENB scheduler ( #228 )
6 years ago
Andre Puschmann
064d7bd2dc
use original UE establishment cause in S1AP initial UE message
6 years ago
yagoda
cca8362a69
adding mbsfn conditional to gtpu to create mch thread only if mbsfn is enabled
6 years ago
Ismael Gomez
3c276e7ae3
Wait to stop ENB/PHY worker
6 years ago
Ismael Gomez
56d3b9297e
Fix previous commit
6 years ago
Ismael Gomez
ca1ec9bb61
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
6 years ago
Ismael Gomez
9a5e29ccab
Added mutex to phch_common
6 years ago
Ismael Gomez
6120f20290
Changes in RRC and S1AP to make enb more robust on UE add/rem operations.
...
* Consolidated functions in S1AP
* Fixed ASAN in some GCC
* Stop quicker the enb
* Minor typo edit
* Fixed mutexing issues in RRC and possibly RLC/PDCP when adding/removing users
6 years ago
Ismael Gomez
cde432fbb6
Added mutex to RLC and PDCP eNodeB
6 years ago
Andre Puschmann
61d525ea80
Merge branch 'next' into embms_merge_final
7 years ago
Francisco Paisana
c689343d81
Scheduler fix ( #200 )
...
* scheduler still not working with RGBs. The reservation of RGBs is not sufficient for the RAR allocation.
* now in the scheduler, we allocate space not only for pending data but also for headers and CE
* cant connect. going to check if it is an issue of the next branch
* cleaned up the interface
* removed obsolete functioN
* minor fix
* function name change
7 years ago
yagoda
65f2747a8e
removing mch handler in rlc, fixing embms autostart
7 years ago
yagoda
e4c3f0bc30
adding mbms-gw and mch generation tables
7 years ago
yagoda
84f4996584
adding upper embms support to the enodeb
7 years ago
yagoda
08976bb948
introducing support for embms in the enodeb PHY
7 years ago
Andre Puschmann
9a10f5f6d4
add buffer_pool printing option to eNB
7 years ago
Andre Puschmann
9230d111ce
use pool_allocate wrapper in srsENB's UE subclass in RRC
7 years ago
Ismael Gomez
62787bdd41
Remove unused include
7 years ago
Ismael Gomez
ab78eb6d58
Process BCCH from pdu_process thread. Process PCCH from new thread in RRC
7 years ago
frankist
786d29962b
refactoring and improvement of time-domain RR scheduling ( #181 )
...
* fixed the scheduler not filling the mask for multiple UEs
* fixed a bug related with the reset of the allocations
* The RR now saves the last UE to be assigned
7 years ago
David Rupprecht
06d4559294
Change include path absolut to project dir
7 years ago