link_send_packet() has been extended to use for multiple protocols (added UDP,
SCTP after TCP). The test was not update, though, which is fixed in this
commit.
This changes the destroy_link_manager() function to:
* call a new function message_get_unlock() to unlock the sending thread from
its blocking message_get()
* calls pthread_cancel() on the receiving thread, because this unlocks any
blocking read from a file descriptor
The same message_get_unlock() function has been added ringbuffer_queue to keep
the interfaces the same (it does nothing, because ringbuffer_queue is
non-blocking).
This commits isolates the S1 UE Ctxt Rel Complete and GTP Tunnel Delete
Requests in functions and calls these function in the original place
(rrc_rx_tx()). The same functions are then used in the F1 UE Ctxt Rel
Complete handler to perform the same functionality, i.e. forward the UE
Ctxt Rel Complete message to the MME and free outstanding resources (RRC
context, GTP tunnels, S1 context).
When a phone loses connection, it should not simply be removed but first
CU should be informed which will send a ContextRelCmd. Correspondingly,
when the RRC releases the UE, it does not send a UE Context Release Req
sctp_create_new_listener() takes a parameter server_type which is NOT
the IP version but whether it is an SCTP multihoming server. There was a
bug that when multihoming is not wanted, it created an IPv6 socket
instead of IPv4. This commit fixes this.
IPv6 is not supported yet.
* MAC differentiates between DU/eNB
* sends ITTI message to DU task for F1AP_UE_CONTEXT_RELEASE_REQ
* message is dispatched to correctly in DU_TASK
* sender correctly fills IDs and cause and sends
* RRC and MAC might sort users differently
* therefore, we have to "reverse lookup" the MAC ID from the RNTI when filling
user info
* For this purpose, add RAN API function flexran_get_mac_ue_id_rnti()
OER can be disable with the switch -DASN_DISABLE_OER_SUPPORT. In F1AP,
disabling OER leads to a typedef void a_type; leading to lots of compilation
errors because of illegal void variable declarations. This commit leaves OER
support enabled, avoiding this error.