Commit Graph

4514 Commits

Author SHA1 Message Date
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