RRC/MAC: add SIB3 intra-freqeuncy neighbour support
Introduce NR SIB3 encoding in RRC and wire SIB3 neighbour information into CU–DU F1 Setup and DU SystemInformation. Extend MAC to decode NR SIB3 from CU-provided SIB containers and attach the decoded SIB3 to the DU SystemInformation structure. Changes: - Add NR_SIB3 ASN.1 include and a do_SIB3_NR() encoder in asn1_msg so SIB3 can be serialized into a byte_array_t buffer. - Introduce get_q_offset_asn1() and get_sib3_intra_freq_neighbors() in rrc_gNB_du.c to build an intra-frequency neighbour cell list for SIB3, mapping q_OffsetCell dB values to NR_Q_OffsetRange and optionally filling q_RxLevMinOffsetCell and q_QualMinOffsetCell. - Limit the number of intra-frequency neighbours in SIB3 to NR_maxCellIntra, logging a warning and skipping additional cells when the limit is reached. - Hook SIB3 construction and encoding into rrc_gNB_process_f1_setup_req() so SIB type 3 entries are added to the F1 Setup Response when neighbour configuration and matching neighbours are available. - Handle NR_SIB_3 in nr_mac_configure_other_sib() by validating the CU SIB3 container buffer, decoding it with uper_decode into an NR_SIB3_t, and attaching the resulting SIB3 to the MAC SystemInformation via add_sib_to_systeminformation().
Showing
Please register or sign in to comment