Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#20] Initial version of RIC API Gateway #31

Merged
merged 17 commits into from
Dec 10, 2019

Conversation

woojoong88
Copy link
Contributor

@woojoong88 woojoong88 commented Dec 10, 2019

This is the initial version of RIC API Gateway (v0.1.0). This gateway is running in between RIC Southbound and all other applications (e.g., Redis DB, ONOS, XOS, and all other applications). Like switch, this gateway receives API messages and transmits the messages. Here is the feature in the first version.

  • This gateway is now running on Apache Celix framework which is one of OSGi frameworks. Due to this framework, we can dynamically stop, start, update, install, and uninstall all bundles. For example, we need to connect a new third party application with the gateway. Without Celix framework, we should shutdown this gateway, build a new code, and run this gateway again. This leads to a service disruption time which will be critical. With Celix framework, we don't need to shutdown everything. Just we build a new code to communicate with the new third party application and install in on Celix framework with CLI.
  • It only has CellConfigReport processing logic.
  • In this gateway, there are three gateway bundles, (i) Gateway core bundle (GWCore), (ii) Southbound bundle (SBBundle), and (iii) RedisBundle. GWCore is the core bundle to run this gateway, which controls all bundles.
  • It supports remote access through telnet (telnet port 6666).

Future work

  • Expand more processing logic for each control message from Southbound.
  • Implement match-action table on GWCore so that we can multiplex a single control message from any application to the other applications according to rules.
  • Develop Sample bundles for other guys.
  • Develop XOS and ONOS bundles to communicate with XOS and ONOS, respectively.
  • Develop a bundle to set match-action rules through REST or gRPC.

@woojoong88 woojoong88 changed the title Initial version of RIC API Gateway [#20] Initial version of RIC API Gateway Dec 10, 2019
@woojoong88
Copy link
Contributor Author

I realized that there is a memory leaking problem in RedisBundle. I fixed it at the last commit.

@shadansari shadansari merged commit 0e9f1b8 into OpenNetworkingFoundation:master Dec 10, 2019
@woojoong88 woojoong88 deleted the ric-api-gw branch December 11, 2019 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants