* Reorder DCI FORMAT enum
* Fix endianness issue
* Fix return codes in phy_ue_db
* Log members should be destructed after the layers.
* Add JSON metrics and Events. Add Alarm log channel. Simplify MAC metrics struct.
* Restore metrics_stdout change
this fixes the issue where PHY and MAC threads, and the processing
of events therein, are drifting apart too much.
This patch effectivly enforces a strong wait on the PHY if the
stack thread is too slow in processing its tasks.
For RF hardware the default is still 8192 TTIs, for ZMQ 1 TTI is used.
if the eNB stack startup fails, for example due to binding
the wrong GTPU socket or similar issues, the eNB should stop
and log a message. Previously the return values for
S1AP and GTPU init were not even evaluated.
* Remove boost string
* Make sure that int/enc algos can be specified in capital case in the MME.
* Use == instead of compare for comparing strings with const chars
Co-authored-by: Pedro Alvarez <pedro.alvarez@softwareradiosystems.com>
this commit removes the getsystime() call from the activity handling.
it uses a single timer per UE to handle its activity.
three different timer values exist. one for the Msg3 reception. This
is like before and is quite low to quickly remove fake UEs from the
RRC. The second is a generic value (set to 1s for now) that covers
the entire UE configuration phase where multiple messages are sent
back and forth until the UE is fully set up and the default
bearer runs. From there on, the UE inactivity timer is used which
may be much bigger than 1s.
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
- this waits with initializing the radio until after the configs have been read
- in case the config files contain any mistake, the enb shuts down gracefully
- this remove RF calibration parameters that were an extra
section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
device args in the normal rf config section