Commit Graph

7693 Commits

Author SHA1 Message Date
Francisco d1c5b000dc adt - creation of pre-initialized object pool, that leverages the background memory pool allocator 2021-04-07 12:02:22 +01:00
Ismael Gomez 3daba090f6 Fixed compilation of turbo decoder in ARM 2021-04-06 18:42:26 +02:00
Francisco eb9814837a fix gtpu test valgrind warning 2021-04-02 17:40:50 +01:00
Francisco 2fc2280c3b adt pool - replace uint8_t* for void* to represent memory blocks 2021-04-02 17:40:50 +01:00
Francisco a79ca92020 refactor type storage and pool tests 2021-04-02 17:40:50 +01:00
Francisco 2723993740 fix network utils test 2021-04-02 11:42:50 +01:00
Francisco 046633674a refactor - removal of stack-gtpu interface, and use of socket manager interface instead 2021-04-02 11:42:50 +01:00
Francisco c24e382c19 Refactor of socket manager class
- use of inheritance to simplify testing
- removal of global network manager
- pass of custon socket manager to s1ap and gtpu ctors
- overhauled the registration of socket fd,callback in socket manager
2021-04-02 11:42:50 +01:00
Francisco 4aac7ac238 use global rx multisocket handler, and remove stack-s1ap interface 2021-04-02 11:42:50 +01:00
Francisco 39de2efa69 multisocket handler - use blocking socket remove method 2021-04-02 11:42:50 +01:00
Francisco bf96d897ee network utils refactor - renaming of socket handle to unique socket and cleanup of its methods 2021-04-02 11:42:50 +01:00
Francisco aed5c51010 fix bug in cc_used_buffers_map in request_pdu(...) 2021-04-02 11:41:08 +01:00
Francisco 8fda69a3dd refactor mac::ue cc_used_buffers_map class to use new circular_map container 2021-04-02 11:41:08 +01:00
Pedro Alvarez 696de22a28 Change default maximum number of KOs to 100 2021-04-01 13:21:43 +01:00
Pedro Alvarez b2b7d8f617 Set rlf_timer timeout once. Make activity timer expiry also stops rlf_timer 2021-04-01 13:21:43 +01:00
Pedro Alvarez e1a852d4b8 Split split RLF timer and Inactivity timer 2021-04-01 13:21:43 +01:00
Pedro Alvarez 47135cb75b Changed counting of KOs to RRC 2021-04-01 13:21:43 +01:00
Pedro Alvarez 8194b5ec73 Added check for consequetive KOs in MAC. Change set_activity_user to pass activity and max KOs to RRC and trigger RLF timeout. 2021-04-01 13:21:43 +01:00
dr 968c261bec Reordered lock to avoid deadlock in mac pcap thread 2021-04-01 10:58:56 +01:00
Francisco ec72b310d7 fix mme ue s1ap id initialization 2021-04-01 10:24:34 +01:00
Francisco 23ae9967cf replaced present+value for optional field in s1ap mme_ue_s1ap_id context field 2021-04-01 10:24:34 +01:00
Francisco b8f220258d s1ap - extend s1ap unit test to verify result of passing an invalid mme s1ap ue id 2021-04-01 10:24:34 +01:00
Francisco c3482b45e1 s1ap - handle erroneous enb/mme s1ap ue id in received s1ap messages from the MME 2021-04-01 10:24:34 +01:00
Francisco cc369aca1f sched - handle the case when the CRC is missing and max retx is reached 2021-03-31 20:52:02 +01:00
Francisco ced757a11b adt - add optional construct that closely emulates std::optional<T> 2021-03-31 19:14:11 +01:00
faluco 67530687e9 Restore RRC release result variable after logging the event. 2021-03-31 19:37:49 +02:00
faluco 54fab314c0 Enhance RRC eNB events:
- Implement a common event "log_rrc" for all RRC events and discriminate by procedure using an enum.
- Log events for connection, reestablishment, reconfig, reject and release.
- Log the corresponding ASN1 message used by each procedure.
- Redefine the JSON object for this event to match the new structure.

Fixed a compilation error detected by the static analyzer in gcc9.3 where bounded_vector::data() was using taking the address of the internal buffer which confused it, prefer to use the data method of std::array.
2021-03-31 19:37:49 +02:00
Francisco d4a223b5b1 s1ap unit test - add correct cause to erab modify response when erab-id is not recognized 2021-03-31 13:31:07 +01:00
Francisco a68c50a282 s1ap - extend s1ap unit test to setup a full ue connection and modify bearer 2021-03-31 13:31:07 +01:00
Francisco 90bba3b85e s1ap - set s1 handover cause as s1 intra system handover triggered 2021-03-31 13:31:07 +01:00
Pedro Alvarez 8c7aed1f81 Added handling of MSG3 timout exipiry in activity_timer_expired(). Avoid notifying S1AP in that case. 2021-03-31 11:51:26 +01:00
Pedro Alvarez 37699f2215 Send radio connection with UE lost if max retx are reached 2021-03-31 11:51:26 +01:00
Francisco d571d26b0a disable blocking queue in enb::mac when mac::stop() is called. Ignore PRACHs after stop() is called 2021-03-30 18:09:41 +01:00
Andre Puschmann d135ae4d29 proc_bsr: initial BSR procedure for NR
* refactor some common methods to mac_common.cc
* add common mux_base class
* move UL PDU generation to mux class
* add logical channel registration to MAC, MUX, BSR
* add initial proc BSR
* add basic MAC NR test
* rework MAC interfaces
2021-03-30 13:46:12 +02:00
Francisco d04a19f8bc refactor - increase code reuse in adt files 2021-03-29 22:11:25 +01:00
Francisco 5eccfad05b gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate 2021-03-29 10:20:55 +01:00
Francisco 82b34f3b3f gtpu refactor - fix gtpu logging formatting 2021-03-29 10:20:55 +01:00
Francisco 44440cf562 gtpu refactor - use of raii to automatic path switch and teid removal in forwarding. Clean up of gtpu_tunnel_manager methods. 2021-03-29 10:20:55 +01:00
Francisco ab2bd9a2d2 gtpu refactor - handle dl path state activation internally in gtpu tunnel manager class 2021-03-29 10:20:55 +01:00
Francisco cfd24f6a0e gtpu - leverage byte_buffer_pool to store buffered sdus in gtpu 2021-03-29 10:20:55 +01:00
Francisco bdc5094e17 gtpu - added unit test for gtpu_tunnel_manager class 2021-03-29 10:20:55 +01:00
Francisco c201eb7708 use of more space efficient sorted vector structure for lcid tunnels of a rnti 2021-03-29 10:20:55 +01:00
Francisco eba0edea4a creation of static id obj pool class. Application of this class to gtpu tunnels container to avoid allocations 2021-03-29 10:20:55 +01:00
Francisco 3cf5e85b20 create separate class to handle gtpu tunnel creation/deletion/search 2021-03-29 10:20:55 +01:00
Francisco 099a533573 bugfix - verify that TEID exists before trying to access it 2021-03-29 10:20:55 +01:00
Francisco 60cd7e6cfe adt - improved concurrent fixed memory pool policy to send buffers from thread cache to central cache 2021-03-27 12:21:08 +00:00
Francisco eb38ff43ab fixed size buffer pool bugfix - deleted threads now return the cached memory blocks to the pool shared memory block container 2021-03-27 12:21:08 +00:00
Francisco be771e5c23 performance - use of new concurrent fixed size pool for byte_buffer pool 2021-03-27 12:21:08 +00:00
Francisco e1523692c2 implementation of concurrent fixed size pool that leverages thread local caches to avoid mutexing 2021-03-27 12:21:08 +00:00
Xavier Arteaga e200a3359e SRSUE: check RNTI prior to UL encoding 2021-03-27 10:09:53 +01:00