Skip to content

Rework PDCP OAI API to allow custom SRB data forwarding (e.g., in F1)

Robert Schmidt requested to merge pdcp-callbacks-simplify into develop
  • Make separate header for nr_pdcp instead of using 4G pdcp.h
  • Remove RRC_DCCH_DATA_REQ messages and pdcp_run() and run PDCP DL handling in caller's thread
  • Because that could lead to deadlocks(?): unlock PDCP before forwarding message to lower layer
  • For SRB: provide custom forwarding callback, to be used to encapsulate messages in F1 message. The header defines two callbacks to preserve current behavior:
    1. Towards RLC directly: for UE
    2. Towards F1 DL RRC message transfer primitive: for gNB
  • I did not do the "unlocking before forwarding" for UL, because of reordering, and because I guess there is no issue with deadlocks. Also, I did not change the deliver_sdu() callback as for deliver_pdu(), because especially towards the SDAP, we need many fields so it might be easier to use current logic (but I can change it)
  • Speaking of deadlocks, since we unlock, we might not need the thread between RLC and PDCP (please have a look and let me know what you think)

Merge request reports