Robert Schmidt
ff48c369c5
Lower nFAPI eNB log level
2020-10-13 08:49:30 +02:00
Robert Schmidt
ac4bb8bc55
Prevent deadlocks in nFAPI when no free index
2020-10-13 08:49:30 +02:00
Robert Schmidt
9882460607
Remove Mutexes in phy_stub_UE.c
...
Various mutexes are present in the phy_stub_UE.c file. However, it will
only be run in a single thread; the multiple-thread implementation also
runs the higher layers concurrently, which leads to races and segfaults.
Therefore, remove these mutexes, as we don't need them.
2020-10-13 08:49:30 +02:00
Robert Schmidt
581de8b2d8
Limit UE UL RBs to 48
2020-10-13 08:49:30 +02:00
Robert Schmidt
41a440fad2
Do not schedule static slices if 0 RB(G)s
2020-10-13 08:49:29 +02:00
Robert Schmidt
ca1b0e2bbc
Bugfix RR algo: if a UE cannot be allocated, skip it
2020-10-13 08:49:29 +02:00
Robert Schmidt
72556206e9
Simplify set_Y()
2020-10-12 18:59:14 +02:00
Robert Schmidt
8cb530d25c
Address review in !913 : rename functions
2020-10-09 09:02:59 +02:00
Robert Schmidt
a389e6f5e9
Fixup: reserve space for TA command
2020-10-07 17:54:39 +02:00
Robert Schmidt
f146b640d5
FlexRAN agent app: trigger UE-slice assoc through IMSI regex
2020-10-06 19:47:33 +02:00
Robert Schmidt
e569577944
FlexRAN: send loaded apps/macObjects to RTC
2020-10-06 17:45:50 +02:00
Robert Schmidt
28c47996e4
When preparing slice update/search also loaded libraries
2020-10-06 17:45:50 +02:00
Robert Schmidt
38ace905aa
Check for shared objects beforing setting scheduler
2020-10-06 17:45:50 +02:00
Robert Schmidt
21dcd834cc
Save list of SOs used in user plane
2020-10-06 17:45:50 +02:00
Robert Schmidt
65e52fcf11
Inform MAC of control delegation and load in user plane
2020-10-06 17:44:16 +02:00
Robert Schmidt
0f641b7d9c
If unknown scheduler, save message and contact controller
2020-10-06 17:44:16 +02:00
Robert Schmidt
9de83a047a
FlexRAN: Add control_delegation_request protobuf message
2020-10-06 17:44:16 +02:00
Robert Schmidt
c500babe8b
FlexRAN fixup: FLPT_DELEGATE_REQUEST and corresp. destroy()
2020-10-06 17:44:16 +02:00
Robert Schmidt
865348b047
FlexRAN agent app: Add sample FlexRAN app
2020-10-06 17:44:16 +02:00
Robert Schmidt
fde3127823
FlexRAN Agent reconfiguration: call flexran_agent_handle_apps()
2020-10-06 17:44:16 +02:00
Robert Schmidt
8772856fd4
FlexRAN: Add app loader/CM
2020-10-06 17:44:16 +02:00
Robert Schmidt
9e4320864f
FlexRAN control delegation: write/remove depending if payload present
2020-10-06 17:44:09 +02:00
Robert Schmidt
6e2c8d847a
FlexRAN: new agent reconfiguration syntax, instead of YAML
2020-10-06 17:44:09 +02:00
Robert Schmidt
1c5a4eb645
FlexRAN: add control app delegation type in protobuf
2020-10-06 17:44:09 +02:00
Robert Schmidt
61344db9dd
FlexRAN delegation: mapper function to return path name
2020-10-06 17:44:08 +02:00
Robert Schmidt
f63cf65919
FlexRAN: Improve handling of received shared objects
2020-10-06 17:44:08 +02:00
Robert Schmidt
5d9c61ea2a
FlexRAN timers: Fix segfault timer no associated message
2020-10-06 17:27:12 +02:00
Robert Schmidt
33b73193e8
FlexRAN timers: enable timer add/remove within timer event
...
A lock help during executing a timer event prevented such event from
creating/removing new timers due to a dead lock. This commit changes the
logic of the timing loop and adding/removing code such that this dead
lock does not happen.
2020-10-06 17:27:12 +02:00
Robert Schmidt
7bdf807bab
FlexRAN timers: Remove destroy_timers()
2020-10-06 17:27:12 +02:00
Robert Schmidt
db933da183
FlexRAN bugfix: first timer expiry after period
2020-10-06 17:27:12 +02:00
Robert Schmidt
2904367165
Fixup: reserve space for TA command
2020-10-05 13:14:58 +02:00
Robert Schmidt
2e41782a12
Add configurable UE as param for nr_generate_dlsch_pdu()
2020-10-05 13:14:58 +02:00
Robert Schmidt
eb263af39e
Remove statistics from nr_generate_dlsch_pdu()
2020-10-05 13:14:58 +02:00
Robert Schmidt
4ecb236df6
nr_fill_nfapi_dl_pdu(): pdu index and nPDUs counting
2020-10-05 13:14:58 +02:00
Robert Schmidt
cbd6250fdf
Directly construct tx_req nFAPI message in DL postprocessor
2020-10-05 13:14:58 +02:00
Robert Schmidt
22cb1567d4
allocate only necessary amount of RBs
2020-10-05 13:14:58 +02:00
Robert Schmidt
d145d8d662
Consider retransmissions in the preprocessor
2020-10-05 13:14:58 +02:00
Robert Schmidt
0ef332ef75
DL Post processor: distinguish tx/retx
2020-10-05 13:14:58 +02:00
Robert Schmidt
acffd17d6f
Store retx Info
2020-10-05 13:14:58 +02:00
Robert Schmidt
8a004df0c9
Create UE MAC Context after successful RA
2020-10-05 13:14:58 +02:00
Robert Schmidt
ee850206e4
fixup: throughput correct only if first TDD slot
2020-10-05 13:14:58 +02:00
Robert Schmidt
f80ab8797a
Use vrb_map in in DL for NSA mode
2020-10-05 13:14:58 +02:00
Robert Schmidt
d7d21efcf5
Post-processor: enable multi-UE handling
2020-10-05 13:14:58 +02:00
Robert Schmidt
059f585e06
Preprocessor: check for number of UEs
2020-10-05 13:14:58 +02:00
Robert Schmidt
abd608b6cb
Mark active in add_new_nr_ue() only if phytest
2020-10-05 13:14:58 +02:00
Robert Schmidt
d921581922
Remove fiveG_connected and use active
2020-10-05 13:14:58 +02:00
Robert Schmidt
793cbda97e
Simplify allocate_rn_CCEs()
2020-10-05 13:14:58 +02:00
Robert Schmidt
1a73ea6c6d
Make UE_info.active C99 bool
2020-10-05 13:14:58 +02:00
Robert Schmidt
0032bcc905
add_nr_ue_list()
2020-10-05 13:14:58 +02:00
Robert Schmidt
d0667d9ea4
Add NR_UE_list_t type
2020-10-05 13:14:58 +02:00
Robert Schmidt
e956c17bf8
Rename NR_UE_list_t to NR_UE_info_t
...
The name NR_UE_list_t is misleading: beyond being a simple "list", this
structure carries all/most UE-related MAC information. If at all, it is
a container for multiple lists. The next commit introduces a
NR_UE_list_t structure that organizes UEs in lists such that it is
easier to go through the UEs.
2020-10-05 13:14:58 +02:00
Robert Schmidt
f28679b360
PreProc IF: save MCS-info per UE
2020-10-05 10:29:45 +02:00
Robert Schmidt
f9dd8292f8
PreProc IF: Freq domain allocation per UE
2020-10-05 10:29:45 +02:00
Robert Schmidt
6c7ff44cd9
PreProc IF: save Time domain assignment info per UE
2020-10-05 10:29:45 +02:00
Robert Schmidt
112b30d79a
PreProc IF: save PUCCH info per UE
2020-10-05 10:29:45 +02:00
Robert Schmidt
34a31a20b7
PreProc IF: save CCE info per UE
2020-10-05 10:29:45 +02:00
Robert Schmidt
dcdee083ac
PreProc IF: RLC status per UE
2020-10-05 10:29:45 +02:00
Robert Schmidt
d12180b25b
Start PreProc interface, add UE active BWP
2020-10-05 10:29:45 +02:00
Robert Schmidt
f86e4305f6
Reduce log DLSCH scheduler
2020-10-05 10:29:45 +02:00
Robert Schmidt
1b5558537f
Move HARQ calculations out of nr_fill_nfapi_dl_pdu()
2020-10-05 10:29:45 +02:00
Robert Schmidt
4cebd0dd92
Only send random data if phytest
2020-10-05 10:29:45 +02:00
Robert Schmidt
7f51eca9d3
Remove UE-specific ulsch bitmap, special phy test slot
...
when in phy test, only schedule UE to be in slot 8
2020-10-05 10:29:45 +02:00
Robert Schmidt
14613222f3
clean up gNB_dlsch_ulsch_scheduler(), remove UE-specific DL bitmap
2020-10-05 10:29:45 +02:00
Robert Schmidt
de2cf2393b
Do not allocate CCE in nr_configure_pdcch()
...
nr_configure_pdcch() allocates the CCE, but this is not wanted, e.g., in
multi-user scheduling, since it might not be possible to allocate the
CCEs for these UEs. This commit makes the following changes:
- remove CCE allocation in nr_configure_pdcch()
- remove coreset search in nr_configure_pdcch()
- add functions get_coreset() and get_searchspace() to retrieve coresets
and search spaces easily
- in nr_fill_nfapi_dl_pdu(), add extra parameters for aggregation level
and CCE indices and the searchspace and coreset of a UE, which might
be different for each UE
- allocate CCEs manually in phytest, RA, and DLSCH schedulers
2020-10-05 10:29:45 +02:00
Robert Schmidt
43f177e7df
Restructure nr_schedule_ue_spec()
2020-10-05 10:29:44 +02:00
Robert Schmidt
3de6b619be
Move TBS calculation out of nr_fill_nfapi_dl_pdu
2020-10-05 10:29:44 +02:00
Robert Schmidt
685c540353
nr_fill_nfapi_dl_pdu(): MCS + other params configurable
2020-10-05 10:29:44 +02:00
Robert Schmidt
041bb7a755
Inline nr_get_tbs_dl()
2020-10-05 10:29:44 +02:00
Robert Schmidt
7a0650c40c
nr_fill_nfapi_dl_pdu(): Parameters by value, not pointers
2020-10-05 10:29:44 +02:00
Robert Schmidt
77f5d59691
Create separate nr_fill_nfapi_dl_pdu()
2020-10-05 10:29:44 +02:00
Robert Schmidt
e259111f77
Create NR DLSCH nr_schedule_ue_spec()
2020-10-05 10:29:44 +02:00
Robert Schmidt
7cf7a0e8b1
Reduce log nr-softmodem
2020-10-05 10:24:41 +02:00
Robert Schmidt
a2bf8f478a
Add configurable UE as param for nr_generate_dlsch_pdu()
2020-09-30 14:52:59 +02:00
Robert Schmidt
f97c4f8ae6
Remove statistics from nr_generate_dlsch_pdu()
2020-09-30 14:52:59 +02:00
Robert Schmidt
574f47d014
nr_fill_nfapi_dl_pdu(): pdu index and nPDUs counting
2020-09-30 14:52:59 +02:00
Robert Schmidt
ea9aacd664
Directly construct tx_req nFAPI message in DL postprocessor
2020-09-30 14:52:59 +02:00
Robert Schmidt
b7b32fbe77
allocate only necessary amount of RBs
2020-09-30 14:52:59 +02:00
Robert Schmidt
0c61983196
Consider retransmissions in the preprocessor
2020-09-30 14:52:59 +02:00
Robert Schmidt
2209b999a0
DL Post processor: distinguish tx/retx
2020-09-30 14:52:59 +02:00
Robert Schmidt
09d85a052a
Store retx Info
2020-09-30 14:52:59 +02:00
Robert Schmidt
b4d8e41a00
Create UE MAC Context after successful RA
2020-09-30 14:52:59 +02:00
Robert Schmidt
a2b1fa5d57
fixup: throughput correct only if first TDD slot
2020-09-30 14:52:59 +02:00
Robert Schmidt
b9eb6c9843
Use vrb_map in in DL for NSA mode
2020-09-30 14:52:59 +02:00
Robert Schmidt
ce2dd17ed5
Post-processor: enable multi-UE handling
2020-09-30 14:52:59 +02:00
Robert Schmidt
fdb4c69221
Preprocessor: check for number of UEs
2020-09-30 14:52:59 +02:00
Robert Schmidt
f13c97db02
Mark active in add_new_nr_ue() only if phytest
2020-09-30 14:52:59 +02:00
Robert Schmidt
738d61a173
Remove fiveG_connected and use active
2020-09-30 14:52:59 +02:00
Robert Schmidt
77e2a5aab8
Simplify allocate_rn_CCEs()
2020-09-30 14:52:59 +02:00
Robert Schmidt
5efe475120
Make UE_info.active C99 bool
2020-09-30 14:52:59 +02:00
Robert Schmidt
34f61ce396
add_nr_ue_list()
2020-09-30 14:52:59 +02:00
Robert Schmidt
ccb83d16e1
Add NR_UE_list_t type
2020-09-30 14:52:59 +02:00
Robert Schmidt
adcd2949fe
Rename NR_UE_list_t to NR_UE_info_t
...
The name NR_UE_list_t is misleading: beyond being a simple "list", this
structure carries all/most UE-related MAC information. If at all, it is
a container for multiple lists. The next commit introduces a
NR_UE_list_t structure that organizes UEs in lists such that it is
easier to go through the UEs.
2020-09-30 14:52:59 +02:00
Robert Schmidt
476c7177f9
PreProc IF: save MCS-info per UE
2020-09-30 14:52:59 +02:00
Robert Schmidt
9ad94aad82
PreProc IF: Freq domain allocation per UE
2020-09-30 14:52:59 +02:00
Robert Schmidt
123a4e9ada
PreProc IF: save Time domain assignment info per UE
2020-09-30 14:52:59 +02:00
Robert Schmidt
ad4da1b068
PreProc IF: save PUCCH info per UE
2020-09-30 14:52:59 +02:00
Robert Schmidt
020405686c
PreProc IF: save CCE info per UE
2020-09-30 14:52:59 +02:00
Robert Schmidt
5e5abe420e
PreProc IF: RLC status per UE
2020-09-30 14:52:59 +02:00
Robert Schmidt
77a814fe27
Start PreProc interface, add UE active BWP
2020-09-30 14:52:59 +02:00
Robert Schmidt
a403ca0398
Reduce log DLSCH scheduler
2020-09-30 14:52:59 +02:00