Robert Schmidt
fe6f7244df
Fix compiler warning: %ld in printf
2020-11-11 16:48:53 +01:00
Robert Schmidt
308de3b68d
Lower PHY/HARQ log level
2020-11-11 16:48:40 +01:00
Robert Schmidt
67d6311143
Hotfix: disable TA to keep RTT low + HARQ retx intact
2020-11-11 16:47:18 +01:00
Robert Schmidt
434186fd9f
Correct TA timer condition
...
- wrap around 1024 (frame number is 0-1023)
- check for equality of frames with high numbers will trigger every 10ms
2020-11-11 16:45:54 +01:00
Robert Schmidt
2e03cbe7bf
Track RBs in vrb_map as binary
2020-11-03 20:02:48 +01:00
Robert Schmidt
c4f8ff1561
Assert on condition UE not found in UE_list
2020-11-03 14:23:50 +01:00
Robert Schmidt
ad0424cbba
Check all RA procs in nr_rx_sdu() if unknown RNTI
2020-11-03 14:23:50 +01:00
Robert Schmidt
d94b1cd1a5
Track RB allocation in vrb_map{,_UL} on per-symbol basis
2020-11-03 14:23:50 +01:00
Robert Schmidt
40175d244a
Format schedule_nr_mib()
2020-11-03 14:23:50 +01:00
Robert Schmidt
a94da10dee
Remove UE from UE_list on disconnect
2020-11-03 14:23:50 +01:00
Robert Schmidt
9125fc8d22
Refactor/shorten interface of nr_fill_nfapi_dl_pdu()
2020-11-03 14:23:50 +01:00
Robert Schmidt
8651b7fd14
Remove commented/unused code in DLSCH/phytest scheduler
2020-11-03 14:23:50 +01:00
Robert Schmidt
0deb5d291d
Use special dlsim preprocessor
2020-11-03 14:23:50 +01:00
Robert Schmidt
b389e43eea
Add phytest preprocessor
...
The phytest preprocessor schedules only one UE, as many RBs as possible
(largest continuous RB region), with a fixed MCS and time domain
allocation.
2020-11-03 14:22:28 +01:00
Robert Schmidt
fd9f5d2d2c
Use function pointer to call pre-processor
2020-11-03 14:22:27 +01:00
Robert Schmidt
14f15d7e77
Fix: postprocessor resets UE scheduling condition
2020-11-03 14:22:27 +01:00
Robert Schmidt
fd3d49bbe7
Correctly check and apply the TA in DLSCH scheduler
2020-11-03 14:21:37 +01:00
Robert Schmidt
9d2651d080
CI: Parse UE TUN interface correctly in S1 mode
...
See also commit 8c5976e279
Above commit changed the TUN interface configuration to use program "ip"
only. This commit changes the CI script parsing correspondingly: the
pipeline will recognize the attempt to bring up the interface of the
first UE.
2020-10-28 17:10:21 +01:00
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