Commit Graph
100 Commits
Author SHA1 Message Date
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