Pedro Alvarez
3296ee679c
lib,pdcp_entity_lte: removed check for having SRBs only for 5bits SNlen. This was required for re-using the entity in NR.
2021-11-25 17:45:05 +00:00
Pedro Alvarez
c69b221293
gnb,rrc_nr: move location of creation of nr srb PDCP configs to rrc_nr_utils.cc
2021-11-25 17:45:05 +00:00
Pedro Alvarez
9b622b3bff
lib,rrc_nr: made separate function to create default PDCP SRB configs
2021-11-25 17:45:05 +00:00
Francisco
3bd77befd3
nr,gnb,asn1: update asn1 rrc nr unit test
2021-11-25 16:49:50 +00:00
Francisco
6df8b6bb9e
nr,gnb,sched: account for CORESET RB offset in the DCI RB indexing in case of common search spaces
2021-11-25 15:14:18 +00:00
Pedro Alvarez
90ed04afd1
Fix unitialized header warning on rlc_amd_tx_pdu for ARM.
2021-11-24 21:23:23 +00:00
Andre Puschmann
f959c8c14a
rlc_tm: remove warning when PDU can't be read
...
MAC will call read_pdu() until RLC doesn't have any more data to send.
don't log a warning in this case.
2021-11-24 12:10:17 +01:00
Andre Puschmann
8ddc344cdb
gnb,mac: rework DL MAC PDU packing and add ConRes handling
...
* store Msg3 when UL-CCCH is received
* add ConRes CE in DL-SCH when indicated by scheduler
* remove fixed LCID for packing SDUs
2021-11-24 12:10:17 +01:00
Andre Puschmann
059a747081
mac_sch_pdu_nr: fix pretty-priting of CCCH
2021-11-24 12:10:17 +01:00
Andre Puschmann
97997b6d0b
buffer_pool: add helper to build byte_buffer from raw payload+len
2021-11-24 12:10:17 +01:00
Pedro Alvarez
dface7e4af
lib,rlc_am_nr: make sure header is initialized.
2021-11-23 20:29:02 +00:00
Pedro Alvarez
2fad9ded01
Make sure that the pcap is started before NGAP init, so that the NGSetupRequest is caught
2021-11-23 17:12:53 +00:00
Pedro Alvarez
5e22e42762
Added option to save NGAP pcaps.
2021-11-23 17:12:53 +00:00
Francisco
ffc1ea5c86
nr,gnb,phy: decoupled gnb and enb phy config structs by moving them to separate files
2021-11-23 10:56:38 +00:00
Pedro Alvarez
7460a9db69
lib,rlc_am_nr: check whether we exced nof_bytes in retx. changed build_retx_pdu API to receive unique_byte_buffer by ref.
2021-11-22 17:42:52 +00:00
Pedro Alvarez
1ca9804d84
lib,rlc_am_nr: make sure the return of make_byte_buffer() is checked
2021-11-22 17:42:52 +00:00
Pedro Alvarez
e3b95ef131
lib,rlc_am_nr: remove unused structure
2021-11-22 17:42:52 +00:00
Pedro Alvarez
47340f37a2
lib,rlc_am_nr: fix TS version in comments
2021-11-22 17:42:52 +00:00
Pedro Alvarez
b497d773ce
lib,rlc_am_nr: Fixed some metrics calculation. Added more precise metrics checking to unit tests
2021-11-22 17:42:52 +00:00
Pedro Alvarez
5eaa56e6ba
lib,rlc_am_nr: fix processing of ACKs
2021-11-22 17:42:52 +00:00
Pedro Alvarez
b794593469
lib,rlc_am_nr: added processing of ACKs from status report
2021-11-22 17:42:52 +00:00
Pedro Alvarez
ec93cc7238
rlc_am_nr: added logic to retx NACK'ed PDU.
2021-11-22 17:42:52 +00:00
Pedro Alvarez
473a45aae0
rlc_am_nr: fix buffer status calculation for retxs
2021-11-22 17:42:52 +00:00
Pedro Alvarez
63657ddfe6
Moved retx queue to rlc_am_data_structs, to enable it being re-used in RLC AM NR
2021-11-22 17:42:52 +00:00
Pedro Alvarez
4e1c713c14
rlc_am_nr: Enabled sending NACKs on status PDUs
...
- Added some logic to only poll when PDU_WITHOUT_POLL > PollPDU
- Fixed initalization of t-Reassembly
- Fixed a bug in the packing of the status buffer.
Nacks now work for a single lost PDU.
2021-11-22 17:42:52 +00:00
Pedro Alvarez
25492de6b7
Stating to add PollPDU
2021-11-22 17:42:52 +00:00
Pedro Alvarez
a8453d644a
Make sure t-reassembly triggers the status report
2021-11-22 17:42:52 +00:00
Pedro Alvarez
4c02407d3e
Change the update of rx_next and rx_highest_status.
2021-11-22 17:42:52 +00:00
Pedro Alvarez
3f000f0472
Adding t_reassembly to RLC AM NR
2021-11-22 17:42:52 +00:00
Pedro Alvarez
f09020e57f
Adding unit test for lost SDUs. Fixing way rx_next and rx_status_highest are updated.
2021-11-22 17:42:52 +00:00
Francisco
cc89b1607f
nr,gnb,rrc: fix RRC setup to avoid configuring the SRB1 twice
2021-11-22 17:06:26 +00:00
Andre Puschmann
afd417c96e
mac_pdu_nr_test: add TC for MAC CON RES CE
2021-11-22 15:16:12 +01:00
Andre Puschmann
062cba5bd5
mac_sch_pdu_nr: add support for contention resolution CE
2021-11-22 15:16:12 +01:00
Andre Puschmann
4dcbc70131
mac,packing: move test code to source folder
2021-11-22 15:16:12 +01:00
Pedro Alvarez
c0d2e8c11d
gNB NR security context:
...
- changed variables to use nia/nea instead of eia/eea.
- make rrc_nr_cfg a ref
- Changed NR ciphering/integrity algo enums to their own enum
2021-11-19 18:24:03 +00:00
Pedro Alvarez
37f8dba4ac
Make sure rlc_am_nr_header_t is initialized.
2021-11-19 16:05:03 +00:00
Andre Puschmann
85f7313f83
mac_pdu_nr_test: add TC for UL-SCH PDU with CCCH 48bits
2021-11-18 21:02:32 +01:00
Fabian Eckermann
8bac4eceda
Add ue MAC procedures for PDCCH orders.
2021-11-18 14:56:31 +01:00
Fabian Eckermann
f228491e1d
Add test for pdcch order (un)packing.
2021-11-18 14:56:31 +01:00
Fabian Eckermann
d0c07fc86e
Add packing of dci format 1A for pdcch orders.
2021-11-18 14:56:31 +01:00
Francisco
b35584ae70
nr,gnb,rrc: add code to add/mod/release bearers during rrc setup and reconfiguration
2021-11-17 18:07:41 +00:00
Pedro Alvarez
c4f7e95e58
lib,rlc_am_nr: Make sure BSR callback is called
2021-11-17 10:50:35 +00:00
Pedro Alvarez
ca13b6f3c4
Remove duplicate calculation of status report bytes
2021-11-17 10:50:35 +00:00
Pedro Alvarez
9e4631ee24
Added NR specific config struct for RLC AM. Added status prohibit timer.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
5e8ab48c25
Wrote some logic to write SDU to PDCP
2021-11-17 10:50:35 +00:00
Pedro Alvarez
78d5ed1bc8
Fix get buffer state when status report is required
2021-11-17 10:50:35 +00:00
Pedro Alvarez
a1c57eb473
Made sure that we don't try to read from empty queue. Modified some logging.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
8ff545c423
Added RLC AM NR config structure. Added helpers to create RLC AM NR configs. Made it possible to create RLC AM NR entites in rlc.cc
2021-11-17 10:50:35 +00:00
Pedro Alvarez
1f8d0ab557
Fix generation of status report.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
8ae4d379aa
RLC AM NR: Added some logging functions to better debug the state and the received headers. Added initial handling of data pdu. Updating rx_next and rx_status_highest now.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
2d29e4005c
Starting to generate RLC NR status report.
...
Starting to check if status pdu generation is correct.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
be9bb344a4
Starting to add handle_data_pdu to RLC NR entity.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
7121152cff
Added basic functionality for read_pdu to RLC AM NR entity.
2021-11-17 10:50:35 +00:00
Pedro Alvarez
4196abafee
Added get_buffer_status to RLC AM NR entity
2021-11-17 10:50:35 +00:00
Ismael Gomez
ebeb46b230
nr,pdcch_dmrs: take into account offset_rb in DMRS mapping
2021-11-17 10:28:31 +01:00
Francisco
a58420a530
nr,gnb,rrc: implement basic NR RRC bearer addition and reconf message sending
2021-11-16 19:32:53 +00:00
Francisco
0c733f7ea3
nr,ngap: use const_byte_spans instead of unique_byte_buffers in ngap interface to avoid intermediate copies
2021-11-16 19:32:53 +00:00
Francisco
e8beb2ef81
nr,rrc: redesign fetching of asn1 obj ids for comparison and addmod/rem to asn1 lists
2021-11-16 19:04:51 +00:00
Francisco
3b3630d444
nr,gnb,rrc: remove redundant code, and update rrc_nr_test to use default rrc nr cfg generator
2021-11-16 17:17:53 +01:00
Francisco
f705445f21
nr,gnb,rrc: use rrc_nr_cfg to generate sib1 and mib
2021-11-16 17:17:53 +01:00
faluco
453a7760b3
Port misc SSN changes to dev.
2021-11-16 14:46:51 +01:00
Andre Puschmann
0ee82ed0f6
ue_dl_nr_file_test: add option to select ue specific search space
...
* add option to select search space: ue and common1
* print coreset info
2021-11-16 12:57:20 +01:00
Andre Puschmann
b7f9dd5d75
phy_common_nr: add helper method to print coreset info to string
2021-11-16 12:57:20 +01:00
Francisco
5a3e99fb58
nr,gnb,rrc: fix missing return for mib generation
2021-11-16 00:12:36 +00:00
Francisco
25a8ea53d3
nr,gnb,sched: pass mib config to scheduler so it is used during SSB allocation
2021-11-16 00:12:36 +00:00
Francisco
fec97689a2
rrc,nr,gnb: refactored rrc nr cfg default and derived param generation to be mostly independent of parser
2021-11-16 00:12:36 +00:00
Francisco
f2a5f00bb3
nr,gnb: fix abs freq ssb arfcn derivation
2021-11-15 15:47:31 +01:00
Francisco
0b8a6970f0
nr,gnb,rrc: fix ssb frequency derivation when coreset0 is active
2021-11-15 15:47:31 +01:00
Francisco
92c4e6e2d0
nr,gnb: account for CORESET#0 RB offset (See 38.213, table 13-1) in computation of SSB center frequency
2021-11-15 15:47:31 +01:00
Ismael Gomez
4836e90b2c
Move place to apply reference_point_k_rb to dmrs
2021-11-15 09:50:39 +01:00
Andre Puschmann
883ddef4a6
ue_dl_nr_file_test: fix compilation on gcc 4.8
2021-11-15 09:50:39 +01:00
Andre Puschmann
66871b1e8e
ue_dl_nr_file_test: disable failing file tests temporarily
...
they will be enabled again as soon as the decoding issues are solved
2021-11-15 09:50:39 +01:00
Ismael Gomez
798e9b7a5e
ue_dl: reference point for DMRS varies for SIB
2021-11-15 09:50:39 +01:00
Ismael Gomez
e7c2cea032
Fix data conversion parse in ue_dl_nr_file_test
2021-11-15 09:50:39 +01:00
Andre Puschmann
9c6f9f5949
dci_nr: print coreset0_bw when DCI is scrambled with SI-RNTI
2021-11-15 09:50:39 +01:00
Andre Puschmann
d5a00fcdad
dci_nr_test: add test for DCI 1_0 with SI-RNTI
2021-11-15 09:50:39 +01:00
Andre Puschmann
573b2f657a
ssb_file_test: make duplex and SSB SCS configurable, add new unit test for FDD+15kHz SCS
2021-11-15 09:50:39 +01:00
Andre Puschmann
dd34f5b274
ue_dl_nr_file_test: fix coreset0 bandwidth when decoding SI-RNTI
2021-11-15 09:50:39 +01:00
Andre Puschmann
972e080e48
ue_dl_nr_file_test: update SSB/SIB TV
...
update capture and make sure its rv=0
// Cell 0x01: nr_arfcn=368500 ul_nr_arfcn=349500 pci=500 mode=FDD rat=nr n_rb_dl=52 n_rb_ul=52 dl_mu=0 ul_mu=0 ssb_mu=0 ssb_arfcn=368410 ssb_prb=13:21 k_ssb=6 coreset0_prb=1:48 coreset0_idx=6
20:43:31.997 [PHY] DL - 01 ffff 784.0 PDSCH: harq=si prb=1:7 symb=2:12 CW0: tb_len=84 mod=2 rv_idx=0 cr=0.44
0000: 74 81 01 70 10 40 04 02 00 00 c8 00 24 68 a0 38 t..p.@......$h.8
0010: 05 01 00 40 1a 00 00 06 6c 6d 92 21 f3 70 40 20 ...@....lm.!.p@
0020: 00 00 80 80 00 41 06 80 a0 90 9c 20 08 55 19 40 .....A..... .U.@
0030: 00 00 33 a1 c6 d9 22 40 10 00 1e b8 94 63 c0 09 ..3..."@.....c..
0040: 28 c4 1b 8a 36 e1 5b 1c 3a 01 3c 5b 46 14 00 00 (...6.[.:.<[F...
0050: 00 00 00 00 ....
20:43:31.997 [PHY] DL - 01 ffff 784.0 PDCCH: ss_id=0 cce_index=0 al=4 dci=1_0
rb_alloc=0x120
time_domain_rsc=0
vrb_to_prb_map=0
mcs=6
rv_idx=0
si_indicator=0
dci_len=39
2021-11-15 09:50:39 +01:00
Andre Puschmann
7a64163aa4
ue_dl_nr_file_test: enable coreset0_idx=6 file test
2021-11-15 09:50:39 +01:00
Andre Puschmann
16b5f4c3db
ue_dl_nr_file_test: add further IQ capture with coreset0_idx=6
...
Cell 0x01: nr_arfcn=368500 ul_nr_arfcn=349500 pci=500 mode=FDD rat=nr n_rb_dl=52 n_rb_ul=52 dl_mu=0 ul_mu=0 ssb_mu=0 ssb_arfcn=368410 ssb_prb=13:21 k_ssb=6 coreset0_prb=1:48 coreset0_idx=6
12:58:46.197 [PHY] DL - 01 ffff 556.0 PDSCH: harq=si prb=1:7 symb=2:12 CW0: tb_len=84 mod=2 rv_idx=2 cr=0.44
0000: 74 81 01 70 10 40 04 02 00 00 c8 00 24 68 a0 38 t..p.@......$h.8
0010: 05 01 00 40 1a 00 00 06 6c 6d 92 21 f3 70 40 20 ...@....lm.!.p@
0020: 00 00 80 80 00 41 06 80 a0 90 9c 20 08 55 19 40 .....A..... .U.@
0030: 00 00 33 a1 c6 d9 22 40 10 00 1e b8 94 63 c0 09 ..3..."@.....c..
0040: 28 c4 1b 8a 36 e1 5b 1c 3a 01 3c 5b 46 14 00 00 (...6.[.:.<[F...
0050: 00 00 00 00 ....
12:58:46.197 [PHY] DL - 01 ffff 556.0 PDCCH: ss_id=0 cce_index=0 al=4 dci=1_0
rb_alloc=0x120
time_domain_rsc=0
vrb_to_prb_map=0
mcs=6
rv_idx=2
si_indicator=0
dci_len=39
2021-11-15 09:50:39 +01:00
Andre Puschmann
d2fc11fbec
ue_dl_nr_file_test: add missing parameter to existing file tests
2021-11-15 09:50:39 +01:00
Andre Puschmann
830cbcde08
ue_dl_nr_file_test: add all zero PDSCH check and let test fail in this case
2021-11-15 09:50:39 +01:00
Andre Puschmann
77269c055d
ue_dl_nr_file_test: expose ARFCN for center and SSB and use it to derive RB offset
2021-11-15 09:50:39 +01:00
Andre Puschmann
1684c56ca0
phy: add two IQ dumps with coreset0 and coreset1
...
coreset0:
15:03:16.697 [PHY] DL - 01 ffff 86.0 PDSCH: harq=si prb=2:7 symb=2:12 CW0: tb_len=84 mod=2 rv_idx=1 cr=0.44
0000: 74 81 01 70 10 40 04 02 00 00 c8 00 24 68 a0 38 t..p.@......$h.8
0010: 05 01 02 60 24 00 00 06 6c 6d 92 21 f3 70 40 20 ...`$...lm.!.p@
0020: 00 00 80 80 00 41 06 80 a0 90 9c 20 4c 29 21 00 .....A..... L)!.
0030: 00 00 33 a1 c6 d9 22 40 10 00 1e b8 94 63 c0 09 ..3..."@.....c..
0040: 28 c4 1b 8a 36 fd 5b 1c 3a 00 bc 5b 46 14 00 00 (...6.[.:..[F...
0050: 00 00 00 00 ....
15:03:16.697 [PHY] DL - 01 ffff 86.0 PDCCH: ss_id=0 cce_index=0 al=4 dci=1_0
rb_alloc=0x120
time_domain_rsc=0
vrb_to_prb_map=0
mcs=6
rv_idx=1
si_indicator=0
dci_len=39
coreset1:
15:03:16.693 [PHY] DL 0001 01 0100 85.6 PDCCH: ss_id=1 cce_index=0 al=4 dci=1_0
rb_alloc=0x5f
time_domain_rsc=0
vrb_to_prb_map=0
mcs=6
ndi=1
rv_idx=0
harq_process=0
dai=0
tpc_command=1
pucch_rsc=0
harq_feedback_timing=3
dci_len=39
15:03:16.693 [PHY] DL 0001 01 0100 85.6 PDSCH: harq=0 prb=2:48 symb=1:13 k1=4 CW0: tb_len=624 mod=2 rv_idx=0 cr=0.44 retx=0
0000: 43 02 6d 40 00 80 00 00 d6 5b 77 92 be 29 a1 5c C.m@.....[w..).\
0010: 9d d9 a3 42 64 bf d7 c0 cc 20 a6 4f b3 5e f5 06 ...Bd.... .O.^..
0020: 5f fc 03 02 83 ca e9 ee 04 e7 1a 1d 00 3f 9c 01 _............?..
0030: ec 1c 32 bb 6b 0f e2 e9 dc 7c f6 84 41 b2 2b e8 ..2.k....|..A.+.
0040: 10 f0 23 2c 91 f1 5d c7 6f b5 6e ac b6 fb c2 e6 ..#,..].o.n.....
0050: 32 2d b2 8b 07 36 11 f3 81 78 5d ff 1a 85 8d 6c 2-...6...x]....l
0060: 18 ce ca 52 1f 81 0f 78 c6 1a ab b5 e8 71 50 34 ...R...x.....qP4
2021-11-15 09:50:39 +01:00
Andre Puschmann
8c99d7a3bd
ue_dl_nr_file_test: use common helper function to derive coreset0 params
2021-11-15 09:50:39 +01:00
Andre Puschmann
279d82aa31
ue_dl_nr: debug to print PDCCH received symbols
2021-11-15 09:50:39 +01:00
Andre Puschmann
36a287edd8
ue_dl_nr_file_test: expose various coreset and search space related parameters
2021-11-15 09:50:39 +01:00
Andre Puschmann
f708635a5d
rrc_nr_cfg: set default PLMN for NR cell to 00101
2021-11-15 09:50:39 +01:00
Andre Puschmann
779bfcf791
phy_common: fix symbol size derivation for NR-only cells
...
make sure that 52 PRB cell with LTE rates gives 15.36e6 as sample rate
2021-11-15 09:50:39 +01:00
Andre Puschmann
853d870c52
rlc_um_nr: fix SN wrap-around in a few places
2021-11-14 16:25:09 +01:00
Andre Puschmann
813adb9567
rlc_um_nr: reduce verbosity in info mode
...
this will only print the most relevant messages in info mode.
also streamlines some messages with RLC AM entity.
2021-11-14 16:25:09 +01:00
Andre Puschmann
1bec07a64a
rlc_um_nr: fix starting/stopping of reassemble timer
2021-11-14 16:25:09 +01:00
Andre Puschmann
b3c7eeedd3
rlc_um_nr_test: add extra check to verify reassembly timer isn't running
2021-11-14 16:25:09 +01:00
Andre Puschmann
4187be3ff9
Revert "Revert "rlc_um_nr: reimplement update of RX_Next_Reassembly""
...
This reverts commit 296758e4ab
.
2021-11-14 16:25:09 +01:00
Andre Puschmann
7141fda69c
Revert "rlc_um_nr_test: disable test9 until low TCP UL rates are understood/fixed"
...
This reverts commit e491aef74e
.
2021-11-14 16:25:09 +01:00
Pedro Alvarez
f99d6bc224
lib,rlc: changed get_bearer() to get_lcid().
2021-11-12 22:41:37 +00:00
Pedro Alvarez
3b150e26cb
rlc_am_nr: Changed header_t to HeaderType typename in RLC data structs.
...
Fix issue in clear_pdcp_sdu()
2021-11-12 22:41:37 +00:00
Pedro Alvarez
123ac16653
rlc_am_nr: fixed issue with pointers from rx entity to tx entity
2021-11-12 22:41:37 +00:00
Pedro Alvarez
f99e841421
Changed using a rlc_am_lte and rlc_am_nr entity, to a single rlc_am entity.
2021-11-12 22:41:37 +00:00