Pedro Alvarez
6efa944b5e
Removed srslte prefix from pdcp_config_t
2019-07-30 15:01:50 +02:00
Pedro Alvarez
f90b69e5f4
More clang-format for PDCP
2019-07-30 15:01:50 +02:00
Pedro Alvarez
457f35699d
Reverted back to a single config structure between PDCP NR and PDCP LTE.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
005d03cb1a
Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP
2019-07-30 15:01:50 +02:00
Andre Puschmann
e60a4490d2
streamline embms parameters and fix MCS selection
2019-07-21 22:27:17 +02:00
Francisco Paisana
424876c5e4
added DL TTI mask for MBMS
2019-07-21 22:27:17 +02:00
Ismael Gomez
feafec2725
Fix srsENB PHY log and reorganized expert args
2019-07-17 12:40:57 +02:00
Andre Puschmann
f1387d8cf8
fix uninitialized vars in scheduler_grid
2019-07-15 15:32:58 +02:00
Andre Puschmann
e0b583db5d
remove extra indirection from enb_phy
2019-07-12 04:17:56 +02:00
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)
2019-07-12 04:17:56 +02:00
Andre Puschmann
92f0d58856
mac: move further init/config into ctor to allow early logging, etc.
2019-07-05 17:24:06 +02:00
Andre Puschmann
6a11030ae1
enb: fix race condition in workers overwriting the DL tx buffer
...
this adds a own tx buffer for each HARQ PID
2019-07-05 10:48:30 +02:00
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.
2019-07-05 10:44:15 +02:00
Francisco Paisana
34fde16b40
change scheduler mutex to std::mutex ( #546 )
...
* change scheduler mutex to std::mutex
* rename lck to lock
2019-07-01 11:38:37 +02:00
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.
2019-06-27 14:51:33 +02:00
Andre Puschmann
da35f41dd5
rework MAC logical channel prioritization
2019-06-26 17:57:25 +02:00
Francisco Paisana
ce29ed545d
moved mac thread to the stack. Protect the interface of the stack with PHY and gateway via a queue of tasks
2019-06-21 13:01:41 +02:00
Francisco Paisana
415d3418b6
reorganized enb to mirror ue director/class structure with a stack class
2019-06-07 15:41:56 +02:00
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.
2019-06-03 15:03:20 +02:00
Andre Puschmann
0e95867f13
remove task dispatcher class
2019-06-03 15:03:20 +02:00
Xavier Arteaga
1f52c32b84
SRSENB: Fixed CLang Tidy in enb.cc
2019-05-27 12:21:57 +02:00
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
2019-05-17 17:46:28 +02:00
Francisco Paisana
3bedc93ba5
added _t to unique_byte_buffer type
2019-05-16 12:35:01 +02:00
Francisco Paisana
f469e2178b
replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use
2019-05-16 12:35:01 +02:00
Francisco Paisana
0976ea6f27
created a unique byte buffer that automatically deallocates
2019-05-16 12:35:01 +02:00
Francisco Paisana
7be183c223
rework scheduler
2019-05-14 22:34:50 +02:00
Andre Puschmann
e4ea96aa79
add check for return value for RRC unpacking
...
- handle error cases accordingly
2019-04-29 12:39:02 +02:00
Andre Puschmann
4b01a2e4a0
update copyright notice
2019-04-29 09:20:02 +02:00
Andre Puschmann
205db6f229
add missing license headers
2019-04-26 21:20:12 +02:00
Ismael Gomez
7780b1aba5
add tdd/ca support
2019-04-25 20:57:58 +02:00
David Rupprecht
39c49ab1ef
Configurable sec algo preference list
2019-04-11 21:38:01 +02:00
David Rupprecht
fd34e22c84
Started with local preference selection algorithm
2019-04-11 21:38:01 +02:00
David Rupprecht
b84e49310e
Enable encryption in reconfiguration and after security mode command (NOT TEST)
2019-04-11 21:38:01 +02:00
David Rupprecht
eb3a83ac45
User Plane key in configuration interface
2019-04-11 21:38:01 +02:00
Andre Puschmann
1cc6ae3c60
enable c++11 support
2019-03-11 13:31:43 +01:00
Andre Puschmann
4204321fde
fix uninitialised variables in enb during startup
2019-02-20 16:14:42 +01:00
Andre Puschmann
86232c143e
expose RLC tx queue length through config struct
2019-02-01 17:11:55 +01:00
Francisco Paisana
0204db2e12
new asn1 rrc library
2019-01-17 17:43:13 +01:00
Andre Puschmann
8326299ec5
fix uninitialized variables
2019-01-15 16:34:41 +01:00
Andre Puschmann
2590ebd10b
fix bugs reported by coverity
2019-01-15 15:59:38 +01:00
Andre Puschmann
db910cb84b
add CSV metrics for eNB
2018-11-20 12:15:04 +01:00
Andre Puschmann
8a1368c8d6
send connection reject if MME isn't connected
2018-11-16 14:56:39 +01:00
Andre Puschmann
93d17fed3e
disable buffer pool logging by default
2018-10-10 16:29:57 +02:00
Andre Puschmann
5a3fa7c305
fix scheduler issues for 6 PRBs
2018-10-05 15:00:49 +02:00
Pedro Alvarez
de75a74932
Fixed some compilation issues.
2018-10-04 14:44:26 +02:00
Pedro Alvarez
796e3fd707
Adding M1-U options to eNB config
2018-10-04 14:44:26 +02:00
Pedro Alvarez
d443604661
Merge next into gtp_cleanup_sn. Fixed some conflicts.
2018-10-04 12:09:13 +01:00
Paul Sutton
0e4ab77fb0
GTPU cleanup, adding support for GTPU echo response ( #265 )
2018-10-01 22:18:11 +02:00
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
2018-10-01 21:59:07 +02:00
Andre Puschmann
af5a329fec
print build-info during enb startup
2018-10-01 21:43:42 +02:00
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.
2018-10-01 17:34:02 +01:00
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.
2018-09-28 21:04:01 +02:00
Ismael Gomez
42e46bc599
Fix MBSFN section optional and default PRACH configuration for MBSFN example
2018-09-27 18:10:35 +02:00
Ismael Gomez
cfb3a43aed
Lower priority of workers
2018-09-26 14:30:39 +02:00
Paul Sutton
569a7cbc94
GTPU cleanup, adding support for GTPU echo response
2018-09-25 15:17:39 +01:00
Andre Puschmann
10a43f04ba
Merge branch 'master' into next
2018-09-25 15:10:48 +02:00
Joseph Giovatto
dc3e88079a
moved earb_info from parent to be unique per ue to avoid overwrites ( #234 )
...
consult integrity check result before proceeding
2018-09-25 14:18:24 +02:00
Pedro Alvarez
49c44a2bd4
Moved int_helpers to lib so that the EPC can use those functions too.
2018-09-24 14:08:00 +01:00
Ismael Gomez
dabfbfb75a
Fixes #250
2018-09-19 17:37:23 +02:00
Ismael Gomez
6a791f1416
Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement)
2018-09-06 15:22:37 +02:00
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
2018-09-04 17:51:35 +02:00
Andre Puschmann
4da8bf26f8
use non-blocking PDCP write in GW
2018-07-24 15:50:14 +02:00
Andre Puschmann
47a8b1343f
add rwlock to PDCP
2018-07-17 15:27:04 +02:00
Ismael Gomez
2d5cdc4f35
Add log to pool deallocate
2018-07-12 18:13:27 +02:00
Ismael Gomez
5474f6d55f
Add log to pool deallocate
2018-07-12 18:13:19 +02:00
Ismael Gomez
30dd539220
Add rwlock to sched class
2018-07-12 11:17:57 +02:00
Ismael Gomez
75e8df2e9f
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-07-11 15:33:22 +02:00
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.
2018-07-09 11:52:17 +02:00
Ismael Gomez
881e278a10
Add rwlock to sched class
2018-07-07 12:17:55 +02:00
Ismael Gomez
2da9787907
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-07-06 15:31:29 +02:00
Ismael Gomez
a2615628aa
Increase buffer pool size for enb
2018-07-06 15:30:51 +02:00
Pedro Alvarez
b460ece601
Merge branch 'mbms_tun' into next
2018-07-06 13:01:14 +01:00
Ismael Gomez
19ac35d933
Increased RLC UL buffer size
2018-07-05 18:11:47 +02:00
Ismael Gomez
cf5a6f0580
Increased PUCCH RLF threshold and default number of errors
2018-07-05 14:09:46 +02:00
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
2018-07-05 11:00:19 +02:00
Ismael Gomez
a8f6081837
Minor changes in scheduler logs and style
2018-07-03 18:23:46 +02:00
Pedro Alvarez
0e135adc6f
Starting to change gtpu_read_header and gtpu_write_header to lib.
2018-07-03 14:30:20 +01:00
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.
2018-07-02 17:51:09 +02:00
Ismael Gomez
8c92f3fddc
Improvements and fixes on srsENB scheduler ( #228 )
2018-06-29 11:25:22 +02:00
Andre Puschmann
064d7bd2dc
use original UE establishment cause in S1AP initial UE message
2018-06-25 18:19:57 +02:00
yagoda
cca8362a69
adding mbsfn conditional to gtpu to create mch thread only if mbsfn is enabled
2018-06-14 11:33:43 +02:00
Ismael Gomez
3c276e7ae3
Wait to stop ENB/PHY worker
2018-06-13 16:59:19 +02:00
Ismael Gomez
56d3b9297e
Fix previous commit
2018-06-13 10:49:28 +02:00
Ismael Gomez
ca1ec9bb61
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-06-13 10:18:14 +02:00
Ismael Gomez
9a5e29ccab
Added mutex to phch_common
2018-06-13 10:15:52 +02:00
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
2018-06-12 17:31:07 +02:00
Ismael Gomez
cde432fbb6
Added mutex to RLC and PDCP eNodeB
2018-06-11 20:15:46 +02:00
Andre Puschmann
61d525ea80
Merge branch 'next' into embms_merge_final
2018-05-22 10:39:05 +02:00
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
2018-05-21 16:40:11 +02:00
yagoda
65f2747a8e
removing mch handler in rlc, fixing embms autostart
2018-05-20 19:24:44 +02:00
yagoda
e4c3f0bc30
adding mbms-gw and mch generation tables
2018-05-15 17:27:10 +02:00
yagoda
84f4996584
adding upper embms support to the enodeb
2018-05-15 17:13:30 +02:00
yagoda
08976bb948
introducing support for embms in the enodeb PHY
2018-05-15 17:01:51 +02:00
Andre Puschmann
9a10f5f6d4
add buffer_pool printing option to eNB
2018-05-10 16:40:37 +02:00
Andre Puschmann
9230d111ce
use pool_allocate wrapper in srsENB's UE subclass in RRC
2018-05-09 13:57:50 +02:00
Ismael Gomez
62787bdd41
Remove unused include
2018-04-26 12:46:17 +02:00
Ismael Gomez
ab78eb6d58
Process BCCH from pdu_process thread. Process PCCH from new thread in RRC
2018-04-25 13:44:58 +02:00
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
2018-04-23 18:28:29 +02:00
David Rupprecht
06d4559294
Change include path absolut to project dir
2018-04-01 18:08:24 +02:00
David Rupprecht
9d71bec7b6
Unified include guards
2018-03-31 19:04:04 +02:00
Andre Puschmann
bf25a5a05c
fix handling of log vector in eNB
2018-03-28 16:46:40 +02:00
Ismael Gomez
fa4d14652d
Added mutex for ue_rem/buffer access for more safety
2018-03-21 13:32:19 +01:00
Xavier Arteaga
99ef760b6f
More Coverity fixes
2018-01-31 16:49:14 +01:00
Ismael Gomez
9b6e18d84f
Lower srsENB priorities below UHD threads
2018-01-30 13:27:03 +01:00
Ismael Gomez
8418c74a2d
Fixes RLC small grant issue in eNodeB and non-adaptive retx
2018-01-25 12:51:39 +01:00
Ismael Gomez
76969932dc
Merge pull request #134 from softwareradiosystems/enbmimo
...
Enbmimo
2018-01-17 11:03:34 +01:00
Xavier Arteaga
3e29e5a853
Fixed bug. The same data was pushed in both transport blocks for TM3/4.
2018-01-16 16:36:52 +01:00
Ismael Gomez
3be48c40c8
Added rotating log to srsUE and srsENB
2018-01-16 12:44:22 +01:00
Xavier Arteaga
9ca4f4ab9e
Fixed PUSCH retransmission bug, last RI report and RI trace format
2018-01-12 16:22:48 +01:00
Xavier Arteaga
ec254a9971
Merge branch 'next' of https://github.com/softwareradiosystems/srsLTE into enbmimo
2017-12-15 10:01:38 +01:00
Ismael Gomez
be7f247ad7
Merge branch 'master' into next
2017-12-13 18:28:00 +01:00
Ismael Gomez
dff5a6f628
Initialize variables in rrc/enb. Fixes #122
2017-12-13 18:26:26 +01:00
Xavier Arteaga
0773220d86
Corrected bugs for running TM3 witha phone (up to 75Mbps@10MHz)
2017-12-06 10:25:51 +01:00
Ismael Gomez
b0a2fa3b0b
Merge branch 'enbmimo' into mob_crypto_mimo
2017-12-04 12:10:46 -06:00
Ismael Gomez
d428760b20
Merge branch 'next' into mobility
2017-11-24 12:02:41 +01:00
Ismael Gomez
408545dab8
X2 (constant NCC) working
2017-11-23 19:46:34 +01:00
Xavier Arteaga
dbf10cff17
Solved PDSCH Power Allocation p_b on eNB side
2017-11-22 18:01:13 +01:00
Xavier Arteaga
af5ca314d0
Merge branch 'next' of https://github.com/softwareradiosystems/srsLTE into enbmimo
2017-11-17 10:11:21 +01:00
Ismael Gomez
72d83be8bc
Fix minor issues with adaptive retx ENB
2017-11-14 11:48:09 +01:00
Xavier Arteaga
75957d41d7
Added DCI formats 2 and 2a inScheduler. Improved UE PHCH, corrected some MIMO bugs on both sides.
2017-11-08 17:10:16 +01:00
Xavier Arteaga
96a6d6ae9f
Merge branch 'next' into enbmimo
2017-10-27 16:25:03 +02:00
Xavier Arteaga
6985682ef0
Added 2nd Codeword interface in scheduler, plus pmi close loop reporting
2017-10-26 17:09:28 +02:00
Xavier Arteaga
af669a6cbb
Added RI reporting in enb and optimised RI computing calling time
2017-10-24 10:07:54 +02:00
Ismael Gomez
7bef0b0e7f
Merge branch 'next' into next_novolk
2017-10-20 10:13:04 -04:00
Xavier Arteaga
c8bba2f4d0
DFT optimization. memcpy removal ( #76 )
...
* Solved PHICH Segmentation fault for MIMO
* Initial Guru FFT optimitzation
* Guru (i)FFT implemented. All test passed!
* Integrated new DFT into pdsch_enodeb and pdsch_ue. Solved more DFT bugs.
* Solved Merge Errors and bugs
* Solved UL Guru bug (DC missing). Updated Init and OFDM calls for enb and ue (cell measurement too).
2017-10-20 10:09:27 -04:00
Xavier Arteaga
21355de77e
Added TM3 (1 layer only) eNB support at RRC
2017-10-11 17:00:49 +02:00
Xavier Arteaga
e8da7160f0
eNB transmits diversity by default if two cell ports are configured
2017-10-10 13:24:23 +02:00
Ismael Gomez
ca0cf017d6
Now working with variable HARQ scheduling
2017-10-05 16:52:02 +02:00
Ismael Gomez
c8dc3d1ad7
Merge branch 'next_with_variable_harq' into next_novolk
2017-10-04 18:30:10 +02:00
Ismael Gomez
cc6546db18
Fixed incorrect scheduling with PUCCH
2017-10-04 11:50:15 +02:00
Ismael Gomez
c066732095
Merge branch 'next' into next_with_variable_harq
2017-10-02 18:17:24 +01:00
Paul Sutton
428e5955df
Fix for SPGW address issue for GTP bearers - now using addresses from bearer setup requests
...
htonl fix
2017-10-02 13:04:40 +01:00
Ismael Gomez
d6bdabfdc0
Changed all harq delays to variables
2017-09-29 20:38:12 +02:00
Ismael Gomez
92144ce15d
Revert "Handle RRC ConnectionReject at eNodeB and UE"
...
This reverts commit b6f905e2df
.
2017-09-26 18:26:57 +02:00
Ismael Gomez
b6f905e2df
Handle RRC ConnectionReject at eNodeB and UE
2017-09-26 16:45:02 +02:00
Ismael Gomez
4753366096
Added option to ue.conf/enb.conf to forward logs to stdout
2017-09-21 21:21:35 +02:00
Ismael Gomez
6556941e6d
simplified MAC timers. Unified mac and upper timers in same background task
2017-09-19 17:51:35 +02:00
Ismael Gomez
5359c42b46
RLC UM release timer at stop()
2017-09-19 15:15:25 +02:00
Ismael Gomez
b59e4d08ca
fixed incorrect initialization of PUSCH estimator
2017-09-06 12:43:50 +02:00
Ismael Gomez
22f194182c
fixed memory leaks
2017-09-06 09:51:12 +02:00
Ismael Gomez
b0639ab394
resolved merge conflicts
2017-09-05 15:26:36 +02:00
Ismael Gomez
58aecf818d
Allowing any PUSCH MCS
2017-08-29 16:22:45 +02:00
Ismael Gomez
955170bd52
Improved DL TCP performance by tweeking BSR reports and UL scheduler
2017-08-28 10:06:12 +02:00
Ismael Gomez
49e8a2c594
fixed memory leak in mac/ue
2017-08-23 12:33:33 +02:00
Andre Puschmann
8030778809
fix PDCP initialization in eNB
2017-07-06 16:42:16 +02:00
Andre Puschmann
7ca0988ea3
refactor RLC to use RAT-agnostic config
2017-07-04 18:29:49 +02:00
Andre Puschmann
8dbabb2834
rework bearer/LCID handling
...
This is a larger patch that reworks the LCID handling throughout the
code.
- It first moves the RB/LCID mapping out of common.h into the RRC object
because different RATs may have different mappings.
- It adds a interface to RRC that other objects like RLC/PDCP/etc. may
use to get the bearer name of a specific LCID.
- The patch also introduces a PDCP config class.
2017-07-04 17:48:39 +02:00
Ismael Gomez
6037a2f2bd
changed logger classes
2017-06-23 16:29:46 +02:00
Andre Puschmann
04ec09bd71
add license text to various files
2017-06-02 13:01:47 +02:00
Ismael Gomez
e5ae82aef1
added srsENB code
2017-06-01 12:25:57 +02:00