the SimuLTE team is glad to announce that support to X2 communications is finally available for SimuLTE!
We implemented a general model to enable the exchange of any type of information among eNodeBs. The model allows users to easily add new type of messages and modules that exploit X2 interface.
The core functionalities are implemented by:
- X2 application modules that provide peering communication with another eNodeB;
- an X2 manager, acting as a bridge between the LTE NIC and the X2 application modules.
Users can define their own modules and connect them to the X2 Manager, which is responsible for delivering messages to the peering eNodeB. X2 messages are composed by a list of X2 Information Elements and new messages can be easily defined by extending the base class.
We also provide an example module: the LteCompManager. It implements a simple CoMP Coordinated Scheduling algorithm where eNodeBs exchange scheduling information through the X2 interface. You can use it as a reference to understand how to develop your own modules.
For further information, see the readme file included in the x2 simulation folder, where you can find some test scenarios.
The eNodeB module has been improved, adding the following modules:
- a vector of PPP interfaces for X2 communications;
- a network layer, connected to all available interfaces (new NIC could be added, e.g. WiFi?);
- TCP and UDP transport layers, so as it would be possible to run TCP/UDP applications inside the eNodeB;
- SCTP transport layer for X2 communication;
- a vector of LteX2App modules connected to the SCTP layer and to the LTE NIC;
- a LteNicEnbX2, which extends the LteNicEnb module by adding the LteX2Manager module (and the LteCompManager module).
We would like to encourage you to provide us feedback and suggestions.
If you have any questions, do not hesitate to contact us!
The SimuLTE authors