Commit Graph
100 Commits
Author SHA1 Message Date
Robert Schmidt a6126a39a5 Remove MAX_NUMBER_NETIF and use num UE 2020-10-13 09:07:46 +02:00
Robert Schmidt 8c5976e279 Use "ip add" to add IP addresses
This then only uses the "modern" ip tool instead of ifconfig, and the
command is more "homogeneous".
2020-10-13 09:07:46 +02:00
Robert Schmidt 298956509f Delete double UE IP config setup 2020-10-13 09:07:46 +02:00
Robert Schmidt 4c7035e6e3 Remove UESIM_EXPANSION
This completely removes the UESIM_EXPANSION define: it does not compile
at the moment. Its function was to multiplex multiple UEs on the same
TUN interface. However, this functionality is not needed since it is
possible to allocate many TUN devices (i.e., >= 32).
2020-10-13 09:07:46 +02:00
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